天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當前位置:主頁 > 科技論文 > 力學(xué)論文 >

基于Python的大規(guī)模高性能LBM多相流模擬

發(fā)布時間:2021-06-24 19:06
  Python由于具有豐富的第三方庫、開發(fā)高效等優(yōu)點,已成為數(shù)據(jù)科學(xué)、智能科學(xué)等應(yīng)用領(lǐng)域最流行的編程語言之一。Python強調(diào)了對科學(xué)與工程計算的支持,目前已積累了豐富的科學(xué)與工程計算庫和工具。例如,SciPy和NumPy等數(shù)學(xué)庫提供了高效的多維數(shù)組操作及豐富的數(shù)值計算功能。以往,Python主要作為腳本語言,起到連接數(shù)值模擬前處理、求解器和后處理的"膠水"功能,以提升數(shù)值模擬的自動化處理水平。近年來,國外已有學(xué)者嘗試采用Python代碼實現(xiàn)求解計算功能,并在高性能計算機上開展了超大規(guī)模并行計算研究,取得了不錯的效果。由于自身特點,高效大規(guī)模Python數(shù)值模擬的實現(xiàn)和性能優(yōu)化與傳統(tǒng)基于C/C++和Fortran的數(shù)值模擬等具有很大的不同。文中實現(xiàn)了國際上首個完全基于Python的大規(guī)模并行三維格子玻爾茲曼多相流模擬代碼PyLBMFlow,探索了Python大規(guī)模高性能計算和性能優(yōu)化方法。首先,利用NumPy多維數(shù)組和通用函數(shù)設(shè)計實現(xiàn)了LBM流場數(shù)據(jù)結(jié)構(gòu)和典型計算內(nèi)核,通過一系列性能優(yōu)化并對LBM邊界處理算法進行重構(gòu),大幅提升了Python的計算效率,相對于基準實現(xiàn),優(yōu)化后的串行性能提升... 

【文章來源】:計算機科學(xué). 2020,47(01)北大核心CSCD

【文章頁數(shù)】:7 頁

【部分圖文】:

基于Python的大規(guī)模高性能LBM多相流模擬


相鄰網(wǎng)格塊的MPI通信數(shù)據(jù)交換(電子版為彩色)

效果圖,版本,性能,效果


表1 各版本的描述Table 1 Descriptions of various versions 版本號 版本說明 v0 采用Python list實現(xiàn)多維數(shù)組 v1 采用narry代替list v2 使用ufunc進行數(shù)組運算 v3 優(yōu)化數(shù)據(jù)結(jié)構(gòu)(Aos到SoA) v4 采用item獲取數(shù)組元素 v5 使用where函數(shù)來進行邊界判定 v6 邊界反彈算法重構(gòu) v7 改用Cython編寫計算內(nèi)核 v8 numba即時編譯圖6給出了基于Cython版本(v5)實現(xiàn)的OpenMP線程并行的加速比。可以看出,OpenMP并行達到24個線程時仍然具有良好的并行可擴展性,獲得了最高達10倍左右的OpenMP并行加速比。

效果圖,效果,計算節(jié)點,擴展性


圖6給出了基于Cython版本(v5)實現(xiàn)的OpenMP線程并行的加速比?梢钥闯,OpenMP并行達到24個線程時仍然具有良好的并行可擴展性,獲得了最高達10倍左右的OpenMP并行加速比。圖7給出了在天河二號超級計算機上PyLBMFlow大規(guī)模MPI+OpenMP并行的弱并行可擴展性測試結(jié)果。實驗由64個計算節(jié)點擴展到1 024個計算節(jié)點,以64個計算節(jié)點作為性能基準,每個節(jié)點固定問題規(guī)模為256*256*256,總的最大問題規(guī)模約為170億網(wǎng)格單元?梢钥闯,擴展到1 024個節(jié)點時,并行可擴展性仍然保持在90%以上,充分證明了本文方法在并行實現(xiàn)和優(yōu)化方面的有效性。


本文編號:3247667

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/kejilunwen/lxlw/3247667.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶59419***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com