ABAQUS启动GPU加速计算

本文介绍了如何在Windows11系统上,使用RTX4060笔记本电脑的CUDA和cuDNN库来为ABAQUS的隐式求解器提供GPU加速,包括CUDA驱动和cuDNN的安装步骤,以及如何验证配置并观察GPU使用情况,特别关注了Lamb波压电仿真的应用。
部署运行你感兴趣的模型镜像


系统说明

基于笔记本电脑,RTX4060,win11系统。

ABAQUS的有限元求解器是基于CPU的,但是它也支持使用GPU进行加速计算。仅支持隐式求解器standard。显示求解器explicit不能用。

要使用GPU加速计算,需要遵循以下步骤:

  1. 安装适用于您的GPU的CUDA驱动程序。请确保您已经安装了与ABAQUS版本相对应的CUDA版本。
  2. 安装适用于您的GPU的cuDNN库。cuDNN库是一个针对深度神经网络的GPU加速库,但它也可以用于ABAQUS求解器的加速计算。

英伟达官方介绍,基于Linux
https://www.nvidia.cn/data-center/gpu-accelerated-applications/abaqus/

CUDA安装

进入cmd命令行,输入nvcc -V查看是否装了CUDA
在这里插入图片描述
如果没有,去英伟达官网下载
https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local
在这里插入图片描述
下载本地安装,全部默认安装。
在这里插入图片描述
重启电脑,再次输入nvcc -V,可以看到安装了CUDA
在这里插入图片描述

安装cuDNN

cuDNN 其实是 CUDA 的一个补丁,专为深度学习运算进行优化的。
https://developer.nvidia.com/rdp/cudnn-archive
在展开的这一层里,找到适合自己系统的,右击复制链接地址。打开迅雷等下载工具,添加任务时粘贴进刚才复制的网址,即可下载。
在这里插入图片描述
在这里插入图片描述
下载后发现其实cudnn不是一个exe文件,而是一个压缩包,解压后,有三个文件夹,把三个文件夹拷贝到cuda的安装目录下。配置完成后,我们可以验证是否配置成功,主要使用CUDA内置的deviceQuery.exe 和 bandwidthTest.exe:

首先win+R启动cmd,cd到安装目录下的 …\extras\demo_suite,然后分别执行bandwidthTest.exe和deviceQuery.exe(进到目录后需要直接输“bandwidthTest.exe”和“deviceQuery.exe”),得到下图:
在这里插入图片描述

在这里插入图片描述

ABAQUS设置

勾选使用GPU加速
在这里插入图片描述
打开任务管理器,查看GPU使用情况,利用率是0%和100%跳变,专用GPU内存占用一直在7G左右,总内存是8G。
在这里插入图片描述

Lamb波压电仿真

这里仿真的案例是压电片激励板波(Lamb波),采用C3D8E单元建模。压电材料只能使用隐式求解器计算。
在这里插入图片描述
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

### Abaqus GPU 加速配置与优化 为了在Abaqus中实现GPU加速以提高计算性能,可以从以下几个方面入手: #### 1. CUDA驱动程序安装 确保已安装适合当前GPU硬件的CUDA驱动程序。这一步骤至关重要,因为不匹配的CUDA版本可能导致无法正常运行或兼容性问题[^2]。 #### 2. cuDNN库集成 除了基本的CUDA支持外,还需要安装cuDNN库。尽管该库主要用于深度学习领域中的神经网络训练,但在某些情况下也能增强Abaqus求解器的功能和效率[^2]。 #### 3. 并行化设置 充分利用多核处理器以及图形卡上的多个流式多处理器单元来执行复杂的有限元模型仿真任务。具体来说,可以启用并行处理选项,在作业提交文件中指定`*CPUsPerNode`参数或者通过环境变量定义线程数[^1]。 #### 4. Python脚本辅助开发 借助Python编写自定义脚本来完成特定功能扩展,比如前处理自动化、后处理数据提取等操作。这种方法不仅能够简化工作流程而且有助于进一步挖掘软硬件潜力从而达到最佳表现效果[^3]。 以下是关于如何开启ABAQUS/Explicit下的GPU加速的一个简单例子: ```python from abaqus import * from caeModules import * # 创建一个新的Job实例,并激活显式的GPUMultiplier属性 myJob = mdb.Job(name='gpu_accelerated_job', model='Model-1') myJob.setValues(explicitPrecision=SINGLE, parallelizationMethodExplicit=DOMAIN, numDomains=mdb.models['Model-1'].parts['Part-1'].elementSets['Set-1'].elements.size * 8, activateLoadBalancing=True) if myMachine.hasGpuSupport(): myJob.GPUMultiplier(activationStatus=ON) myJob.writeInput() myJob.submit(waitForCompletion=True) ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值