本文介绍了如何使用 Nvidia CUDA1的加速功能,使Abaqus计算加速。

原文

GPU加速的功能暂时只支持Standard的计算,Explicit不支持

驱动都设置完成可直接查看查看 环境变量设置

安装显卡


提前查询好主板是否与显卡兼容,在购买显卡。
本次使用的是Nvidia 2021 新推出的 RTX A4000显卡2

GPU特性 RTX A000
GPU显存 带纠错码ECC DDR6 16GB
显存带宽 448GB/s
图形总线 PCI-E X16
CUDA核心数 6144
单精度浮点计算 19.2 TFLOPS

*具体可参考 A4000规格书

  1. 插入卡槽
  2. 连接显卡电源(6Pin)
  3. 开机测试

安装显卡驱动


Nvida显卡驱动官网找到合适自己的显卡驱动下载,并重启。

安装CUDA 工具


CUDA工具包安装地址

CUDA的安装需要较长时间,属于正常情况。

环境变量设置


在这里有两种方法可以开启CUDA的加速

直接编辑系统环境变量,如下图

在系统全局变量里加入

环境变量 内容
变量名 ABA_ACCELERATOR_TYPE
PLATFORM_CUDA

编辑abaqus_v6.env

abaqus_v6.env3文件的句末加上

os.environ["ABA_ACCELERATOR_TYPE"]="PLATFORM_CUDA" # Nvidia

的字段使其可以使用CUDA加速工具加速ABAQUS。

是否加速成功


成功加速Abaqus反馈的Log里面会出现如下加速成功的字符。

回答各类显卡是否支持加速

Abaqus的GPU(CUDA)加速,和AI学习的GPU计算稍有不同。Abaqus属于科学计算,对精度要求很高,因此对于有双精度浮点计算能力的P100,V100 以及最新出的 A30, A100是最佳的。
结论:

  • 理论上可以下载并使用cuda-tool工具包的显卡都能进行abaqus gpu加速,只是因为普通的消费者级别的RTX系列双精度能力很低,因此加速效果没太明显,不过对于计算量大的项目,其实速度提升也很多。
  • 理想的情况下是使用拥有双精度浮点计算能力的专业显卡,效果可以提升近一倍多。

提交任务

对于在abaqus CAE的GUI里直接提交任务的情况下,直接在GPGPU上打勾并设置为1(一张显卡的情况下)
和CPU的设置不同,gpu的参数表示显卡的数量,不表示CUDA核心数
在这里插入图片描述

对于命令形式可以参考以下(8核心cpu并行计算,1块显卡加速的情况):
abaqus job=<job-name> cpus=<8> gpus=1

速度对比

实际使用时根据显卡的双精度算力显存的大小以及模型的复杂度相关,以下速度对比仅作参考。

CPU: Xeon Silver 4310 12C ×2

边界条件非线性,摩擦解析,同样的模型同样在使用GPU的情况下,用A30只用了8小时算完,而A2000用了21小时,不使用GPU的8核心用了36小时算完。
在这里插入图片描述

下图代表了解析计算倍速,以4核计算为1倍作为基准,高复杂度的解析GPU计算为2倍,A30则对于不用GPU的8核心提高到了4倍。
在这里插入图片描述

模型复杂程度越高使用GPU所带来的收益就约明显

Reference


  1. Nvidia Cuda 适用于类似于RTX or Quardo之类的 计算卡,一般的 Geforce 显卡不不推荐使用CUDA加速。 ↩︎

  2. 官网介绍 ,购入金额15万日元。 ↩︎

  3. abaqus_v6.env的路径一般是在C:\SIMULIA\EstProducts\2020\win_b64\SMA\site这里。 ↩︎

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐