Controlling Graphics Performance

Simcenter STAR-CCM+ offers various options for using graphics software and hardware for your simulation.

Graphics Software

The standard Simcenter STAR-CCM+ visualization software is OpenGL (Open Graphics Library). The supported version is 3.3. For Simcenter STAR-CCM+ 2019.3 and higher, you can still run on systems with OpenGL versions earlier than 3.3 (with risk of compatibility issues), or use Mesa OpenGL (graphics performance much lower than with hardware OpenGL). Simcenter STAR-CCM+ uses an automatic graphics checker to locate and select the most suitable OpenGL platform on your system, according to version, compatibility, and graphics performance. If the graphics checker does not find OpenGL 3.3 or later, it switches automatically to Mesa OpenGL. Two Mesa drivers are available—LLVMpipe (legacy driver) and OpenSWR developed by Intel. The OpenSWR driver gives much better performance than the legacy driver, particularly when multiple render threads are specified on the command line (using -rthreads or -rrthreads as described below.)

You can always manually specify the OpenGL platform, and thus override the graphics checker's automatic choice, using the associated command line options listed in the table below.

Whenever Mesa OpenGL is active, the scene manager (or Design Manager snapshot scene manager) node in the tree shows a warning badge, and displays a corresponding message in the properties window.

NoteThe arguments -graphics and -rgraphics should only be used as a last resort if the automatic detection routine through the graphics checker results in rendering issues.
OpenGL SpecificationCommand Line Arguments
Use the OpenGL version that is native to the host machine (which can be lower than OpenGL 3.3)
  • For the Simcenter STAR-CCM+ client and Simcenter STAR-CCM+ Viewer:

    -graphics native

  • For the Simcenter STAR-CCM+ server (remote rendering):

    -rgraphics native

Use Mesa OpenGL
  • For the Simcenter STAR-CCM+ client and Simcenter STAR-CCM+ Viewer:

    -graphics mesa

  • For the Simcenter STAR-CCM+ server (remote rendering):

    -rgraphics mesa

You can replace mesa with mesa_swr which typically results in better performance.

Use OpenGL on EGL (for a Linux server only)-rgraphics egl
NoteEGL is an API that can provide OpenGL without going through the Windows/X/X11/Xorg windowing system. This is the preferred way to use OpenGL for Simcenter STAR-CCM+ remote rendering, or the dedicated rendering server. Simcenter STAR-CCM+ supports OpenGL on EGL only on Linux. The only currently known platform supporting EGL in a stable fashion is Linux with Nvidia Quadro GPU, when using a recent version of Nvidia's proprietary graphics driver.
Use the default OpenGL setting (for example, if you wish to return to the automatic graphics checker behavior)
  • For the Simcenter STAR-CCM+ client and Simcenter STAR-CCM+ Viewer:

    -graphics auto

  • For the Simcenter STAR-CCM+ server (remote rendering):

    -rgraphics auto

Working with Multiple GPUs (Linux Only)

On a Linux system with more than one GPU, each instance of Simcenter STAR-CCM+ can leverage a different GPU, significantly improving rendering performance in such an environment. To activate this graphics capability, use the command line option -rgpu <option>, which applies to a local interactive or batch session or when rendering on a remote server. The available parameters for this option are:

  • N—selects a specific GPU in the system to use, for example -rgpu 1 or -rgpu 5. N is the index of the GPU ranging from 0 to N, such that N equals the number of GPUs in the system minus one. This option is useful for managed environments since it allows full control of the resource assignment.
  • auto—cycles through all available GPUs on the system on a file in $TEMP. Each time a new renderer is spawned this way the next GPU is chosen. This option is a good default setting since it ensures that all resources get utilized.

Requirements for using this feature include:

  • The render mode is Server or Dedicated Service.
  • The graphics driver supports the multi-GPU EGL extensions, for example the closed-source Linux Nvidia driver.

-agpu is the equivalent argument for ad hoc rendering. For details about this type of rendering, see Additional Information on Remote Rendering.

A good use case of this feature is installing multiple GPUs in a single Linux machine that can be accessed by multiple sessions of Simcenter STAR-CCM+ via VNC. This could be for multiple users, or one user with multiple Simcenter STAR-CCM+ sessions. (A single session of Simcenter STAR-CCM+ can only use one GPU at a time.)

GPU Utilization

The GPU Utilization feature lets you control globally what loads you put on your GPU. The lowest setting tries to use as few features on the GPU as possible, whereas the highest setting tries to use all the GPU capacity that is available.

NoteThis is a client-side setting which is not stored in a particular simulation file.

To set the GPU Utilization:

  1. Select Tools > Options.
  2. In the Options dialog, select the Visualization node.
  3. To set the GPU Utilization property, do either of the following:
    • Select an option from the drop-down list of the GPU Utilization property. The numbering after the name of each option ranks the level of demand on the GPU:
    • Create a customized version of one of the GPU utilization options:
      1. Set the GPU Utilization property to one of the options in the drop-down list.
      2. Click (Custom Editor) for the GPU Utilization property. In the dialog that appears, activate the Use custom settings option.
      3. Activate the settings that you want for the custom option.
      4. Click OK.

        A Custom option appears in the drop-down list.

GPU Utilization Options

Each option is described in more detail as follows:

Rendering from CPU Memory
The Compatibility (0) option renders buffers from CPU memory, and is the closest equivalent to the Immediate Mode property of displayers in Simcenter STAR-CCM+ 9.06 and earlier versions. It is recommended for old graphics cards with limited amounts of graphics memory, for instance less than 1 GB.
Rendering with Managed GPU Memory

With the Default (1) option, graphics data is stored on the GPU, but the Simcenter STAR-CCM+ client manages GPU memory allocation. This option is a compromise between robustness and speed.

Default (1) is the functional equivalent of deactivating the Immediate Mode expert property of displayers in Simcenter STAR-CCM+ 9.06 and earlier versions. However, the GPU memory management is designed to provide the most stable rendering of the GPU utilization options.

Rendering with Unmanaged GPU Memory

With the Unmanaged (2) option, graphics data is stored on the GPU, but only the GPU driver attempts to handle the graphics memory allocation. This option is faster than the default as soon as a large amount of GPU memory is required, such as for volume rendering or large isosurfaces. However, the unmanaged setting is a little less reliable than the default setting since older GPUs or drivers can crash when taxed too strongly by an application.

NoteConsider this option only if you have the latest graphics card, or at least a recent one, along with up-to-date drivers for it.
Rendering with Opportunistic GPU Memory

The Opportunistic (3) option attempts to use a GPU to its maximum capacity. Currently this option only makes a difference with how volume rendering allocates memory.

NoteConsider this option only if you have the latest graphics card, or at least a recent one, along with up-to-date drivers for it.