使用 GPGPU 运行模拟

要使用 GPGPU 运行 Simcenter STAR-CCM+ 模拟,需要在启动服务器时激活此选项。通常,分配的 CPU 内核数至少与打算使用的 GPGPU 显卡数相同。

确保 GPGPU 硬件适用于 Simcenter STAR-CCM+
要遵守的一些常规原则如下:
  • 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 的模拟:
  1. 启动工作区。
    • 如果要启动新模拟,选择文件 > 新建... 激活创建文件对话框。
    • 如果要打开现有模拟,选择文件 > 加载... 激活加载文件对话框。
  2. 指定模拟的 CPU 进程数。
    • 如果要在一个 CPU 上运行模拟,选择串行进程选项(默认)。
    • 如果要在多个 CPU 上并行运行模拟,选择在本地主机上并行,然后在计算进程框中输入进程数。
  3. 启用 GPGPU 的使用
    默认情况下,“GPGPU 的使用”选项设为自动,并禁用无 MPS 选项。

  4. 使用以下某一 GPGPU 的使用选项,从本地机器上的可用 GPGPUS 中进行选择:
    • 自动(默认)
    • 计数
    • 特定
    • 文件

    有关每个选项的详细信息,请参见GPGPU Usage

    在选择 GPGPU 后,命令文本框中将显示用于启动服务器的等效命令行。有关通过命令行启动启用 GPGPU 的模拟的信息,请参见 GPGPU 选项
  5. 根据Interactive Startup Reference中所述的属性完成对话框。
  6. 设置模拟物理时,确保仅选择与 GPGPU 兼容的求解器和模型。有关兼容求解器和模型的表,请参见支持的求解器和模型