将基于GPU的处理器与SIMULIA Abaqus结合使用

日期:2025-07-23 发布者: 达索系统 浏览次数:

(以下内容适用于 Abaqus 6.11 及更高版本。Abaqus 6.11 及更高版本支持 GPGPU 直接求解器加速。Abaqus/Standard 中的直

(以下内容适用于 Abaqus 6.11 及更高版本。

Abaqus 6.11 及更高版本支持 GPGPU 直接求解器加速。Abaqus/Standard 中的直接稀疏求解器可以使用具有计算能力的 GPGPU 卡来减少方程解的运行时间。支持通用处理 (GPGPU) 的高端显卡提供了一种提高计算密集型应用程序性能的另一种方法。

请注意以下事项:

  • 测试的 GPGPU 图形设备列在 SIMULIA 系统要求页面上。可以使用其他 GPGPU 设备,只要它们支持计算能力级别 2.0 或更高。

  • GPGPUS 的支持策略和计算 GPGPUS 的测试状态可以在从 abaqus 版本 6.13(版本 6.13 的程序目录示例)及更高版本开始的程序目录的先决条件选项卡下找到。


有关 GPGPU 性能和配置的常见问题

1、如果我的机器中有支持 CUDA 的显卡,并且我安装了额外的显卡,例如 Quadro P4000,我是否可以使用 Tesla 进行计算?Abaqus 如何确定应该使用哪种设备?

GPGPU加速库根据以下几点选择最佳GPU。库根据 gpus 参数值选择最合适的设备。将选择“计算”设备而不是显卡。

  • 计算能力 2.0 或更高

  • 最高内存

  • 处理单元的数量和速度

2、我可以使用多个 GPU 吗?

从 Abaqus 6.12 开始,不再支持“gpu”选项,取而代之的是“gpus”选项。现在会自动检测 GPU 类型 (NVIDIA/AMD)。“gpus”选项用于指定每个主机或 MPI 进程要使用的 GPU 数量。

3、我可以在计算集群上使用 GPGPU 卡吗?

是的。Abaqus 6.11-2 及更高版本支持具有基于 MPI 的并行化 (DMP) 的 GPGPU 卡,每个主机使用一个 GPGPU 设备。在 Abaqus 6.12 中,“gpus”选项用于指定每个主机或 MPI 进程要使用的 GPU 数量。

4、CUDA 核心数量如何影响 GPGPU 性能?

Abaqus 将利用 GPGPU 卡上提供的全部 CUDA 内核。例如,特斯拉 C2050 和 C2070 有 448 个 CUDA 核心,而 C2090 有 512 个核心。预计 C2090 的性能会更好。NVIDIA 预计将发布具有更多 CUDA 内核的新硬件。SIUMLIA 不建议使用任何 CUDA 内核少于 448 个的显卡。

5、CUDA 设备上安装的内存量如何影响性能?

特斯拉 C2050 配备 3GB 板载内存,C2070 配备 6GB RAM。如果求解器遇到太大而无法放入卡内存的超节点(在稀疏求解器中一起求解的方程块),它们将使用常规机器 CPU 内核进行处理。通常,作业越大,超节点就越大。大多数分析都有适合 6GB RAM 的超级节点,但有时有些可能不适合。对于 3GB 卡,某些分析可能具有无法容纳卡的超级节点,这将降低 GPU 性能优势。对于未在 GPU 上处理的超级节点,由于使用ABA_GPU_VERBOSE环境变量时它们太大,因此将向消息文件写入注释。使用 6GB 卡时,这种情况应该很少见。

超节点大小是超节点中的方程数。当使用ABA_GPU_VERBOSE环境变量时,将计算 GPU 上可以容纳的最大超节点大小并将其打印到日志文件中。超级节点所需的内存(以字节为单位)大约由以下公式计算:

超节点大小是超节点中的方程数。当使用ABA_GPU_VERBOSE环境变量时,将计算 GPU 上可以容纳的最大超节点大小并将其打印到日志文件中。超级节点所需的内存(以字节为单位)大约由以下公式计算:(neq*(neq+1)/2)*sizeof(double)

用于对称求解器,以及

neq*neq*sizeof(双倍)

用于非对称求解器。这里,neq 是一个超级节点的大小。请注意,GPU 上的可用内存将略低于卡规格给出的标称内存量。以下示例中的第二个数字 (4680) 是超节点的大小:

超级节点已启动 902 4680 522 4158 0 0

要启用 GPU 详细输出:

导入作系统

作系统环境['ABA_GPU_VERBOSE'] = '3'

注意:ABA_GPU_VERBOSE变量只能用于诊断目的,并且只能在 SIMULIA 支持工程师请求时进行设置。它最初使用 3 GB 卡最有用,可以检测超级节点太大而无法放入内存的情况,而现在这种情况应该很少发生。

6、当使用支持 CUDA 的显卡(例如 Quadro 6000)而不是 Tesla C20xx 卡时,您是否预计性能会有任何实质性差异?

这取决于特定型号。NVIDIA Quadro 6000 本质上是带有内置显卡的 Tesla C2070,其性能应该与 C2070 相似。Quadro 4000 的性能应该与特斯拉 C2050 相似。

7、如何判断正在使用哪张卡以及它是否正确?

通过上述ABA_GPU_VERBOSE设置,检测到的 GPGPU 设备将记录在 job.log 文件中。选择算法旨在选择“最佳”资源。找到可用GPU时,通知将写入消息(.msg)文件,指示启用GPU加速。

8、我的机器中有两张(或更多)相同的 GPGPU 卡。我可以同时运行两个 Abaqus 作业吗?

默认情况下,Abaqus 分析将根据规格选择“最佳”GPU 设备。两个 Abaqus 分析很可能会选择相同的图形设备;因此,由于两个作业都争夺相同的硬件,性能将会下降。

有两种可能的替代配置可以实现所需的行为:

8.1、配置每个 NVIDIA GPGPU 卡以进行独占计算进程访问。这将防止两个作业同时选择同一个显卡。在具有管理权限的命令提示符下,输入以下命令:

C:\Temp> nvidia-smi –c 3

将 GPU 0000:0F:00.0 的计算模式设置为 EXCLUSIVE_PROCESS。

将 GPU 0000:28:00.0 的计算模式设置为 EXCLUSIVE_PROCESS。

全部完成。

请注意,EXCLUSIVE_PROCESS模式仅在 Abaqus 6.14 及更高版本中受支持。此外,EXCLUSIVE_PROCESS模式不是持久的;因此,每次系统重新启动后都必须重复该命令。启用独占处理模式后,以下作业应使用单独的 GPGPU 卡:

abaqus job=test1 cpus=4 gpus=1

abaqus job=test2 cpus=4 gpus=1

8.2、将每个 Abaqus 作业的环境配置为仅查看一个 GPGPU 卡。在运行每个作业之前,将CUDA_VISIBLE_DEVICES变量设置为特定的 GPGPU 卡。例如

设置 CUDA_VISIBLE_DEVICES=0

abaqus 作业=测试1 cpus=4 gpus=1

设置 CUDA_VISIBLE_DEVICES=1

abaqus 作业=测试2 cpus=4 gpus=1

请注意,Abaqus 使用自己的内部 GPU ID 编号;因此,job.log的ABA_GPU_VERBOSE输出可能与 NVIDIA GPU ID 编号不对应。这可能会在将来的版本中得到纠正。例如

Using GPU 0 Tesla K20Xm 6039339008

9、我是否可以使用每个节点使用多个 MPI 进程运行单个 Abaqus/Standard 分析?

默认情况下,每个 MPI 进程都应用相同的逻辑,并将为每次运行选择相同的“最佳”GPU 卡。多个 MPI 进程可能会选择与上一个问题相同的 GPU。但是,Abaqus 2016 及更高版本包含防止这种情况发生的逻辑。通过启用独占计算过程模式,仍可获得最佳结果(参见上一个问题)。请注意,CUDA_VISIBLE_DEVICES 环境变量不能用于此方案。重要提示:请查看将基于 MPI 的并行化与 Abaqus/Standard 直接求解器一起使用

10、使用 GPGPU 运行 Abaqus 的最佳性能配置是什么?

当 CPU 内核与 GPU 设备的比率超过 8 或 10 时,GPGPU 性能的优势会降低。例如,使用以下配置时可以实现最佳性能:

2 个 Intel E5-2697A V4 处理器(每个 16 核)

256GB内存

4 个 512GB SSD 硬盘,采用 RAID 0 配置

2 张 NVIDIA TESLA K80 GPGPU 卡(每个 K80 包含 2 个 K40 设备)

使用此配置,使用 32 个 CPU、4 个 MPI 进程和每个 MPI 进程 1 个 GPU 运行 Abaqus。

abaqus -j 作业 -CPU 32 -mp_host_split 4 -GPU 1

注意:只有当分析可以完全适合核心内存(内存以最小化 IO 值)时,才能实现最佳性能。如果无法做到这一点,请尝试以下作来减少每个主机的内存要求:

  • 使用其他计算节点运行分析

  • 删除 mp_host_split 选项,以便每个主机有一个 MPI 进程。

示例:abaqus -j job -cpus 32 -gpus 4

11、我可以使用任何计算级别为 2.0 或更高级别的 NVIDIA 兼容设备吗?

是的,但并非所有设备都能提供显着的性能优势。事实上,某些设备实际上可能会导致性能下降。许多 NVIDIA 设备针对高级图形性能进行了优化,并且没有足够的峰值 64 位浮点计算率 (FP64)。Abaqus 求解器至少需要 1TFLOPS 或更高的 FP64 速率(1000 Giga FLOPS)。供应商可能没有明确宣传 FP64 费率。使用 Tech PowerUP GPU 规格数据库查看您的设备是否具有足够的性能。

此外,在某些情况下,与较旧的 K40 和 K80 设备(现在以低廉的价格出售)相比,较新的高性能设备(例如 Tesla P100 和 V100)可能无法提供显着的性能优势。尽管具有非常高的 FP64 速率,但这些设备受到机器 PCI-E 总线上数据传输速度的限制。如上述性能设置所示,通过安装多个 K40 或 K80 设备可以实现更好的价值。

12、通过 Windows 远程桌面运行分析时如何使用 NVIDIA GPGPU 设备?

为了在远程桌面模式下使用 GPGPU,必须使用 nvidia-smi 命令将显卡设置为 TCC 模式,其中命令的语法如下。此命令必须由计算机的管理员运行

nvidia-smi -g(GPU ID)-dm 1

(WDDM 为 0,TCC 为 1)

要获取 GPU ID,您需要首先运行 nvidia-smi 命令,没有选项来显示基本信息,包括 GPU 设备编号、当前 DM 模式和总线 ID。示例可能采用以下形式:

GPU 0000:03:00.0其中,上面是返回的输出中为第一张卡列出的总线 ID,称为设备 0

GPU 0000:22:00.0其中,上面是返回的输出中为第二张卡列出的总线 ID,称为设备 1。

13、为什么在分析消息文件中收到消息 GPU SOLVER ACCELERATOR UNAVAILABLE?

出现此问题的原因有多种:

  • 尚未安装 GPU 卡或驱动程序。分析日志文件中还将存在以下消息

警告:未检测到 GPU 加速器兼容驱动程序。 

GPU 驱动程序级别或版本不符合特定 Abaqus 版本支持的最低级别。有关详细信息,请参阅 Abaqus 分析报告 GPU SOLVER ACCELERATION UNAVAILABLE。

在 Linux 系统上,分析日志文件中可能存在以下消息:“Error initializing the CUDA Driver NO DEVICE”。请求 GPGPU 解决方案时,请参阅 Abaqus 分析报告“Error initializing the CUDA Driver NO_DEVICE”。

14、当我提交 Abaqus 分析并请求使用 GPGPU 并行化时,我的工作会立即中止,并出现:

GPGPU token is not available

GPGPU 并行化需要在您的 Abaqus 许可证中启用适当的功能。请联系您当地的销售办事处了解更多信息。

15、是否支持 AMD Firepro GPGPU 卡?

是的,我们在 6.11-2 版中开始使用 AMD FirePro V9800 和 V9800P GPU 卡测试 AMD GPU 设备。我们测试的最新 GPU 卡与我们在程序目录中使用的 6.13 及更高版本的设备驱动程序一起列出

对于仅使用 AMD GPU 的 Abaqus 6.11-2 及更高版本的 6.11:

  • 您需要使用命令行选项 '-gpu amd' 或 'gpu=amd',或者您可以在 abaqus_v6.env 文件中使用 gpu=AMD 设置参数。

  • AMD 对 6.11 版本的支持还需要以下附加环境变量设置:

# 设置为 AMD GPU 使用

if applicationName == 'analysis' and analysisType == STANDARD:

os.environ['GPU_MAX_HEAP_SIZE']='100'

os.environ['GPU_NEW_ALLOC_SCHEME']='1'

os.environ['GPU_ZERO_COPY_ENABLE']='1'

# 以下内容仅在 Linux

上需要 os.environ[“DISPLAY”]=“:0”

  • 必须将 AMD GPGPU 卡配置为主显示器。

  • Abaqus 分析必须从图形登录控制台运行。

  • 不支持分布式内存并行化 (DMP)

16、使用 GPGPU 时的代币使用公式是什么?

请参阅有关 SIMULIA Abaqus 统一有限元分析产品的信息或您的 SIMULIA 价目表。

另请参阅: Abaqus 分析所需的令牌数


注意:

由于CUDA驱动的NVIDIA统一虚拟地址(UVA)编程模型,GPU求解器在初始化时会分配大量的虚拟内存;但是,物理内存使用量在预期范围内。

Abaqus_Support_28slides.pdf

Nvidia_DGX_A100_Benchmark_Data_from_Q4_2022.pdf


加入收藏 我有疑问


获取正版软件免费试用资格,有任何疑问拨咨询热线:400-886-6353或 联系在线客服

未解决你的问题?请到「问答社区」反馈你遇到的问题,专业工程师为您解答!

社交账号登录