Autodyn并行設置,并行效率及其影響因素的探討

針對Autodyn并行計算,和大家分享一點體會,同時希望看到的大佬能幫忙解答一點疑惑。


*首先介紹Autodyn的單機并行設置方法,并行MPI分為INTER和IMB,這里使用的是IMB,至于聯機并行我也沒有嘗試過o(╥﹏╥)o

  1. 在AUTODYN配置文件目錄下建立applfile和autodyn_mpi.bat文件,applfile無后綴;配置文件目錄默認為C:\Users\用戶名\AppData\Roaming\Ansys\v180\AUTODYN(v180為ANSYS版本號,如ANSYS2020則為v201)

  2. 編寫applfile文件內容為:

    -e MPI_FLAGS=y0 -e ANSYS_EXD_MPI_TYPE=ibmmpi -h YYY -np 1 "D:\ANSYS Inc\v180\aisol\AUTODYN\winx64\autodyn.exe"

    -h YYY  -np 4 "D:\ANSYS Inc\v180\aisol\AUTODYN\winx64\adslave.exe"

    并行設置.png  
  3. 編寫autodyn_mpi.bat文件內容為:

    set MPI_ROOT=%AWP_ROOT180%\commonfiles\MPI\IBM\9.1.4.2\winx64

    "%MPI_ROOT%\bin\mpirun.exe" -prot -e MPI_WORKDIR="D:\ANSYS Inc\v180\AISOL\AUTODYN\winx64" -f applfile

并行設置3.png

  4. 雙擊執行autodyn_mpi.bat,將自動打開一個Antudyn GUI界面,載入模型,設置好模型的并行子任務分區,即可開始并行計算。

并行設置4.png


*Autodyn的并行效率影響因素

參考一篇關于Autodyn并行效率的文獻,主要大意是Autodyn并行計算花費的時間分為計算花費的時間通訊花費的時間,通訊花費的時間的含義是根據任務數需要對模型進行子任務分配,各子任務之間需要進行通訊,從而花費一部分時間),所以需要在子任務數和計算效率之間尋找一個平衡,并且子任務數為偶數比較合理。

Li, Z., Li, F., Yu, W., Wang, T., Wang, J., Wang, Y., & Hang, G. (2014). Research on parallel simulation computation acceleration of AUTODYN program under windows operating system. WIT Transactions on Modelling and Simulation, 60, 135–142. https://doi.org/10.2495/SMTA140161

本人親自對并行效率進行了相關分析,prt文件中出現4個相關的耗時,總耗時=求解耗時+編輯耗時,接觸耗時為模型中計算Lagrange與Lagrange單元接觸而消耗的時間,猜測應包含在求解耗時中。下圖中AUTO表示采用Autodyn自動劃分子任務區域,無AUTO的表示手動劃分子任務區域,對比發現采用自動子任務分區比手動分區效率更高。

求解耗時.png

并行效率.png

Autodyn使用手冊中提到子任務分區應考慮模型中子任務的負載平衡,而自動分區能保證良好的負載平衡和子任務間的通訊量最小,手動分區顯然難以保證這兩方面的最優,所以建議采用自動分區。


****為何并行對效率的提高不明顯?

根據文獻中的結果和本人分析結果,采用并行計算后,相比較于串行計算,計算效率雖然有所提高,但并沒有顯著的提高,這是因為什么原因導致的呢?是否Autodyn需要購買額外的并行權限,或者其他原因?

希望能有大佬解答呀(*^▽^*)

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

26
13
10