2023科學計算實戰(zhàn)手冊_第1頁
2023科學計算實戰(zhàn)手冊_第2頁
2023科學計算實戰(zhàn)手冊_第3頁
2023科學計算實戰(zhàn)手冊_第4頁
2023科學計算實戰(zhàn)手冊_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

中國科學計算實戰(zhàn)手冊 趨勢篇中國科學計算實戰(zhàn)手冊 趨勢篇1中國科學計算實戰(zhàn)手冊趨勢篇04應用優(yōu)化實戰(zhàn)篇08 應用實踐中的科學計算平臺CAE仿真分析的科學計算平臺?CAE仿真分析技術11 ?面向仿真分析軟件的英特爾優(yōu)化Contents目錄Contents目錄?分子動力學技術19 面向英特爾?

應用于生命科學的科學計算平臺?生命科學與高性能的科學計算平臺28?面向英特爾?架構平臺的生命科學軟件優(yōu)化面向英特爾?至強?CPUMax系列處理器的配置和調優(yōu)?全局優(yōu)化配置?“僅HBM”與“HBM緩存”?“HBMFlt”基準測試實戰(zhàn)篇40 Linpack基準性能測試英特爾?發(fā)行版?Linpack基準性能測試英特爾?發(fā)行版簡介Linpack英特爾?發(fā)行版Linpack英特爾?發(fā)行版?Linpack英特爾?發(fā)行版對異構計算平臺的支持?提升運行性能面向英特爾?至強?CPUMax

面向英特爾?HPCG基準測試?面向英特爾?HPCG基準測試簡介?使用面向英特爾?HPCG基準測試45?選擇最佳參數(shù)配置和ProblemSizes?面向英特爾?至強?CPUMax系列處理器的運行面向英特爾?Stream基準測試46?編譯前準備?Stream基準測試?Stream基準測試47?面向英特爾?至強?CPUMax系列處理器的運行產品技術篇趨勢篇 中國科學計算實戰(zhàn)手2中國科學計算實戰(zhàn)手冊350 第四代英特爾?至強趨勢篇 中國科學計算實戰(zhàn)手2中國科學計算實戰(zhàn)手冊3英特爾?至強?CPUMax系列英特爾?512(英特爾?英特爾?oneAPI工具套件英特爾?MPI庫英特爾?oneAPI數(shù)學內核庫(oneMKL)

的英特爾?編譯器英特爾?oneAPIDPC++/C++編譯器英特爾?Fortran編譯器英特爾?Pro?ler英特爾?aeAnalyerandCollecoI)中國科學計算實戰(zhàn)手冊今天,在科學研究和技術實踐各領域,以計算機和智能為代表的信息技術已成為加速創(chuàng)新的關鍵力量,作為現(xiàn)代科技三大支柱之一的科學計算,更是在其中發(fā)揮著無可替代的作用。尤其是一些領域,隨著科學研究的深入,需要處理的數(shù)據(jù)量越來越大,算法也日益復雜,需要計算機系統(tǒng)大幅提高性能、加快處理速度來予以支撐。例如,在流體力學領域,一些仿真模擬場景中所需處理的網格動輒數(shù)以億計;在氣象預測領域,氣象機構每年從衛(wèi)星、PB級別。在其它如天文、生命科學等領域同樣如此,大規(guī)模方程計算和海量數(shù)據(jù)處理,雖然為探索未知開辟著新路徑,但其計算過程就猶如黑洞一般會大幅榨取計算資源,讓運算變得異常困難,也帶來了巨大的成本。低物理原型/IO等高效率和運行中的高穩(wěn)定性。2023625日,英特爾宣布,超級計算機在阿貢國家實驗室完成部署,這成為全球首臺2100/秒)1。圖1-1-1Aurora超級計算機基于更強勁的性能和進一步優(yōu)化的計算架構,科學計算平臺,尤其是其中的佼佼者們正在千行百業(yè)中承擔起越來越重要的角色。

基因測序等工程探索,科學計算平臺都正幫助人們加速科學發(fā)現(xiàn)、優(yōu)化業(yè)務流程,進而創(chuàng)造更美好的生活。?制造領域:由科學計算平臺提供支持的計算機輔助工程(ComputerAidedEngineering,CAE)正廣泛用于產品設力學(ComputationalFluidDynamics,CFD)和有限元分析(FiniteElementAnalysis,F(xiàn)EA)軟件,能更好地模擬碰撞、噪聲、振動、硬度和應力等,可加速結構分析,進而在降低研發(fā)制造成本的同時,為用戶提供更優(yōu)質的產品。?生命科學:科學計算平臺也被用于基因組分析、冷凍電鏡數(shù)據(jù)分析等生命科學領域,助力健康醫(yī)療、制藥產業(yè)的技術創(chuàng)新和應用。例如在制藥行業(yè),研究者可以借助科學計算平臺與分子動力學模擬軟件,來設計藥物和模擬測試藥物的有效性,而這不僅可縮短新藥研發(fā)過程,也能夠提高新藥的安全性。?氣象預測:科學計算平臺能通過對浩如煙海的氣象數(shù)據(jù)展開處理和分析,來提升氣象預測的精準度,進而幫助人們更有效應對災害天氣,如高溫炎熱、颶風等,也能對農業(yè)、風力發(fā)電等高度依賴氣象預測領域的生產經營提供支持。除此之外,科學計算平臺同樣也在太空探索、金融風險防范以及石油勘探等眾多領域發(fā)揮巨大作用,此處不再一一贅述。而隨著科學計算在千行百業(yè)重大創(chuàng)新的加速作用不斷展現(xiàn),其市場規(guī)模也得以高速擴展。有研究表明,2022年全球科學計算市場規(guī)模已3602027499億美元,年復(CompoundAnnualGrowth6.7%2隨著科學計算應用范圍的不斷擴大,多樣化的應用實踐場景也對其平臺性能提出了更高要求,需其通過架構創(chuàng)新、軟件優(yōu)化來應對更大規(guī)模計算帶來的效率、成本等挑戰(zhàn)。尤其隨著人工智能(Arti?cialIntelligence,AI)(BigData)以及云計算IT技術不斷被引入科學計算應用場景,一直以來矢志于在科學計算領域發(fā)揮“核芯”作用的英特爾,除了提供英特爾?至強?可擴展處理器系列、英特爾?至強?CPUMax系列等先進算力平臺產品外,也在持續(xù)通過英特爾?oneAPI、英特爾?512等軟件和技術,為科學計算平臺的優(yōu)化和性能增強提供更多助力。在下一篇“應用優(yōu)化實戰(zhàn)篇”中,我們將就面向英特爾?CAE仿真分析、分子動力學以及生命科學相關軟件的優(yōu)化編譯和運行,進行細節(jié)剖析和示例參考。趨勢篇 中國科學計算實戰(zhàn)手趨勢篇 中國科學計算實戰(zhàn)手404趨勢篇50512marketsandmarkets報告《High-performanceComputing(HPCMarketbyCompnent,ComputationParallelDistributedcomputingandExascaleComputing),Industry,Deployment,ServerPriceBand,Verticals&Region2027》:https://www.505趨勢篇 中國科學計算實戰(zhàn)手冊 中國科學計算實戰(zhàn)手冊6 趨勢篇 中國科學計算實戰(zhàn)手冊 中國科學計算實戰(zhàn)手冊6 應用優(yōu)化實戰(zhàn)篇06 中國科學計算實戰(zhàn)手冊

應用優(yōu)化實戰(zhàn)篇數(shù)據(jù)分析和模型優(yōu)化等工作。與普通的計算場景不同,科學計算平臺在實踐應用中,對平臺的基礎算力、內存帶寬、并行計算能力以及面向不同應用的專門加速庫都有著較高要求。因此在各個應用實踐場景中,使用者在選擇適合的硬件基礎設施之外,也有必要針對場景的需求以及硬件基礎設施的特性,對科學計算平臺進行優(yōu)化與增強。使用者部署在科學計算平臺上的各類應用,如OpenFOAMRelion(從Github網站或Git本地倉庫再進行編譯的方式進行部署和運行,?編譯器執(zhí)行編譯過程同樣也是重要的優(yōu)化途徑)。此外,幾乎所有的科學計算應用都會采用多節(jié)點部署和并行計算的方式來提升計算效率,縮短處理時長,因此對多節(jié)點并行計算方式的優(yōu)化也是使用者應當關注的重點。在實戰(zhàn)中,使用者通常需要關注以下方面:?計算速度:這一方面取決于所選擇核心算力芯片的內核數(shù)量,主頻、微架構設計以及末級緩存容量等,另一方面也應考慮芯片的指令集架構(InstructionSetArchitecture,ISA),例如對SIMD(SingleInstructionMultipleData,單指令多數(shù)據(jù)(SingleInstructionMultipleData,SIMD)的支持,這對于英特爾?睿頻加速技術(Intel?TurboBoost英特爾?超線程技術?等基于英特爾?

?內存性能:無論是流體動力學,還是基因組分析,科學計算應用所面臨的一個共性問題是需要處理和傳遞的數(shù)據(jù)集和模型變得越來越大。例如在流體動力學中,計算任務面臨的網格數(shù)量可能高達百億。這一情況下,內存帶寬性能也成為制約科學計算效率的重要因素。因此,除了選擇支持DDR4/DDR5高性能內存產品的平臺,引入高帶寬內存(HighBandwidthMemory,HBM)也是一項重要選擇。?并行計算:執(zhí)行并行計算以及多節(jié)點間的并行計算是提升科學計算效能的重要途徑。使用者一方面可以借助非一致性內存訪問(NonUniformMemoryAccess,NUMA)等技術來實現(xiàn)多路并行算力優(yōu)化;另一方面,英特爾?MPI庫等的引入,也可以使復雜的科學計算應用程序能夠在基于英特爾?架構的處理器及兼容相關架構的處理器的科學計算集群上運行得更好。?加速庫:科學計算任務中涉及大量或簡單、或復雜的數(shù)學、物理以及其它計算,在編譯時引入專門的加速庫能夠有效提升計算效率,例如快速傅立葉變換(FastestFourierTransform,F(xiàn)FT)計算在分子動力學,生命科學相關計算任務中有著非常頻繁的使用。使用者可通過引入英特爾?oneAPI數(shù)學內核庫(英特爾?oneMKL)等加速庫,不僅為科學計算任務提供基礎線性代數(shù)子程序庫(BasicLinearAlgebraSubprograms,BLAS)來加速線性代數(shù)計算的效率,也為快速傅立葉變換等計算過程提供助力。應用優(yōu)化實戰(zhàn)篇 中國科學計算實戰(zhàn)手88應用優(yōu)化實戰(zhàn)篇 中國科學計算實戰(zhàn)手88908應用實踐中的科學計算平臺09中國科學計算實戰(zhàn)手冊

應用優(yōu)化實戰(zhàn)篇CAE仿真分析技術隨著科技的不斷進步,各行業(yè)對于工程與產品設計的要求也精益求精。傳統(tǒng)的設計方法已經不能滿足全部需求,計算機輔助工程(CAE)的出現(xiàn)解決了這個問題。CAE一般指用計算機系統(tǒng)對工程或產品進行各類分析,對其工作狀態(tài)和運行模式進行模擬,及早發(fā)現(xiàn)設計缺陷,并驗證功能和性能的可用性和可靠性。CAE軟以新的設計、驗證方法來大幅提高工程與產品設計的效率和準確CAE、ABAQUS等。CAE軟件開展的仿真分析可分為分析建模、前處FEACFD其中:?有限元分析(FEA)軟件:可以幫助企業(yè)減少在產品或者流程的設計、優(yōu)化或控制環(huán)節(jié)中原型測試的原型數(shù)量和測試次數(shù)。IFEAIFEA(隱式有限元分析)FEA(有限元分析)顯式有限元分析)LS-Dyna、ANSYSMechanical、……CAE軟件CFD(計算流體動力學)ANSYSFluent、OpenFOAM、……MBD(多體動力學)……圖2-1-1不同分類的CAE應用軟件

在面向CAE仿真分析的科學計算平臺構建上有著豐富經驗的英特爾,一直以來都通過其強勁的硬件產品性能和豐富全面的軟件棧和加速庫,為CAE仿真分析領域的軟件提供強勁的支持和豐富的優(yōu)化措施。下文中將就OpenFOAM、AnsysFluent等常見CAE仿真分析軟件在基于英特爾?架構的平臺上的優(yōu)化編譯和運行展開介紹。面向仿真分析軟件的英特爾優(yōu)化面向OpenFOAM的優(yōu)化AndManipulation)CFD解決方案的自定義數(shù)據(jù)(Solver)CFD軟件開發(fā)工具套件(devkit),并包含了由這devkitCFD應用程序。例如在一些版本中,使用者可方便地在其中描述偏微分方程的有限體積離散化,支持多面體網格,并支持大型并行計算等。這一系列的應用程序具有可便捷地進行定制與擴展的特點,方便了工業(yè)企業(yè)、學術研究和政府機構在大量相關領域中利用OpenFOAM開展高效的CFD仿真3。?計算流體動力學(CFD)軟件:CFD是流體力學的一個分支,是在各種工程學科中對穩(wěn)定或非穩(wěn)定流體的流動進行建模的實踐。它通過計算機模擬獲得流體在特定條件下的數(shù)據(jù),實現(xiàn)了用計算機系統(tǒng)代替試驗裝置來完成“計算試驗”,為工程技術人員提供了實際工況模擬仿真的操作平臺。CFD工作負載往往涉及具有數(shù)百萬乃至上億個單元的復雜非結構化網格,對內存帶寬性能更為敏感。

圖2-2-1使用OpenFOAM開展高效的CFD仿真分析工作OpenFOAM的工作流程一般可分為問題定義與規(guī)劃、創(chuàng)建計算網格、選擇合理的模型、求解器與參數(shù)(例如邊界條件、迭代次數(shù)等)以及對各類參數(shù)進行配置,啟動求解器進行迭代計算以及后處理、結果分析等步驟。應用優(yōu)化實戰(zhàn)篇 中國科學計算實戰(zhàn)手應用優(yōu)化實戰(zhàn)篇 中國科學計算實戰(zhàn)手1010應用于科學計算平臺3OpenFOAM由OpenFOAM基金會根據(jù)GNU通用公共許可條款作為開源代碼分發(fā)。OpenFOAM由OpenFOAM創(chuàng)始人、CFDDirect11OpenFOAMHenryWeller領導的多個貢獻者開發(fā)。OpenFOAM/download/下載,UbuntuLinuxLinuxWindowsmacOSOpenFOAM11應用優(yōu)化實戰(zhàn)篇

中國科學計算實戰(zhàn)手冊 中國科學計算實戰(zhàn)手

應用優(yōu)化實戰(zhàn)篇在實踐中,由于計算網格動輒百萬起乃至上億,OpenFOAM的工作負載通常需要應對海量的計算任務,因此,OpenFOAM通常會使用拆分算域法來執(zhí)行并行計算,即,將計算域分解成一系列可單獨執(zhí)行的離散部分,并使用不同的處理器內核對其分別開展計算。同時,海量的計算網格也對計算平臺的內存帶寬等性能有著較高要求?;谏鲜龉ぷ魈匦?,OpenFOAM效能的發(fā)揮,一方面需要使用者為之提供有充分軟硬件支持力(算力、內存帶寬、開發(fā)生態(tài)等)的科學計算平臺,另一方面也需要根據(jù)計算設施、應用場景的差別進行有針對性的優(yōu)化。更強的科學計算平臺支撐由英特爾?至強?可擴展處理器系列等為核心構建的科學計算平臺?至強?60個內核,單核性能也比上一代產品更優(yōu)。同時,該處理器也在以下方OpenFOAM工作負載提供助力:

一些測量表明,目前大多數(shù)的OpenFOAM作業(yè)都不同程度受到了內存帶寬限制的困擾。因此,在為面向OpenFOAM的科學計算平臺提供第四代英特爾?至強?可擴展處理器、英特爾?至強?CPUMax?開展有針對性的編譯優(yōu)化。在實戰(zhàn)中,使用者可以參考以下代碼示例來逐步開展編譯優(yōu)化:#步驟1、gmp-5.1.2、mpfr-3.1.2、metis-5.1.0,以上軟件均可根據(jù)實際情況選擇更新版本)#步驟2矢量寄存器和單指令多數(shù)據(jù)(SIMD)硬件指令集是提升CPU并行處理效能的基本方法之一,因此為了更好利用算法/代碼中

3創(chuàng)建安裝文件,并在進行編譯之前獲取該文件的源代碼,代碼示例如下:4構建第三方軟件,包括使用英特爾?編譯器構建gmp:

gmp-5.1.2mpfr-3.1.2CGAL,使用者還需要gmp-5.1.2mpfr-3.1.2庫,它們是在以下位置創(chuàng)建的:CGALlib64文件夾下搜索的,因此使用liblib64CGAL庫。以下是代碼示例:提供了對DDR5內存的支持,提供的帶寬和速度與上一代DDR4相比提高多達1.5倍,速率達到4,800MT/s;

的數(shù)據(jù)并行性,優(yōu)化方案也加入了對英特爾?高級矢量擴展512(Intel?AdvancedVectorExtensions512,英特爾?512)

#步驟580PCIe5.0通道,PCIe5.0I/O帶寬是上一代PCIe4.0的兩倍;通過英特爾?超級通道互聯(lián)英特爾?UPI)2.0提高多路帶寬(高達16GT/s);CXL1.1CPU和加速器之間創(chuàng)建統(tǒng)一且一致的內存空間,加速工作負載所需的數(shù)據(jù)吞吐。值得一提的是,OpenFOAM工作負載得益于全新的英特爾?至強?CPUMax系列對高帶寬內存(HBM)的支持,性能上能夠更上一層樓。作為一種采用3D堆疊技術的全新內存產品,HBM能為OpenFOAM工作負載提供更高的內存帶寬,大幅提升其數(shù)據(jù)吞吐性能。?oneAPI工具套件這一基于新一代標準的英特爾?軟件開發(fā)工具,通過一個簡化的、跨體系結構的編程模型來幫助使用者能簡化相OpenFOAM這樣的開源應用在英特爾?架構上有著針對性的編譯優(yōu)化12OpenAM12

的支持。英特爾?512指令集支持矢量級并行計算模式,能讓8?至強??512。在使用英特爾?OpenFOAM時,需要對相關參數(shù)進行設置(mpi)64位系統(tǒng)進行編譯時,可參考以下代碼示例:

使用英特爾?編譯器構建mpfr:使用英特爾?編譯器構建CGAL:CGAL的同時,使用者還需要構建boost庫。CGALmake?lebootstap.sh“bjam”“b2”,聲明使用英特爾工具集構建庫,同時添加英特爾?-xCORE的聲明。以下是代碼示例:

使用英特爾?編譯器構建Scotch庫,代碼示例如下:#步驟6用英特爾?編譯器構建metis-5.1.0庫1313應用優(yōu)化實戰(zhàn)篇

中國科學計算實戰(zhàn)手冊 中國科學計算實戰(zhàn)手

應用優(yōu)化實戰(zhàn)篇#步驟7使用英特爾?編譯器構建OpenFOAM-4.1.xNTELMPI文件中提供正確的IntelMPI路徑。將include64和lib64includelib,代碼示例如下:#步驟8編譯完成后,用戶可以檢查output.log,并運行檢查其是否正常工作,代碼示例如下:AnsysFluent作為一款功能強大的計算流體動力學工具,AnsysFluent的應用范圍涵蓋了各種物理建模功能,可對工業(yè)應用中包括飛機機翼上無塵室設計以及污水處理廠等具體應用在內的流動、湍流、熱交換和各類反應進行建模。同時,也可以向使用者提供現(xiàn)代化用戶圖2-2-2使用AnsysFluent開展高效能的CFD仿真分析工作輕松應對復雜工作任務的背后,是巨大的求解計算量,一些復雜的模擬可能需要數(shù)小時甚至數(shù)天才能完成。為了應對這一挑戰(zhàn),AnsysFluent需要引入科學計算平臺來承載壓力,而一直以來,AnsysFluent也以其高效的科學計算平臺擴展性而著稱,大規(guī)模Fluent在多個計算處理芯片(CPU、GPU等)AnsysFluent工作負載獲得更優(yōu)的處理效能,其使用者也在不斷尋求新的優(yōu)化方案來提升其性能表現(xiàn)。

由英特爾提供的一系列硬件指令集和軟件,包括英特爾?AVX-512、英特爾?oneMKL,能夠對AnsysFluent任務中的密集型計算任務提供優(yōu)化,進而提升整體仿真分析的效率。這些硬件指令集和軟件,在最新幾代英特爾?至強?可擴展處理器平臺上都獲得了集成。用戶可以在此基礎上,結合英特爾?架構處理器的多核優(yōu)勢對AnsysFluent的求解器進行優(yōu)化。內存以及其它集成技術,全新一代的英特爾?至強?CPUMaxAnsysFluent等需要大量內存參與的工作負載有著顯著的性能加成。這一處理器平臺的內核數(shù)量高達56個,并使用英特爾?嵌入式多芯片互連橋接(Intel?EmbeddedMulti-DieInterconnectBridge,英特爾?EMIB)技術相互連接。圖2-2-3英特爾?至強?CPUMax系列處理器64GBHBM2e內存(為1GBHBM容量)112.5MB的共享8DDR5-4800內存通道。同時,內置的平臺增強和硬件優(yōu)化也有助于更大限度地提高HBM子系統(tǒng)的性能,包括:重構的硬件預加載算法;增強的非核心頻率縮放技術;面向本地內存請求的內核直連技術;跨套接字一致性的增強型嗅探過濾器。與OpenFOAM一樣,AnsysFluent的工作流程大致可分為建立模型(例如渦流、粒子流模型)、定義參數(shù)特性、定義邊界條件,啟動求解器進行迭代計算以及后處理、結果分析等步驟。在AnsysFluent工作任務中,會用到以下組件:?AMG求解器:AnsysFluent引入了代數(shù)多重網格(Algebraicmultigrid,AMG)算法來驅動處理器的多個內核進行并行工作以提高效率。AMG求解器可以使用一系列離散函數(shù)、模型、變量和方程來求解稀疏方程組。AMG求解器在求解速度、穩(wěn)健性和內存占用方面都非常高效;

?平滑器(Smoother):一種可在多重網格級別之間轉換,為整個方程組的中特定部分提供近似解,并顯露重要特征的算法,AMG求解器的關鍵組成部分。AnsysFluent原生的平滑器ILU平滑器。ILU平滑器具有間接內存訪問、高內存帶寬需求和循環(huán)攜帶依賴性等特性,其很難從矢量化計算中獲得效率提升,為了解決這一問題,英特爾為Fluent提供了經優(yōu)化的版本(使用者通過設定platform=intel選項來選擇),從而使之能更大程度獲得性能增強。同時,在結合英特爾?oneMKL等技術后,用戶可以將ILU平滑器優(yōu)化為英特爾?oneMKLIDU平滑器來有效提升AnsysFluent的工作性能。英特爾?oneMKL是英特爾?oneAPI基礎工具包的一部分,其專門為加速解決大型計算問題所涉及的數(shù)學運算而構建,為稀疏或稠密線性代數(shù)提供了一系列高度優(yōu)化的并行例程。除一直延續(xù)的性能優(yōu)勢外,英特爾?oneMKLSYCL接口以實現(xiàn)在異構平臺的運用。同時,其關鍵功能領域也包括了BLAS等線性代數(shù)例程、隨機數(shù)生成器、矢量數(shù)學以及快速傅立葉變換(FFT)等,這些都可以對Fluent的關鍵性能實現(xiàn)有效增強。新的基于英特爾?平滑器是基于英特爾?AVX-512Fluent15%4CFD領域中常見的稀疏矩陣求解方程時,新的平滑器可通過算法為所涉及的部分方程組提供近似解。這一解決方案可為計算整體效率的提升提供助力。在AnsysFluent或雙精度(double-precision)來執(zhí)行英特爾?oneMKLIDU平滑器,因此使用者需要先確定引入哪個庫:在上述每個接口庫中,都包含作為成員的接口例程“ilu”。使用者可按照以下代碼示例對軟件進行修改安裝。

#步驟1在安裝時,找到與Ansys產品綁定的英特爾?oneMKL庫:#步驟2在英特爾?MKL下新建一個子目錄以存儲英特爾?oneMKL庫,2020.0.166:#步驟3將英特爾?oneMKL2020黃金版庫復制到Fluent安裝目錄中:4Fluent可執(zhí)行包裝腳本,對引用的英特爾?oneMKL版本進行更改:5修改腳本中的以下內容:修改至#步驟6最后在工作目錄中,修改輸入命令文件或.jou文件,用來調用ILU接口例程作為用戶定義的平滑器。在執(zhí)行求解步驟之前,將以下行添加到輸入中:另外,如果libmklsmoother_sp.so的副本已存于本地目錄中,使用者可添加一個完整的路徑來引用Fluent安裝:(注:上述命令都引用了單精度(_sp.so)版本,使用者使用雙精度(_dp.so))15144數(shù)據(jù)源自:Ansys,March28,2022.2021AnnualReport./static-?les/d3e39ada-4e58-4dba-87f7-93e41e?55e4.1514應用優(yōu)化實戰(zhàn)篇

中國科學計算實戰(zhàn)手冊 中國科學計算實戰(zhàn)手

應用優(yōu)化實戰(zhàn)篇為了驗證Fluent英特爾優(yōu)化版本(-platform=Intel)、英特爾?oneMKLIDUAnsysFluent的性能提升,可以采用以下方案對優(yōu)化方案進行測試,其中基準組采用了AnsysFluent?oneMKL稀疏?軟件版本1:使用Fluent平滑器的Fluent基礎版本;?2:使用英特爾?oneMKLIDUFluent基礎版本;

從表1和表2所示的測試結果可以看出,無論是在單節(jié)點配置還是在八節(jié)點配置下,英特爾?oneMKL稀疏IDU平滑器、面向英特爾架構優(yōu)化的Fluent版本(或者兩者協(xié)同)大部分情況下都能帶來性能的提升。在單節(jié)點配置中,最大性能提升為13%(combustor_12m用例),而在八節(jié)點配置中,最大性能提升1%(ombuor_12m用例)。這些結果也說明,通常情況下英特爾?oneMKLIDU平滑器、面向英特爾架構優(yōu)化的Fluent版本兩者帶來的性能收益是互補的。

HBM內存(基于英特爾?至強?CPUMax系列處理器)AnsysFluent的優(yōu)化效果,英特爾也設計了面向三種不同工作負載的測試,并在英特爾?至強?CPUMax系列、第四代英特爾?至強?可擴展處理器以及第三代英特爾?至強?可擴展處理器三種處理器平臺上進行了對比測試。測試中的工作負載包括:?F1_Racecar_140M:一輛方程式賽車周圍的空氣動力學流動模擬,1.4億個單元;

?Open_Racecar_280M:開放式車輪賽車周圍的外部空氣動力學流動模擬,2.8億個單元;?Combustor_71m:流經燃燒器的燃燒模擬,7,100萬個單元。2-2-4所示,通過比較,英特爾?至強?Max系列集成的HBM?至強?CPUMax系列與第四代英特爾?至強?可擴展處理器的性能也顯著優(yōu)于前代第三代英特爾?至強?可擴展處理器。?軟件版本3:使用Fluent平滑器的Fluent英特爾優(yōu)化版本(-platform=Intel);?4:使用英特爾?oneMKLIDUFluent英特爾優(yōu)化版本(-platform=Intel)。

同時,測試在八節(jié)點配置上的成功,也證明英特爾?oneMKL稀疏IDU平滑器、面向英特爾?Fluent版本帶來的性能提升也能進行有效的擴展。

SolverRatinghigheris400SolverRatinghigheris

AnsysFluent2023.1,f1_racecar_140mSingle-Node:IntelXeonPlatinum8280LProcessorAnsysFluentRelativeSolverRatingNormalizedtoFluentBaselineBinarieswithaNativeSmootherCaseSingle-Node:IntelXeonPlatinum8280LProcessorAnsysFluentRelativeSolverRatingNormalizedtoFluentBaselineBinarieswithaNativeSmootherCaseNCoreCountFluentBaselineFluentBaselinePlusIntelMKLSparseLDUSmootherFluentOptimizedBinaries*FluentOptimizedBinaries*PlusIntelMKLSparseLDUSmoothersedan_4m561.001.041.011.04aircraft_wing_14m561.001.021.001.01combustor_12m561.001.051.081.13pump_2m561.001.111.021.11rotor_3m561.001.011.011.01aircraft_wing_2m561.001.001.000.99561.001.051.001.05landing_gear_15m561.001.031.011.031000048

16 32ClusterNodesIntel?Xeon?Platinum8360Yprocessor(3rdGen),36cIntelXeonPlatinum8360Yprocessor(3rdGen),36cIntelXeonPlatinum8480+processor(4thGen),56c

IntelXeonPlatinum8480+processor(4thGen),56c-platform=intelIntelXeonCPUMax9480processor,56c(HBMincachemode)IntelXeonCPUMax9480processor,56c,-platform=intel(HBMincachemode)表1單節(jié)點配置性能對比(歸一化)

45004000SolverRatinghigherisSolverRatinghigherisEight-NodeCluster:Eight-NodeCluster:IntelXeonPlatinum8280LProcessorAnsysFluentRelativeSolverRatingNormalizedtoFluentBaselineBinarieswithaNativeSmootherCaseNCoreCountFluentBaselineFluentBaselinePlusIntelMKLSparseLDUSmootherFluentOptimizedBinaries*FluentOptimizedBinaries*PlusIntelMKLSparseLDUSmoothersedan_4m4481.000.971.031.00aircraft_wing_14m4481.001.011.000.98combustor_12m4481.001.041.121.16pump_2m4481.001.001.031.01rotor_3m4481.000.981.030.99aircraft_wing_2m4481.000.961.010.93exhaust_system_33m4481.001.051.011.05landing_gear_15m4481.001.021.021.02combustor_71m4481.001.131.001.13f1_racecar_140m4481.001.151.011.15open_racecar_280m4481.001.081.011.090

AnsysFluent2023.1,open_racecar_280m48Cluster

16 32IntelXeonPlatinum8360Yprocessor(3rdGen),36cIntelXeonPlatinum8360Yprocessor(3rdGen),36cIntelXeonPlatinum8480+processor(4thGen),56c

IntelXeonPlatinum8480+processor(4thGen),56c-platform=intelIntelXeonCPUMax9480processor,56c(HBMincachemode)IntelXeonCPUMax9480processor,56c,-platform=intel(HBMincachemode)SolverRatinghigherisSolverRatinghigheris800

AnsysFluent2023.1,combustor_71m表2八節(jié)點配置性能對比(歸一化)

600400200048

16 32ClusterNodesIntelXeonPlatinum8360Yprocessor(3rdGen),36cIntelXeonPlatinum8360Yprocessor(3rdGen),36cIntelXeonPlatinum8480+processor(4thGen),56c

IntelXeonPlatinum8480+processor(4thGen),56c-platform=intelIntelXeonCPUMax9480processor,56c(HBMincachemode)IntelXeonCPUMax9480processor,56c,-platform=intel(HBMincachemode)1716圖2-2-4AnsysFluent在三種工作負載下,基于不同英特爾?架構處理器平臺的性能對比1716中國科學計算實戰(zhàn)手冊

應用優(yōu)化實戰(zhàn)篇分子動力學技術分子動力學(MD)是在經典力學(例如牛頓力學)等的框架下,從給定的初始條件和參數(shù)出發(fā),對分子的微觀結構機制、動態(tài)軌跡行為等進行模擬,從而獲得相關數(shù)據(jù)的有效方法。這種模擬既適合于對蛋白、核酸、多糖等生物大分子的研究,也可應用于材料結構、溶液小粒子等結構體系中。由于分子動力學可兼顧更大空間分辨率上的微觀結構信息,以及更精細時間分辨率上的結構深受相關領域研究者的重視,具有廣泛的應用前景。由于這種微觀級別的模擬很難通過人工計算的方式來完成,因此需要在性能強大的科學計算平臺上展開。一般而言,分子動力學模擬的主要步驟包括確定起始構型、選用適當力場和模擬軟件、LAMMPS、NAMD、CP2K等供研究者使用。的硬件基礎設施,并根據(jù)模擬場景與軟件包的特性進行專門的優(yōu)化也是必不可少的步驟。在面向分子動力學的科學計算平臺構建上有著豐富經驗的英特爾,一直以來都通過其不斷迭代更新的處理器平臺和豐富全面的軟件棧和加速庫,為分子動力學模擬領域以及CP2K等常見分子動力學模擬軟件包在基于英特爾?架構的平臺上的優(yōu)化編譯和運行展開介紹。面向英特爾?架構的平臺的分子動力學軟件優(yōu)化面向英特爾?架構平臺的LAMMPS優(yōu)化編譯與運行作為經典的用于分子動力學模擬的開源軟件包,LAMMPS(Large-scaleAtomic/MolecularMassivelyParallelSimulator)MPI和空間區(qū)域分解等方式支持并行模擬。與其它分子動力學軟件相比,LAMMPS可以對分子動力學中的單元粒子、相互作用和積分器等進行抽象并

提供可靈活配置的API?;诖耍琇AMMPS實現(xiàn)了對更多粒子類型和力場的支持,使模擬對象更為廣泛而不再限于某一門類,例如其在材料體系的模擬中具有非常廣泛的應用,同時也對生物分子的模擬有著良好的支持。更多詳細信息,可參閱LAMMPS官方文檔5。LAMMPS的模擬過程無疑需要大量算力予以支持。除了使用并行模式以外,為LAMMPS提供強勁算力的平臺也必不可少,而英特爾?至強?可擴展處理器系列一貫的高水準性能表現(xiàn),堪稱LAMMPS為分子動力學研究提供高水平輸出的最佳拍檔之一。為了讓基于英特爾?LAMMPS在運行時,在保證LAMMPS提供了可在大多數(shù)場景下獲得更佳性能的一系列軟硬件部署、配置方法與建議。本文的方法與建議是基于第四代英特爾?至強?可擴展處理器以及英特爾?至強?CPUMax系列等平臺。第四代英特爾?至強?可擴展處理器基于平衡、高效的架構構建,I/O帶寬,為處理從數(shù)據(jù)中(例AI)和性能需求進行了優(yōu)化,并通過平衡的架構以及多種集成加速和先進的安全功能來幫助用戶將迫切的工作負載安全地放置在從邊緣到云的最佳性能位置上。其中,它增強的基礎性能、更多英特爾?UPI以及英特爾?512LAMMPS的性能提升提供更為顯著的助力。編譯前設置??可擴展處理器平臺上使用LAMMPS可進行以下硬件設置。在BIOS中啟用(Enabled)以下三項設置:?英特爾?睿頻加速技術:這一技術允許處理器在低于當前功率或溫度規(guī)格的情況下自動提高頻率。?英特爾??SNC(Sub-NumaCluster):通過改進遠程處理器訪問,這一技術改進了之前處理器提供的片上集群(COD)選項。同時在操作系統(tǒng)級別,啟用SNC的雙處理器服務器將顯示8個NUMA4個域在同一個處理器上,另外4個可通過UPISNC將獲得更好的性能表現(xiàn)。應用優(yōu)化實戰(zhàn)篇 中國科學計算實戰(zhàn)手應用優(yōu)化實戰(zhàn)篇 中國科學計算實戰(zhàn)手1818應用于分子動力學的科學計算平臺195LAMMPS官網:https:///19應用優(yōu)化實戰(zhàn)篇

中國科學計算實戰(zhàn)手冊 中國科學計算實戰(zhàn)手

應用優(yōu)化實戰(zhàn)篇內存配置/設置:一般而言,由于模擬系統(tǒng)會擴展到多個節(jié)點,因此每個節(jié)點的內存空間可配置得小一點。存儲/磁盤配置/設置:的網絡配置/設置:當使用英特爾?MPI庫(科學計算平臺中常用的并行化庫)在LAMMPS?架構處理器的LAMMPS更佳性能,其本身也需要進行一些配置優(yōu)化。LAMMPS對各類型的仿真模型都有著很好的支持。如圖2-3-1所示,這是其在長距離LAMMPS性能:步驟1:初始化時間整合(Initialtimeintegration)步驟6:長距離靜電計算步驟2:MPI通信(MPICommunications)步驟7:反向MPI通信(ReverseMPIcommunications)3:鄰節(jié)點列表創(chuàng)建(Neighborlistbuild)步驟8:結束時間整合(Finaltime步驟4:非粘結力計算步驟9:數(shù)據(jù)輸入磁盤(Dataoutputtodisk)步驟5:粘結力計算(Bondedforce2-3-1LAMMPS在長距離靜電分子系統(tǒng)中工作流程36(可選)97newtono?設置來關閉;步驟6也可以通過長線程(Long-RangeThread,LRT)模式設置在單獨的超線程上運行;步驟4與步驟5可以采用并行計算模式代碼編譯2120在完成優(yōu)化配置后,使用者可以在面向英特爾?LAMMPS。LAMMPS的官方源代碼包中內置了英特爾軟件包(Intel?Package),但該包在編譯時須與其它包體一起安裝。英特爾?LAMMPS在英特爾?的仿真速度。使用者可按照以下步驟和代碼示例進行編譯。2120

#步驟1LAMMPS并安裝英特爾?軟件包:#步驟2?cpu_intelmpisrc/MAKE/OPTIONS/Make?el_cpu_intelmpi)#步驟3?命令行中添加-sfIntel環(huán)境0$NN性能調整當處理器的每個物理內核都運行一個MPI并行任務時,LAMMPS性能表現(xiàn)良好。當英特爾?超線程技術開啟時,每個OpenMP線程。Newton設置更改為關閉(o?)可提高簡單雙體電位(如lj/cut)/?512的處LRT模式時,它也可進一步助力性能提升。LRT模式是英特爾軟件包中的一個選項,當在支持英特爾?超線PPPM(ParticleParticle-Particle?質點質點網格方法進行長距離靜電處理時,可有效提高性能。其可為每個MPI(make?elcpuintelmpi的默認值)。LRT時,設置環(huán)境變量KMP_AFFINITY=none。LRTOpenMP的線程數(shù)量少一個。然后添加lrt-yes選項:

LAMMPS基準測試LAMMPS內置了涵蓋各種不同仿真模型的基準測試腳本。以下步驟將運行以下基準測試:原子流體、蛋白質、嵌入原子法的銅、耗散粒子動力學、AIREBO力場的聚乙烯、具有三體Terso?模型的硅、具有三體Stilling-Weber勢的硅、使用三體勢的粗粒水以及液晶仿真。運行基準測試前,必須在LAMMPS編譯前安裝以下軟件包:切換到基準測試所在目錄:將PCORES設置為系統(tǒng)中物理內核的數(shù)量,并運行基準測試(最后打印來自報告時間步長/秒的日志文件的摘要性能數(shù)字,越高越好):順序進行下載、編譯和基準測試在一些安裝了標準英特爾?oneAPI工具套件的系統(tǒng)中,以下命令可使系統(tǒng)按步驟進行LAMMPS的下載和編譯,并對其進行基準測試(某些配置可能需要修改):面向英特爾?架構平臺的NAMD優(yōu)化編譯與運行NAMD(NAnoscaleMolecularDynamics)是一種旨在對大型生物分子系統(tǒng)開展高性能模擬的并行分子動力學應用軟件。借助Charm++并行對象,NAMD在典型的仿真環(huán)境中可擴展到數(shù)百個核心(core),500,000個核心。NAMDVMD進行模擬設置和軌AMBER、CHARMMX-PLOR文件相兼容。對并行計算有著更優(yōu)支持的英特爾?512NAMD提升模擬效能的良好選擇。基于英特爾?512NAMD

優(yōu)化能顯著提高其在英特爾?架構處理器平臺上的性能表現(xiàn)。從2.15版本之后,NAMD就包含了該優(yōu)化項,使用者也可以從GitRepository中獲取最新的源代碼并編譯使用。只要模擬過程支持SIMD?512NAMD運行初始化時,其將顯示以下信息表示已基于英特爾?512的優(yōu)化:使用者如需取消優(yōu)化項,可在命令行中添加+notiles選項,或在輸入模擬腳本中添加useAVXTilesno。一般而言,上述編譯、運行的步驟與典型的NAMD運行方法并無二致。但建議使用者選擇最新的NAMD源代碼,同時選擇合NAMDNAMD準備工作在編譯經優(yōu)化的是#步驟1(可選項)TCLTCL在locatelibtcl8.5TCL)此步驟。#步驟2下載Charm++和NAMD:在基礎測試選擇上,使用者可借助NAMD網站上流行的APOA1和STMV基準來進行。這些基準測試的模擬參數(shù),可根據(jù)對性能影響的程度來進行設置。一般地,可使用標準模擬參數(shù),并根據(jù)NAMD開發(fā)者的基準測試建議進行設置,在增加模擬持續(xù)時間的同時減少能量輸出。以下是下載基準測試腳本并執(zhí)行設置的方法。#步驟1為創(chuàng)建一個相關工作目錄。應用優(yōu)化實戰(zhàn)篇

中國科學計算實戰(zhàn)手冊 中國科學計算實戰(zhàn)手

應用優(yōu)化實戰(zhàn)篇#步驟2從NAMD網站下載基準測試腳本并對其進行設置,在實現(xiàn)更長時間運行的同時減少能量輸出。NAMD并執(zhí)行基準測試單進程可執(zhí)行文件模式的編譯和運行過程較為簡單,但其運行僅NAMD通信線程。當每個核心的原子數(shù)較少時,即使在單個節(jié)點上運行,具有多個通信線程的多進程模式也可提高性能。下文描述了以上兩種模式的編譯過程,首先是單進程的NAMD可執(zhí)行文件編譯及測試過程:#步驟1??oneMKL以及英特爾?編譯器。使用英特爾?oneAPI,只需一個Bashshell設置環(huán)境。#步驟2編譯TCL庫(可選)#步驟3編譯單進程Charm++庫#步驟4。#步驟522運行基準測試。對于工作負載較小或節(jié)點數(shù)較高的場景,可以在不使用所有超線程的情況下獲得更好的性能。NAMD性能可通過/天(ns/天)為單位的模擬速率來衡量,數(shù)值越高越好。這里,使用者可選擇使用英特爾?oneAPI工具套件中的英特爾?TBB(ThreadingBuildingBlocks)內存分配技術來實現(xiàn)性能的小幅度改善。22

#步驟6通過命令行,設置處理節(jié)點上用于NAMD運行的內核總數(shù),以及提取性能的變量。#步驟7運行APOA1和STMV基準測試。NAMD并執(zhí)行基準測試對于多節(jié)點的場景,最優(yōu)的編譯和運行選項很大程度上取決于集群的配置。使用者可使用Charm++MPI后端(也可以使用OFI),并使用英特爾?MPI啟動命令。#步驟1基于英特爾?MPI庫構建Charm++。#步驟2基于英特爾?MPINAMDTCL,需要pre?x$NAMD_TCL_BASE。#步驟3(可選步驟)使用英特爾?oneAPI工具套件中的英特爾?TBB內存分配。#步驟4設定每個節(jié)點使用的物理內核數(shù)量。步驟5(可選步驟)當每個物理內核分配到的原子數(shù)量較小時,調整物理內核數(shù)量以避免啟用英特爾?超線程技術。

#步驟6選擇在每個節(jié)點上使用的NAMD進程數(shù)量。最佳數(shù)量取決于每個物理內核的原子數(shù)和系統(tǒng)配置。選擇該數(shù)字時應確保N_CORES設置是可整除的,如以下代碼示例中使用4。#步驟7設置MPI進程總量以及與NAMD通信和工作線程的關聯(lián)標志(假設$NODES已設置為節(jié)點數(shù)量)#步驟8執(zhí)行程序。使用英特爾?oneAPIBaseHPC工具套件編譯VASPAb-InitioSimulationPackage)是由維也納大學Hafner小組開發(fā)的一個原子尺度的材料模擬軟件包,其核心工作方法是基于贗勢方法和平面波基組進行第一性原理(Ab-Initio)-分子動力學的模擬。既能基于有限溫度局部密度近似(自由能作為變分量),也能使用高效的矩陣對角PulayMD步驟的瞬時電子基態(tài)做精確(UltrasoftVanderbiltPseudopotentials(ProjectorAugmented等方法描述。這兩種方式都能有效減少過渡金屬和第一行元素的每個原子所需的平面波數(shù)量。因此力和應力可以很容易地用計算,并用于將原子松弛到其瞬時基態(tài)。英特爾?oneAPIBaseHPC提供了良好的編譯環(huán)境,并可使其在各類模擬場景中發(fā)揮更大效能。Linux平臺上,基于英特爾?oneAPIBase工HPC工具套件編譯并運行的示例,文中所描述6.2.0?MPI庫以及英特爾?23?23

準備工作對于多節(jié)點的場景,最優(yōu)的編譯和運行選項很大程度取決于集群的配置。使用者可使用Charm++的MPI后端(也可以使用OFI),并使用英特爾?MPI啟動命令。#步驟1使用以下命令解壓縮VASP文件,其將創(chuàng)建一個vasp.6.2.0目錄:#步驟2通過運行以下命令來設置英特爾軟件工具的環(huán)境變量,假設使用64位英特爾?架構平臺的默認安裝和構建路徑:#步驟1lib?tw3xf_intel.a,這是一個經高度優(yōu)化的FFTw(FastestFourierinthewest,一種快速傅里葉變換庫)工作負載。首先將目錄更改為英特爾?oneMKL?tw3xf?tw3xf進行編譯。編lib?tw3xf_intel.a。#步驟2切換目錄至vasp.6.2.0,并復制arch/make?le.include.linux_intel文件至當前目錄。#步驟3編輯make?le.include文件,鏈接英特爾?oneMKL中的FFTw庫。#步驟4icpc應用優(yōu)化實戰(zhàn)篇

中國科學計算實戰(zhàn)手冊 中國科學計算實戰(zhàn)手

應用優(yōu)化實戰(zhàn)篇#步驟5檢查Fortran標記部分。#步驟6?的、的函數(shù)鏈接。#步驟7使用以下命令編譯VASP,其將在bin目錄中創(chuàng)建vasp_std,vasp_gam,vasp_ncl這幾項可執(zhí)行文件。#步驟1mpiexec。例如可按以下代碼所示配置工作負載(48個進程)machine?le明主機名。#步驟2是否與英特爾?oneMKLbin/vsp中l(wèi)dd,如以下代碼所示。檢查顯示結果:

面向CP2K的優(yōu)化CP2K是一款功能齊備、性能強大的分子動力學模擬軟件,其基于密度泛函理論(Densityfunctionaltheory,DFT),為不同的建模方法(例如使用混合高斯的DFT、使用平面波方法的GPWGAPW等)提供了通用框架,可用于計算固態(tài)、液體、分子和使用者可從官方網站()下載相應版本的源代碼。通過選擇適當?shù)摹⒖蛇x的庫和工具加入到CP2K的編譯中,可以有效提升CP2K的工作效能。這些庫包括:?K/S和KFFTw(FastestFourierinthewest,一種快速傅里葉變換庫)庫;LIBXSMM(一個用于專門的密集和稀疏矩陣運算以及深度學習的庫);CP2K調整)PLUMED(一個包含增的采樣工具、可用于分子動力學模擬數(shù)2.x版本)4.x版本)CP2K調整)??、/?CP2K#步驟1安裝英特爾?MPI、英特爾?oneMKL。#步驟2下載、編譯并安裝ELPA(使用英特爾?編譯器)。

#步驟3下載、編譯并安裝LIBINT(使用英特爾?編譯器)。#步驟4下載、編譯并安裝LIBXC(使用英特爾?編譯器)。#步驟5下載、編譯并安裝PLUMED(使用英特爾?編譯器)。#步驟6下載LIBXSMM,LIBXSMM的編譯在步驟7完成。

#步驟7下載并編譯CP2KPSMP變體,這里需要從GitHub重新ARCH文件。如未找到英特爾?oneMKL,則可將密鑰MKLROOT=/path/to/MKLMake的命令行中(詳見步1說明)MPIMKL_MPIRTL=openmpiCP2K的可執(zhí)行文件,1exe/Linux-x86-64-intelx/cp2k.psmp命令檢查。在編譯過程中使用英特爾ARCH文件,可以幫助使用者避免重復編寫文件,英特爾文件能自動為編譯中所需的英特爾庫獲取正確的路徑。當英特爾工具是源代碼時,這些路徑是通過使用環(huán)境變量設置來確定的。同時,當上述各個庫的CP2K當CP2K運行在多節(jié)點的場景中時,如何配置進程與線程就會對性能產生較大影響。使用者可以根據(jù)實際情況來對方案進行編排,例如當工作負載對內存占用不大時,對較低節(jié)點使用高秩計數(shù)(HighRankCount)可能會產生更佳結果。而當工作負載非常占用內存時,尤其是工作負載需要復制大量內存而不是按照秩(Rank)MPI秩的數(shù)量,并對較低節(jié)點使用低秩計數(shù)(LowRankCount)。2524值得一提的是,在大多數(shù)情況下CP2K更喜歡總秩計數(shù)RankCount)/線程組合調優(yōu)時有著更大的復雜性。上述調優(yōu)可參閱MPI/OpenMP混合的腳本文檔plan.shMPI環(huán)境變量。2524應用優(yōu)化實戰(zhàn)篇

中國科學計算實戰(zhàn)手冊中國科學計算實戰(zhàn)手冊 應用優(yōu)化實戰(zhàn)篇2726下文展示了在一個英特爾?超線程技術開啟且每路處理器有中國科學計算實戰(zhàn)手冊 應用優(yōu)化實戰(zhàn)篇272696個線程的雙路系統(tǒng)中應該如何規(guī)劃運行CP2K的PSMP16個秩和每個秩6個線程的情況,可設置為:1x16x6。CP2K運行命令如下:對于8個節(jié)點的MPIplan.sh中為每個節(jié)點設置812個線程的情況:8x8x12。CP2K運行命令如下:CP2K性能調優(yōu)#步驟1CP2KMPI通信模式來對其實現(xiàn)性能調優(yōu),對于使用英特爾?MPI時,使用者可嘗試下列配置:#步驟2同時在CP2K大規(guī)模運行時,也可在啟動時加入以下命令來提升性能:#步驟3通常來說,英特爾?MPIIn?niBand。如果使用mpirun-RDMA來顯式使用RDMAIn?niBand,可通過以下環(huán)境變量的設置來實現(xiàn):

#步驟4方便地進行日志輸出也是CP2K運行時必要的調優(yōu)方向。使用者可以使用一個信息腳本(info.sh)來嘗試呈現(xiàn)一個表(所有結果的摘要),該表是從日志文件生成的(tee,或者依賴于作業(yè)調度程序的輸出),并只支持某些文件擴展名(.txt、.log)。如以下示例所示:應用于生命科學的科學計算平臺CP2K的部署應用于生命科學的科學計算平臺堆內存的動態(tài)分配通常需要全局核算,最終在應用程序的共享內為使用這樣的策略,可以在編譯時或應用程序運行時使用內存分配包裝器來替換默認的內存分配。要使用英特爾?TBB技術的mallocCP2KTBBMALLOC=1鍵值對(默認值:TBBMALLOC=0)。27應用優(yōu)化實戰(zhàn)篇

中國科學計算實戰(zhàn)手冊 中國科學計算實戰(zhàn)手

應用優(yōu)化實戰(zhàn)篇分析、蛋白質組學(Proteomics)研究等方向上獲得必要的生物信息儲存、檢索和分析助力,從而加速藥物設計、疫苗研發(fā)、疾病篩查以及精準醫(yī)療服務等方面的研發(fā)和落地進程。隨著生命科學研究的深入,其面對的數(shù)據(jù)量和所需的算力也逐漸達到了一個驚人的規(guī)模。例如在高通量測序(High-throughputsequencing,HTS)技術中,單次測序生成的有效數(shù)據(jù)可達數(shù)GB之多。同時,復雜生物系統(tǒng)模型構建、病毒基因同源性分析、蛋白質動力學特性探索等深層次研究,更多地引入了AI能力,讓處理系統(tǒng)的算力、內存以及存儲能力都面臨嚴峻的挑戰(zhàn)。因此,科學計算平臺正在生命科學領域中發(fā)揮越來越大的作用。一般而言,生命科學相關應用軟件對計算平臺的需要主要包括:?強勁充沛的算力支持:生命科學計算任務往往需要大量的高精度浮點計算能力,例如在冷凍電鏡圖像的處理和重構上,需要執(zhí)行海量的快速傅立葉(FFT)等計算;?更高的內存帶寬性能:在生命科學計算任務中,所需計算和存儲的數(shù)據(jù)樣本以及模型數(shù)據(jù)非常龐大(甚至達到TB級別)且數(shù)據(jù)讀寫頻繁,需要為之提供匹配的內存帶寬性能;?集群化并行處理能力:并行計算也是提升生命科學計算任務效率的重要方法,其可以有效縮短任務運行時間。英特爾一直以來都在通過其不斷迭代更新的處理器平臺和豐富全面的軟件棧和加速庫,為生命科學領域的軟件提供強勁的算力支Relion、基因組分析軟件棧等常見生命科學軟件,在基于英特爾?架構的平臺上的優(yōu)化編譯和運行展開介紹。面向基于英特爾?架構平臺的生命科學軟件優(yōu)化面向英特爾?Relion優(yōu)化編譯與運行冷凍電子顯微鏡(Cryo-electronmicroscopy,Cryo-EM)是一種在低溫下使用透射電子顯微鏡觀察冷凍固定樣本的顯微技術,該

通常需要對海量圖像進行分析和細化,巨大的計算量需要先進的科學計算平臺與高效的軟件、算法相配合才能完成。作為一個開源應用套件,由MRC分子生物學實驗室的SjorsScheres小組開發(fā)的Relion,是專門為冷凍電鏡而設計的圖像處理軟件。該軟件加入了多種算法來完成2D分類、3D分類以及3D細化等功能,可幫助生物領域的研究者,通過對冷凍電鏡數(shù)據(jù)的單顆粒分析來優(yōu)化大分子結構。Relion的??可擴展處理器到英特爾?至強?CPUMax系列,英特爾的一系列處AI加速功能的工作負載優(yōu)增強的基礎算力性能;增強的內存速度和容量(DDR4/DDR5內存,HBM內存);增強型英特爾??架構的平臺上編譯并運行并獲得更優(yōu)性能的過程。借助基于英特爾?/??/?架構的理器平臺。/設置調優(yōu)Relion/設置,默認都是基于通用應用程序的模式設計,起初都不會基于性能優(yōu)化的目的進行/設置是必要的。本質上,Relion是由一系列用于分階段冷凍電鏡(Cryo-EM)數(shù)據(jù)處理的應用程序組成。整個工作流程如圖2-4-1所示,在每個步驟之間,Relion會從磁盤讀取上一個步驟的結果,并在當前步驟結束時將結果寫入磁盤,通常需要保留中間結果數(shù)據(jù)(以允許從中間過程中恢復數(shù)據(jù)),各步驟也可循環(huán)迭代地執(zhí)行。所有這些步驟和中間結果數(shù)據(jù)都會生成大量大文件,這些大文件的處理時間和存儲要求也各有不同。一旦所有步驟完成,系統(tǒng)通常會歸檔100GB左右的數(shù)據(jù)包用以重新分析。

圖2-4-1Relion工藝流程階段的簡化視圖上述處理步驟都涉及計算密集型和磁盤密集型操作。因此,建議面向每個電鏡的最小處理集群包括:24864256384GB(或更多)內存;2PB磁盤存儲空間的并行文件系統(tǒng);節(jié)點和并行文件系統(tǒng)之間,由高速集群網絡連接;上述配置應隨著電鏡的增加而線性增加。同時,也建議處理集群的服務器做以下配置/設置。內置增強技術配置/設置:英特爾?溫度規(guī)格的情況下自動提高頻率。增強型英特爾?SST:這一技術允許系統(tǒng)動態(tài)調整處理器電壓和內核頻率,從而降低平均功耗和平均發(fā)熱量。為了使英特爾?睿頻加速技術可用,必須啟用增強型英特爾?。英特爾?核內并行執(zhí)行兩個線程,即線程可運行在兩倍于物理核的邏輯核上。內存配置/設置:建議每個節(jié)點配備256GB以上內存。每個內存通道至少需要在主板上安裝1個內存條(DualInlineMemoryModule,DIMM)。如果因數(shù)據(jù)爭用而導致內存通道中沒有DIMM,可能會導致處理器利用率降低。存儲/磁盤配置/設置:2928Relion處理的數(shù)據(jù)集往往極為龐大,通常需要通過多節(jié)點處理模式來提升性能,因此建議在集群文件系統(tǒng)(ClusterFileSystem,CFS)Relion,CFS系統(tǒng)已針對大小不同文(/冷凍電鏡)工作負載的數(shù)據(jù)需求,建議CFS系統(tǒng)為每個顯微鏡2PB存儲空間。2928

網絡配置/設置:RelionMPI在多個節(jié)點上進行數(shù)據(jù)Relion本身不會生成很多MPIRelion數(shù)據(jù)集和臨時文件會消耗大量的磁盤空間,且這些文件在處理過Relion100Gbps或更快的網絡環(huán)境中,使用企業(yè)級高速集群結構和并行文件系統(tǒng)。昂TB(Terabytes)計,且經常會被超額預訂,需要更為高速可靠的數(shù)據(jù)傳輸、處理能力來挖掘這些稀缺資源的價值。進一步的,為幫助Relion的使用者更方便地實現(xiàn)性能優(yōu)化,英特爾與眾多合作者一起,面向英特爾?架構平臺的特性,對圖2-4-1中步驟3至步驟5進行了專門的優(yōu)化。下文將就這些優(yōu)化方法做簡要描述。面向基于英特爾?架構平臺的編譯及運行Relion2D分類、3D3D細化算法已面向英特爾?512進行了優(yōu)化(3.0版本開始支持)Relion打開相應標志位),并在運行時加入--CPU選項即可支持。這一優(yōu)化能在所支持的處理器平臺上獲得顯著性能提升。同時,與默認的Linux編譯器相比,使用英特爾?編譯器也能帶來額外的性能提升。下文給出了一個編譯過程示例,編譯過程基于已集成入英特爾???和英特爾?編譯器。#步驟1下載Relion(3.1.1或更高版本)并設置編譯器和庫環(huán)境。#步驟2??可擴展處理器(支持英特爾?512)Relion版本。應用優(yōu)化實戰(zhàn)篇

中國科學計算實戰(zhàn)手冊 中國科學計算實戰(zhàn)手

應用優(yōu)化實戰(zhàn)篇#步驟3啟用英特爾?超線程技術能使Relion在運行時獲得更優(yōu)的性能表現(xiàn)。同時,受限于Relion的數(shù)據(jù)流管理能力,以及工作任務執(zhí)行并行性與延遲的限制,建議作業(yè)時的總服務器數(shù)量不超過16臺。Relion運行時,參數(shù)可按照以下方式設置:在雙路英特爾?8MPI計算(用英特爾?超線程技術)除以計算列數(shù)(8);可能的話,建議每個計算列對應的線程數(shù)(--j)9;128GB時,因適當減少計算列,避免出現(xiàn)內存瓶頸或數(shù)據(jù)交換阻塞;

據(jù)集可以在Github的Relion基準測試頁面中下載并運行(https:///3dem/relion)。#步驟1下載并解包瘧原蟲核糖體數(shù)據(jù)集后,轉到所生成目錄樹的頂層會emd_2660.mapParticles的目錄。在運行基準測試前,可能需要將要處理的數(shù)據(jù)文件從舊格式轉換為新格式并確定基準時間。測試中,可以使用/usr/bin/time對二進制文件進行計時,或如以下示例中所用的,將mpirun命令內置于在腳本中。

#步驟4與參考值做比較:如果需要將經優(yōu)化編譯的(--cpu選項)RelionChimeraRelion算法進行比較,只需要將結果以不同目錄或不同名稱輸出即可。使用者可Chimera中并覆蓋就能了3D面向基因組分析的英特爾?精選解決方案作為生物學研究領域最重要的方向之一,基因組學(Genomics)是對生物體所有基因做集體表征、定量研究,并面向不同基因組開展比較研究的學科。基于基因組分析,研究者能夠進一步探索

Git;Java、JRE(JavaRuntimeEnvironment,Java運行環(huán)境)JavaSDK;Python(3.6.2以上版本)Conda包管理器;SlurmWorkloadManager,提供了一種調度作業(yè)并為這些作業(yè)分配集群資源的方法。有關Slurm的詳細說明,請訪問:/documentation.html.CromwellsbtCromwellMariaDBR、等軟件工具的圖形生成的Rscript、gsalib、ggplot2等。

j。

生物體的基因組結構與功能以及基因間的關系,從而幫助人們更好地了解生物多樣性、改良生物品種、資源保護,以及為疾病治

通過面向基因組分析的英特爾?精選解決方案,英特爾為上述軟可以參考以下設置示例:#步驟4單節(jié)點示例:以在啟用英特爾?超線程技術的雙路英特爾?至強?8358Relion為例,處理器平臺一共可提供12881640的池大小運行。加上一個額外的用于列控制的附加列,命令序列如下所示:#步驟5多節(jié)點示例:以在啟用英特爾?超線程技術的雙路英特爾?至強?83804Relion為例,處理器平臺一共可提供16082040的池大小運行。加上一個額外的用于列控制的附加列,命令序列如下所示:對優(yōu)化編譯的驗證與最佳實踐30為驗證Relion在英特爾?架構處理器平臺上的優(yōu)化編譯效果,可以使用瘧原蟲核糖體數(shù)據(jù)集對其開展用于驗證的基準測試。該數(shù)30

#步驟2在啟用英特爾?超線程技術的雙路英特爾?至強?鉑金8358處理器的單節(jié)點系統(tǒng)上對瘧原蟲核糖體數(shù)據(jù)集進行計算。#步驟3在啟用英特爾?超線程技術的雙路英特爾?至強?鉑金8358處理器的4節(jié)點系統(tǒng)上對瘧原蟲核糖體數(shù)據(jù)集進行計算。

正在醫(yī)療、生物等相關領域獲得越來越多的關注。基因組分析軟件棧與面向基因組分析的英特爾?精選解決方案基因組分析是一項復雜且需要消耗巨量算力的工作。目前廣泛用于基因組分析的軟件棧包括(以下軟件建議選擇較新的版本):?基因組分析工具套件(Genomicsnpcalling軟件之一;?Cromwell:用于科學工作流程的管理系統(tǒng),用于跟蹤工作流程并將結果存儲于MariaDB數(shù)據(jù)庫;?BWA:用于對照大的參考基因組(如人類基因組)繪制低分化序列;?Picard:用于操作高通量測序數(shù)據(jù)(基于不同格式)的工具;?VerifyBAMID2:用于驗證樣本基因組數(shù)據(jù)是否與已知基因型匹配,并可檢測樣本污染;?Samtools:用于與高通量測序數(shù)據(jù)交互(讀取、寫入、編輯、索引或查看),讀寫B(tài)CF2、VCF等文件,以及調用、過濾或匯總SNP和短indel序列變體;?20KThroughputRun:是一個快速基準測試程序,用于確保計算集群中的重要功能是否配置正確;(可選):可用于保存和恢復系統(tǒng)BIOS和管理固件設置的命令行實用程序。31在使用上述基因組分析軟件組合時,以下軟件或開發(fā)工具套件也是不可或缺的:31

所示,面向基因組分析的英特爾?精選解決方案架構中,底層是由第三代、第四代英特爾?至強?可擴展處理器,英特爾?至強?CPUMax系列等為核心的硬件基礎設施。英特爾也以其在處理器平臺和軟件加速性能上的獨特優(yōu)勢,為基因組分析的工作流程提供了強有力的支撐。一系列處理器平臺提供了業(yè)界領先的、具有AI加速功能的工作負載優(yōu)化平臺。其中,對基因組分析性能提升有著助力的包括但不限于:增強的基礎性能;增強的內存速度和容量(DDR4/DDR5內存,HBM內存);借助英特爾?512實現(xiàn)優(yōu)化的英特爾基因組學內核庫。BWABWAPre-packagedGenomicsApplications上層應用Cromwell WCromwell Work?ow Optimized Work?ow Description Genomics Large-scaleExecution Language KernelLibrary Analysis軟件平臺JobJobScheduler StorageMgmt基礎軟件硬件基礎設施硬件基礎設施圖2-4-2面向基因組分析的英特爾?精選解決方案架構??/應用優(yōu)化實戰(zhàn)篇

中國科學計算實戰(zhàn)手冊 中國科學計算實戰(zhàn)手

應用優(yōu)化實戰(zhàn)篇在硬件基礎設施層之上,是由一系列軟件構成的基礎軟件層、軟件平臺層以及上層應用層。研究者們可以基于這一架構,可以使用GATK等工具及WDL腳本來處理DNA、RNA數(shù)據(jù),使用Cromwell管理工作流程,使用Slurm調度作業(yè)并為這些作業(yè)分配集群資源等等?;蚪M分析軟件調優(yōu)在基因組分析的工作中,軟件配置調整是至關重要的一步。究其原因,是因為操作系統(tǒng)和基因組學分析軟件都是面向通用的應用程序模式而設計的,需要面向基因組分析的實際需求開展優(yōu)化以獲得更佳性能。下文將基于面向基因組分析的英特爾?精選解決方案,提供方案中主要軟件的優(yōu)化編譯、配置和運行建議。SlurmWorkloadManager#步驟1SlurmWorkloadManager為基因組分析工作流程提供了一種作業(yè)流程調配和集群資源分配的方法。可安裝以下步驟開始安裝Slurm。SSH訪問權限的用戶組:將“英特爾?(即白名單此用戶帳戶應能在資源管理器作業(yè)內外運行群集檢查器。Slurm用戶帳戶:Slurm服務端軟件包Warewulf文件#步驟2更新節(jié)點資源信息:在Slurm配置文件中更新計算節(jié)點的節(jié)點名稱、處理器的屬性以及與計算集群相關聯(lián)的Slurm分區(qū)或隊列。?NodeName:反映計算節(jié)點的名稱及其各自功能的定義;?Sockets:定義計算節(jié)點中的套接字數(shù)量;?CoresPerSocket:定義每個套接字的處理器內核數(shù);?ThreadsPerCore:定義可在處理器內核上并行執(zhí)行的線程數(shù);?PartitionName:定義了Slurm分區(qū)或隊列,在這些分區(qū)或隊列中分配了計算名稱;?Nodes:定義了配置給給定分區(qū)的計算節(jié)點;?Default:定義默認分區(qū)。

同時,完成以下任務并為計算集群創(chuàng)建Slurm配置

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論