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规格书
- 插入卡槽
- 连接显卡电源(6Pin)
- 开机测试
安装显卡驱动
在Nvida显卡驱动官网找到合适自己的显卡驱动下载,并重启。
安装CUDA 工具
CUDA的安装需要较长时间,属于正常情况。
环境变量设置
在这里有两种方法可以开启CUDA的加速
直接编辑系统环境变量,如下图
在系统全局变量里加入
环境变量 | 内容 |
变量名 |
|
值 |
|
编辑abaqus_v6.env
在abaqus_v6.env
3文件的句末加上
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所带来的收益就约明显