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

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