使用 GPGPU 运行模拟
要使用 GPGPU 运行 Simcenter STAR-CCM+ 模拟,需要在启动服务器时激活此选项。通常,分配的 CPU 内核数至少与打算使用的 GPGPU 显卡数相同。
要遵守的一些常规原则如下:
- CPU 进程数必须大于等于要在主机上使用的选定 GPGPU 显卡数。否则,使用的 GPGPUS 数将限制为分配的 CPU 进程数。
- 某些 GPGPU 显卡由多个逻辑 GPGPU 组成。对于 Simcenter STAR-CCM+,每个逻辑 GPGPU 都被视为独立的 GPGPU 卡。
- 如果模拟中所有操作均已启用 GPGPU,则分配与 GPU 显卡数相同的 CPU 数。这有助于避免因 GPGPU 超额订阅而降低性能。
- 如果存在在 CPU 上运行的一些操作,则考虑分配比 GPU 显卡数多的 CPU 数,以免运行这些操作时性能不佳。在这种情况下,建议将 CPU 进程数设为正在使用的 GPGPU 显卡数的倍数。否则,GPGPU 负载失衡可能会导致性能问题。如果是这样,Simcenter STAR-CCM+ 将在命令行上发出警告。
- 如果使用 NVIDIA GPU 并且指定的 CPU 进程数超过主机上正在使用的 GPGPU 显卡数,则必须使用 CUDA 多进程服务 (MPS)。默认调用此服务。有关详细信息,请参见使用 MPS。
- 为了实现优化性能,必须向 GPGPU 分配合理的工作量,才能实现高占用率而不超出其内存限制。对于切割体单精度运行,适当问题规模的典型估计值是每 1,000,000 个网格单元 1.3 GB GPGPU 内存。超出 GPGPU 内存时,不会始终生成有意义的错误消息,因此需谨慎。
- 要在含代数多重网格 (AMG) 的模拟中使用 GPGPU,建议确保循环类型为 V 循环。有关 AMG 循环类型的详细信息,请参见 AMG 线性求解器参考。
- 要在模拟运行期间监视 GPGPU 内存使用情况,可以创建 GPGPU 残差内存报告。有关更多信息,请参见内存报告。
下表显示了单个 GPU 卡上含两个方程湍流模型的 500 万个网格单元、恒密度管道流模拟的内存使用情况:
模拟的类型 | 精度 | 多面体网格(GB/百万网格单元) | 修剪的网格(GB/百万网格单元) |
---|---|---|---|
分离流 | 混合 | 1.5 | 1.25 |
分离流和能量 | 混合 | 1.75 | 1.5 |
耦合流体 | 混合 | 3 | 2.5 |
耦合流体和能量 | 混合 | 3.75 | 3 |
分离流 | Double | 2.5 | 2 |
分离流和能量 | Double | 2.75 | 2.25 |
耦合流体 | Double | 5.25 | 4 |
耦合流体和能量 | Double | 6.5 | 5.25 |
可以通过工作区或命令行定义 GPGPU 的使用。
要通过工作区启动启用 GPGPU 的模拟:
-
启动工作区。
- 如果要启动新模拟,选择创建文件对话框。 激活
- 如果要打开现有模拟,选择加载文件对话框。 激活
-
指定模拟的 CPU 进程数。
- 如果要在一个 CPU 上运行模拟,选择串行进程选项(默认)。
- 如果要在多个 CPU 上并行运行模拟,选择在本地主机上并行,然后在计算进程框中输入进程数。
-
启用 GPGPU 的使用。
默认情况下,“GPGPU 的使用”选项设为自动,并禁用无 MPS 选项。
-
使用以下某一 GPGPU 的使用选项,从本地机器上的可用 GPGPUS 中进行选择:
- 自动(默认)
- 计数
- 特定
- 文件
有关每个选项的详细信息,请参见GPGPU Usage。
在选择 GPGPU 后,命令文本框中将显示用于启动服务器的等效命令行。有关通过命令行启动启用 GPGPU 的模拟的信息,请参见 GPGPU 选项。 - 根据Interactive Startup Reference中所述的属性完成对话框。
- 设置模拟物理时,确保仅选择与 GPGPU 兼容的求解器和模型。有关兼容求解器和模型的表,请参见支持的求解器和模型。