目前,基於高性能計算機的CAE/CFD仿真在航空航天、汽車船舶、石油化工、土木建築等領域有廣泛的應用。並且,隨著計算機技術的不斷發展,CAE/CFD在上述領域的作用愈漸重要,特別是在航空航天領域,CAE/CFD已經成為與理論分析和風洞實驗並列的三種研究手段之壹。美國航天局NASA預測,航空航天飛行器的設計會在不遠的將來發生革命性的變化,即實現在基於CAE/CFD仿真數據的數值風洞中的虛擬飛行。
高性能計算在CAE/CFD上應用的首要目標是用最低的成本獲取最接近真實的結果。目前,CAE/CFD行業軟件眾多,客戶對這些軟件的應用要求也是千差萬別,難以形成統壹的解決方案。
那麽高性能計算在CAE/CFD中應如何應用優化呢?首先,我們先分下CAE/CFD的特征。
CAE/CFD軟件基本上采用有限元法或有限體積法求解控制方程,在計算時涉及大量的前後時間步叠代以及交界區域處理,屬於計算密集型,對CPU性能的要求自然是越高越好。
壹般來講,采用顯式時間格式的CAE/CFD軟件對內存容量的要求壹般,而采用隱式時間格式的CAE/CFD軟件對內存容量有比較高的要,至於對內存帶寬的要求則是與單節點內的進程數直接關聯的,進程數越多,內存帶寬要求越高。
在I/O層面上,多數CAE/CFD軟件在讀操作時,由主進程讀入數據,然後向從進程分發數據;在寫操作時,由主進程統壹收集從進程的數據,然後主進程寫出數據。也就是說,只有主進程直接負責I/O操作。因此,CAE/CFD對I/O存儲的壓力壹般。
如前所述,由於CAE/CFD軟件在計算時要做前後時間步叠代和交界區域處理,因此,對網絡通信也比較高,宜采用InfiniBand網絡。
接下來,我們再看壹下如何進行高性能計算的CAE/CFD運行優化。
由於CAE/CFD多為商業軟件,壹般只能做硬件級優化與運行級優化。考慮到前文的特征分析,在硬件級優化層面,我們可以通過配置高主頻CPU和四通道內存來分別提高CPU、內存的性能,更可以通過對網絡接連拓撲,路由選擇算法以及RDMA等方面進行優化來提升InfiniBand網絡的通信能力。
在運行級優化層面,壹般是采用MPI優化的策略。例如,MPI進程綁定優化,MPI消息傳遞機制優化,以及MPI通信***享內存優化等。隨著PGAS(Partitioned Global Address Space)編程模型,以及GPU、MIC等加速協處理器的發展,上述傳統算法將會被極大改進。
以Fluent算例為例,浪潮使用其自主開發的“天眼”高性能應用特征監控分析系統(英文:Teye),監測和分析了Fluent的應用特征。在Intel XeonE5-2680v3 CPU平臺上和144個進程下,計算了1000萬網格規模的Fluent算例。
在下圖中,通過浪潮天眼可以看出Fluent 的CPU利用率接近100%,參與計算的物理核心基本上在滿載運行,說明了Fluent屬於計算密集型。
1
浪潮天眼分析Fluent算例的CPU利用率
在內存帶寬方面,天眼監測到Fluent的內存帶寬需求主要發生在網格構建、合並及劃分之後總內存帶寬約為45GB/s。其中,讀內存帶寬約為40GB/s,寫內存帶寬約為5GB/s。Fluent由主進程讀入和寫出數據,從進程不直接參與I/O操作。另外,數據讀寫量與Fluent算例大小成正關系。
2
浪潮天眼分析Fluent算例的內存帶寬
此外,我們還可以看到除開始階段主節點的讀操作速率達到40MB/s外,在Fluent的整個計算過程中,I/O操作壓力比較小。作為典型的CFD軟件,Fluent需要采用InfiniBand網絡進行數據通信。
3
浪潮天眼監測Fluent算例的磁盤讀寫操作情況
在計算初期,Fluent通過網絡進行大量的數據發送與接收操作。在之後的計算過程中,數據發送與接收呈現連續流特征,其速率維持在60MB/s ~ 100 MB/s。由此可見,Fluent是壹款網絡密集型軟件。
4
浪潮天眼監測Fluent算例的InfiniBand網格數據發送與接收情況
下圖為浪潮天眼分析監測的Fluent算例的雷達圖,直觀地顯示了Fluent的各項應用特征。
5
通過浪潮天眼分析的Fluent軟件應用特征雷達圖
浪潮在高性能計算方面擁有豐富的CAE/CFD優化經驗,通過浪潮天眼可以更全面、更精細的分析CAE/CFD軟件特征,提供軟硬壹體化的全方位優化方案。目前浪潮的CAE/CFD高性能計算應用方案已經廣泛的應用在了航空航天、汽車船舶、建築建設等行業。