控制图形性能

Simcenter STAR-CCM+ 提供了各种选项来使用图形软件和硬件进行模拟。

图形软件

标准 Simcenter STAR-CCM+ 可视化软件为 OpenGL(开放式图形库)。受支持的版本为 3.3。对于 Simcenter STAR-CCM+ 2019.3 和更高版本,仍可以在具有早于 OpenGL 3.3 的版本的系统上运行(存在兼容问题风险),或使用 Mesa OpenGL(与采用硬件 OpenGL 相比,图形性能大大降低)。Simcenter STAR-CCM+ 使用自动图形检查器,根据版本、兼容性和图形性能,在系统上查找并选择最适合的 OpenGL 平台。如果图形检查器未找到 OpenGL 3.3 或更高版本,它会自动切换到 Mesa OpenGL。有两个 Mesa 驱动程序可用 - LLVMpipe(原有驱动程序)和由 Intel 开发的 OpenSWR。OpenSWR 驱动程序比原有驱动程序性能更佳,尤其是当在命令行上指定了多个渲染线程(如下所述使用 -rthreads-rrthreads)时。

可以始终使用下表所列的关联命令行选项,手动指定 OpenGL 平台,从而替代图形检查器的自动选择。

每当 Mesa OpenGL 处于活动状态时,树中的场景管理器(或设计管理器快照场景管理器)节点将显示警告标记,并在属性窗口中显示相应的消息。

如果通过图形检查器进行自动检测例程导致渲染问题,则参数 -graphics-rgraphic 只应用作最后采用的方法。
OpenGL 指定命令行参数
使用主机的原生 OpenGL 版本(可低于 OpenGL 3.3)
  • 对于 Simcenter STAR-CCM+ 客户端和 Simcenter STAR-CCM+ Viewer

    -graphics native

  • 对于 Simcenter STAR-CCM+ 服务器(远程渲染):

    -rgraphics native

使用 Mesa OpenGL
  • 对于 Simcenter STAR-CCM+ 客户端和 Simcenter STAR-CCM+ Viewer

    -graphics mesa

  • 对于 Simcenter STAR-CCM+ 服务器(远程渲染):

    -rgraphics mesa

可以将 mesa 替换为 mesa_swr,这样做通常可以提高性能。

使用 EGL 上的 OpenGL(仅限 Linux 服务器)-rgraphics egl
EGL 是一种 API,无需通过 Windows/X/X11/Xorg 窗口化系统即可提供 OpenGL。这是使用 OpenGL 进行 Simcenter STAR-CCM+ 远程渲染或专用渲染服务器的首选方式。Simcenter STAR-CCM+ 仅在 Linux 上支持 EGL 上的 OpenGL。当使用最新版本的 Nvidia 专利图形驱动程序时,以稳定方式支持 EGL 的当前唯一已知平台为具有 Nvidia Quadro GPU 的 Linux。
使用默认 OpenGL 设置(例如,如果希望返回到自动图形检查器行为)
  • 对于 Simcenter STAR-CCM+ 客户端和 Simcenter STAR-CCM+ Viewer

    -graphics auto

  • 对于 Simcenter STAR-CCM+ 服务器(远程渲染):

    -rgraphics auto

使用多个 GPU(仅限 Linux)

在具有多个 GPU 的 Linux 系统中,Simcenter STAR-CCM+ 的每个实例会利用不同的 GPU 来显著提高此类环境中的渲染性能。要激活此图形功能,使用命令行选项 -rgpu <选项>,该选项适用于本地交互或批处理会话或在远程服务器上渲染时。此选项的可用参数为:

  • N - 选择系统中要使用的特定 GPU,例如 -rgpu 1-rgpu 5N 是 GPU 的索引,范围从 0 到 N,因此 N 等于系统中 GPU 的数量减去 1。此选项对于受管环境很有用,因为它支持完全控制资源指派。
  • 自动 - 根据 $TEMP 中的文件循环使用系统中所有可用的 GPU。每次以此方式生成新渲染器时,将选择下一个 GPU。此选项是一个很好的默认设置,因为它可以确保利用所有资源。

使用此功能的要求包括:

  • 渲染模式为服务器或专用服务。
  • 图形驱动程序支持多 GPU EGL 扩展,例如闭源 Linux Nvidia 驱动程序。

-agpu 是特别渲染的等效参数。有关此类渲染的详细信息,请参见远程渲染的其他信息

此功能的一个良好用例是在单台 Linux 计算机上安装多个 GPU,然后可以借助 VNC 通过 Simcenter STAR-CCM+ 的多个会话来访问此计算机。这可适用于多个用户,或具有多个 Simcenter STAR-CCM+ 会话的单个用户。(Simcenter STAR-CCM+ 的单个会话一次只能使用一个 GPU)。

GPU 使用

“GPU 使用”功能可用于全局控制施加在 GPU 上的负载。最低设置尝试尽可能少地使用 GPU 上的功能,而最高设置尝试使用所有可用的 GPU 容量。

这是不会存储在特定模拟文件中的客户端设置。

要设置 GPU 使用:

  1. 选择工具 > 选项
  2. 选项对话框中,选择可视化节点。
  3. 要设置 GPU 使用属性,执行以下任一操作:
    • GPU 使用属性的下拉列表中选择一个选项。每个选项名称后的编号表示 GPU 的需求级别:
    • 创建某个 GPU 使用选项的自定义版本:
      1. GPU 使用属性设为下拉列表中的一个选项。
      2. 单击 GPU 使用属性的 自定义编辑器)。在显示的对话框中,激活 Use custom settings(使用自定义设置) 选项。
      3. 激活要用于自定义选项的设置。
      4. 单击确定

        自定义选项显示在下拉列表中。

GPU 利用率选项

每个选项的更多详细描述如下:

从 CPU 内存渲染
兼容性 (0) 选项会呈现 CPU 内存中的缓冲区,与 Simcenter STAR-CCM+ 9.06 和更早版本中的显示器即时模式属性最相近。对于显卡内存有限(例如小于 1 GB)的旧显卡,建议使用此功能。
使用被管理 GPU 内存进行渲染

使用默认 (1) 选项时,图形数据存储在 GPU 上,但 Simcenter STAR-CCM+ 客户端管理 GPU 内存分配。此选项保持了强度与速度的平衡。

默认 (1) 相当于停用 Simcenter STAR-CCM+ 9.06 及更早版本中显示器的即时模式专家属性。但是,GPU 内存管理旨在提供 GPU 使用选项的最稳定渲染。

使用非管理 GPU 内存进行渲染

使用非管理 (2) 选项时,图形数据存储在 GPU 上,但只有 GPU 驱动程序尝试处理图形内存分配。一旦需要大量 GPU 内存(例如对于体积渲染或较大的等值面),则此选项比默认设置快。但是,非管理设置的可靠性稍低于默认设置,这是因为当应用程序造成负载过重时,早期 GPU 或驱动程序会崩溃。

仅当有最新版本或至少最近版本的显卡及相应的最新驱动程序时,才考虑此选项。
使用机会型 GPU 内存进行渲染

机会型 (3) 选项尝试使用 GPU 的最大容量。目前,此选项仅在体积渲染分配内存的方式上有所差异。

仅当有最新版本或至少最近版本的显卡及相应的最新驱动程序时,才考虑此选项。