
澳汰爾工程軟件(上海)有限公司

已認證
澳汰爾工程軟件(上海)有限公司
已認證
由于離散單元法的特性,EDEM軟件計算量大,對計算設備要求較高。一個計算能力強的計算設備可在更短的時間完成計算任務,加速業(yè)務進程,提高業(yè)務效率。
過去以來,中央處理器 (CPU) 一直被用作計算設備。然而,隨著計算機圖形處理器 (俗稱顯示卡或者顯卡,GPU) 的技術(shù)更新,GPU也可用于計算,且在特定的計算場景中發(fā)揮出 (遠) 優(yōu)于CPU的計算性能。這包括EDEM離散單元法計算場景。
本文將簡單討論GPU計算在EDEM中的應用,以及用于EDEM計算的GPU選取。
用于EDEM計算的GPU選取
為什么要用GPU開展EDEM計算?
GPU與CPU的顯著區(qū)別在于,前者可同時并行計算的核心數(shù)高 (多達數(shù)千),但單個核心時鐘頻率 (與計算速度正相關(guān)) 較低;后者核心數(shù)少 (幾十個),但單個核心始終頻率高。一個比喻是,GPU仿佛是一個小學數(shù)千名小學生,而CPU是這所小學的數(shù)十名老師。對于單一流程的任務而言,一個老師的處理速度勝過一個小學生;但對于諸如完成1000000道口算題這類可分割的計算任務而言,數(shù)千小學生并行開動,將勝過數(shù)十名老師。
離散單元法就是可分割的計算任務,每一時間步對1000000個顆粒單元的處理,就好比完成1000000道口算題。此時GPU相比CPU將具有顯著優(yōu)勢。鑒于上述原因,自EDEM 2019開始,支持GPU運算。當然,實際計算機系統(tǒng)中,GPU由CPU統(tǒng)籌和管轄,如同老師們需要準確分配不同的口算題給具體的小學生。
EDEM GPU計算架構(gòu)
目前EDEM GPU求解器使用Nvidia CUDA實現(xiàn),已支持多球團簇 (multi-sphere)、膠囊體 (sphero-cylinder) 和多面體 (polyhedral) 全部三種顆粒形態(tài),并已全面支持API自定義模型,計算效率與內(nèi)置模型無異。Nvidia CUDA是全球主流GPU高性能計算 (HPC) 架構(gòu),歷史最為悠久,在國際上具有廣泛的用戶基礎(chǔ),迭代更新快。
然而,Nvidia CUDA僅支持Nvidia品牌的顯卡,諸如AMD等品牌的顯卡無法使用Nvidia CUDA進行計算,也無法使用EDEM GPU計算。(先前EDEM GPU求解器使用OpenCL架構(gòu)實現(xiàn),OpenCL支持Nvidia和AMD等全品類顯卡。但OpenCL已停止更新,鑒于此,EDEM最新版GPU運算已不再支持OpenCL求解器。)
EDEM 對顯卡的最低配置要求如下:
1.支持CUDA,且計算能力支持版本3.5以上 (詳見CUDA GPUs - Compute Capability | NVIDIA Developer)。除個別極為古老的顯卡 (如Nvidia GTX系列),基本都滿足該條件。
2.驅(qū)動程序中,CUDA版本11.0以上。
對EDEM計算而言,幾萬到十幾萬顆粒的計算規(guī)模,選擇普通家用顯卡 (如游戲顯卡) 足以。后文會詳述顯卡的選取。
EDEM GPU計算架構(gòu)
EDEM GPU的計算精度有三種模式:
1.雙精度 (double precision);
2.單精度 (single precision);
3.混合精度 (hybrid precision)。
這是與GPU的精度模式相匹配的。
在計算機中,小數(shù)多由浮點數(shù) (floating point number) 表示。浮點數(shù)以科學計數(shù)法表示小數(shù),包含若干位有效數(shù)字 (可正可負) 和一個整數(shù)指數(shù) (可正可負),如 -1.2E-2 表示小數(shù) -0.012。在計算機中,有效數(shù)字和指數(shù)整合在一起,以二進制形式存儲,為一個浮點數(shù)。
單精度和雙精度浮點數(shù)的區(qū)別在于有效數(shù)字位數(shù)不同。這也直接決定了二者所占存儲空間不同。
單精度 (FP32):使用32位二進制 (4字節(jié)) 表示,有效數(shù)字7位,適用于大多數(shù)科學計算和通用計算任務。
雙精度 (FP64):使用64位二進制 (8字節(jié)) 表示,有效數(shù)字15位,適用于需要更高精度計算的科學和工程應用。
對于離散單元法來說,盡可能使用雙精度FP64計算,可最大程度保證工程計算精度。曾有文獻指出,有學者使用俠盜獵車手5的三維引擎——R星 (Rockstar) 進行離散元計算,但由于引擎只支持單精度FP32,計算誤差發(fā)散嚴重,計算結(jié)果失真較大。
目前計算機的CPU均支持64位雙精度計算。但對于消費級GPU顯卡,64位雙精度運算由于使用場景較少 (大多數(shù)為一般通用計算任務),廠商為了降低售價提高銷量,削弱了消費級GPU的FP64能力 (但Nvidia RTX 30系以上消費級顯卡基本保留部分FP64能力),導致這些顯卡雙精度計算能力受限。
對于這些顯卡,在使用時需要考慮更換精度模式保證計算速度。對于Nvidia頂尖顯卡,如A100 (800)、H100 (800) 等,這些顯卡專供HPC科學計算,F(xiàn)P64能力不會削減,因此直接采用雙精度模式計算即可。而對于桌面級顯卡例如 Nvidia RTX 30/40 系顯卡 (如4090等),雙精度模式受限,需適當降低精度保證計算效率。尤其是在試算或者粗略計算大概結(jié)果的場景,快速計算十分必要。此時,降低精度快速出結(jié)果,對于業(yè)務而言至關(guān)重要。
混合精度模式 (hybrid precision) 為Nvidia特色技術(shù),可根據(jù)GPU狀況,智能對浮點數(shù)據(jù)指定單雙精度策略??梢栽谛屎途戎g取得最佳平衡。
多GPU使用策略
最新的EDEM版本已支持調(diào)度多個顯卡 (GPU) 進行并行計算。依舊以小學作比喻,這就仿佛將一個口算任務分配給兩個小學完成。
一般而言,多GPU僅在問題規(guī)模特別大時使用。因為計算過程中,GPU之間會通信,通信成本較大。因此,盡可能使用單個GPU進行計算。
但是如果問題規(guī)模特別大,例如數(shù)百萬顆粒的時候,單GPU可能面臨存儲空間不足的情況 (離散單元法不僅計算量大,存儲空間占用也很大)。目前主流計算機內(nèi)存條 (RAM) 高達32-64GB,但是一張 30 或者 40 系的Nvidia顯卡,其顯存 (VRAM) 只有幾個GB。EDEM GPU計算時,顆粒和接觸信息被存入顯存進行計算,如果問題規(guī)模足夠大,顯存可能會不足,從而導致無法計算。此時就可以考慮多GPU并行策略,通過多張顯卡并行,來分擔計算任務,確保每張卡顯存容量足夠完成對應分塊的計算。
但需要考慮多張顯卡采購的成本,是否優(yōu)于單張高顯存容量的顯卡 (如A100,單張80GB)。還是那句話,顯卡間通信速度有限,盡可能使用單張卡進行計算。
EDEM GPU計算表現(xiàn)
以下是不同工況的仿真、分別使用12線程CPU與GPU計算時,EDEM的計算速度。為Altair自測得到??梢园l(fā)現(xiàn),使用CUDA GPU計算可以最大程度提升EDEM的計算效率,相比CPU計算提速數(shù)十倍。
表1 計算工況
圖1 EDEM CPU與GPU計算速度對比 (CPU為12線程)
選擇GPU顯卡用于EDEM計算,對于提升工程效率至關(guān)重要;而我們要如何選擇GPU顯卡呢?
用于EDEM計算的GPU顯卡,主要關(guān)注以下幾個指標:
時鐘頻率 (MHz) 與內(nèi)核數(shù),二者均與計算速度正相關(guān);
FP32 與 FP64 性能 (單位: TFLOPS),直接決定顯卡計算浮點小數(shù)多快;
顯存帶寬 (GB/s),決定GPU與CPU通信速度,通信速度太慢可能會成為瓶頸;
顯存大小 (GB),將決定單卡可承擔的最大計算規(guī)模。
Altair 也做了一些計算測試供參考:
攪拌器模型,生成1,000,000顆粒,生成速度100,000/s,顆粒初始下落速度3m/s (圖2)。以12線程CPU為基準計算速度,在顆粒生成計算過程中,單卡V100和單卡RTX ada 6000的加速比分別為4.5和7.2。而在顆粒攪拌計算過程中,使用雙卡V100和雙卡RTX ada 6000仿真,加速比相比單卡近乎加倍。雙卡并行計算的效率幾乎成倍增加。
(1) 仿真工況
(2) 顆粒生成加速比
(3) 顆粒攪拌加速比
而關(guān)于Nvidia RTX 30-40系顯卡的計算效率對比詳見圖3和表2。圖3可用于選購顯卡時參考。
表2 GPU顯卡計算用時對比
圖3 不同顯卡 (包含多卡) 加速比對比 (以WS4075為基準)
需要說明的是,GPU計算受到CPU、內(nèi)存等電腦配置因素影響,實際計算用時可能與上述結(jié)果有出入。如對顯卡采購以及顯卡和EDEM適配有疑問,請聯(lián)系A(chǔ)ltair 技術(shù)工程師,我們竭誠為您服務。
A
申請免費試用
如您對 Altair EDEM 感興趣
歡迎掃描二維碼申請免費試用:
相關(guān)閱讀:
1. How to select a GPU (Graphics Processing Unit) for EDEM - Altair Unlimited, EDEM - Altair Products - Altair Community
2. 10 Common Questions about EDEM GPU Answered - EDEM - Altair Products - Altair Community
關(guān)于 Altair 澳汰爾
Altair(納斯達克股票代碼:ALTR)是計算科學和智能領(lǐng)域的全球領(lǐng)導者之一,在仿真、高性能計算 (HPC) 和人工智能等領(lǐng)域提供軟件和云解決方案。Altair 能使跨越廣泛行業(yè)的企業(yè)們在連接的世界中更高效地競爭,并創(chuàng)造更可持續(xù)的未來。
公司總部位于美國密歇根州,服務于16000多家全球企業(yè),應用行業(yè)包括汽車、消費電子、航空航天、能源、機車車輛、造船、國防軍工、金融、零售等。
相關(guān)產(chǎn)品
更多
型號:Altair? lOT Studio人工智能及物聯(lián)網(wǎng)智能產(chǎn)品開發(fā)
面議相關(guān)文章
更多
技術(shù)文章
2025-02-28技術(shù)文章
2025-02-28技術(shù)文章
2025-02-26技術(shù)文章
2025-02-26