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

25
13
10