近日,一種基于GPU并行的快速近場動力學(xué)算法,實現(xiàn)了計算力學(xué)算法與計算機(jī)技術(shù)的深入交叉結(jié)合,為解決傳統(tǒng)計算力學(xué)算法的效率問題找到了新的方向。
其成果發(fā)表在《計算力學(xué)學(xué)報》http://cjcm.ijournals.net.cn/jslxxb/ch/reader/view_abstract.aspx?flag=2&file_no=202410220000002&journal_id=jslxxb和《Engineering Analysis with Boundary Elements》https://doi.org/10.1016/j.enganabound.2025.106133。作者為深圳北理莫斯科大學(xué)楊楊副教授,與南方科技大學(xué)劉軼軍講席教授、碩士研究生蘇梓鑫。深圳北理莫斯科大學(xué)為第一完成單位。
近場動力學(xué)(Peridynamics)是一種有效解決斷裂問題的方法。然而,其非局部理論使得計算過程較為耗時。并行計算是加速數(shù)值計算的有效途徑,主要分為基于中央處理器(CPU)的并行計算和基于圖形處理器(GPU)的并行計算。CPU并行計算更適合處理邏輯復(fù)雜的場景,例如消息傳遞接口(Message Passing Interface, MPI)和共享內(nèi)存并行編程(Open Multi-Processing, OpenMP)等。而GPU并行計算則更適合處理邏輯簡單但計算量大的場景,例如開放計算語言(Open Computing Language, OpenCL)和英偉達(dá)的統(tǒng)一計算設(shè)備架構(gòu)(NVIDIA's Compute Unified Device Architecture, CUDA)等。由于近場動力學(xué)的非局部特性,每個材料點(diǎn)僅與其鄰域內(nèi)的點(diǎn)相互作用,這使得其非常適合進(jìn)行并行化處理。
目前,基于GPU的近場動力學(xué)并行研究,大多集中在將串行程序轉(zhuǎn)換為并行程序。許多優(yōu)化策略帶來的加速效果主要依賴于GPU自身性能的提升,而針對GPU硬件結(jié)構(gòu)的優(yōu)化相對較少。此外,GPU并行計算仍存在一些問題:用于存儲鄰域點(diǎn)的內(nèi)存空間沒有預(yù)設(shè)大小,導(dǎo)致線程和內(nèi)存資源的低效使用,造成內(nèi)存和計算資源的浪費(fèi),使得GPU在處理大規(guī)模問題時面臨挑戰(zhàn);大多數(shù)GPU并行計算仍然嚴(yán)重依賴全局內(nèi)存,未能充分利用CUDA的內(nèi)存結(jié)構(gòu),導(dǎo)致內(nèi)存帶寬的浪費(fèi);大多數(shù)近場動力學(xué)并行算法缺乏通用性,一些算法可能限制了鄰域的大小,僅能處理均勻分布且未受損的離散結(jié)構(gòu),或者限制了近場動力學(xué)理論的應(yīng)用。
基于上述限制,本研究設(shè)計了一個成本效益高且性能優(yōu)異的近場動力學(xué)模擬框架。該分析框架能夠以高效的計算速率準(zhǔn)確模擬鍵基和態(tài)基近場動力學(xué)問題。該算法采用了粒子并行模式,建立了一個通用的鄰域生成模塊用以優(yōu)化存儲,并提出了一種通用寄存器技術(shù),用于高速訪問寄存器內(nèi)存,減少全局內(nèi)存訪問。該技術(shù)不僅消除了對鄰域點(diǎn)數(shù)量的限制,還適用于材料點(diǎn)的非均勻分布。與現(xiàn)有基于串行程序和OpenMP并行的近場動力學(xué)算法程序相比,該算法分別可實現(xiàn)高達(dá)800倍和100倍的加速。在典型的百萬級粒子模擬中,執(zhí)行4000次迭代在單精度下可在5分鐘內(nèi)完成,在雙精度下可在20分鐘內(nèi)完成,這在低端GPU PC上即可實現(xiàn)。這意味著,在處理復(fù)雜的材料設(shè)計和損傷模擬時,研究人員能夠更快地獲得結(jié)果,從而加速科學(xué)研究和工程應(yīng)用的發(fā)展。

圖1 通用寄存器優(yōu)化算法示意圖
這項技術(shù)的廣泛應(yīng)用將有助于推動多個領(lǐng)域的創(chuàng)新,特別是在需要高性能計算支持的行業(yè)中。通過利用消費(fèi)級GPU的強(qiáng)大計算能力,研究人員能夠更高效地解決復(fù)雜的物理問題,從而推動科技進(jìn)步和產(chǎn)業(yè)升級。
楊楊,博士,副教授,2023年9月加入深圳北理莫斯科大學(xué)材料科學(xué)系。主要研究方向為:計算固體力學(xué)、邊界元、近場動力學(xué)、機(jī)器學(xué)習(xí)等高性能算法開發(fā),結(jié)構(gòu)振動、斷裂、疲勞分析。