GPGPU Functionality

Only certain solvers in Simcenter STAR-CCM+ are compatible with running on GPGPUs. If you select a solver that is not GPGPU-compatible, the entire simulation runs on the CPU instead. Simcenter STAR-CCM+ warns you when it takes this fallback option.

To avoid this fallback to the CPU, the command line option -require-gpgpu-compatibility can be added. When non-GPGPU-compatible solvers are active, this causes an input error to be issued at solver execution time instead of falling back to running on the CPU. In batch execution, this effectively stops the job.

Although Simcenter STAR-CCM+ provides a warning when you select a solver that is not compatible with GPGPU, you are advised to check the following tables for solvers and models that are compatible, and only choose from those.

Supported Solvers and Models

There are two categories of GPGPU-compatible solvers and models:
GPGPU-enabled solvers
These solvers are fully ported to the GPGPU and perform all heavy computations on the GPGPU when a simulation runs in GPGPU mode.
Hybrid GPGPU-compatible solvers
For these solvers or models, although they are not yet ported to GPGPU operation, choosing them for a simulation does not negatively impact the overall performance of Simcenter STAR-CCM+ in GPGPU mode—nor do they detract from the utilization of the GPGPU. These solvers and models continue to run using the CPUs available to the simulation. For example, the boundary interface intersector may only run during initialization, and not during every iteration in a simulation that requires hundreds or thousands of iterations before reaching convergence. The time spent running the intersector on the CPU is amortized by the full GPGPU utilization over the full course of the simulation.
Solver/Model GPGPU Enabled Hybrid GPGPU Compatible
Boundary Interface Intersector

Gradients Model

Meshers

Passive Scalar Solver

Space/Metrics Models (for example, Three Dimensional model)

Multi-Part Solid Model

Time Solvers
Steady

Implicit Unsteady

PISO Unsteady

Aeroacoustics Solvers
Acoustic Wave (used for the Acoustic Wave model and the Lighthill Wave model)

Perturbed Convective Wave

Partitioning Solver

Coupled Flow Solver
Segregated Flow Solver

Segregated Energy Solver

(Requires that all material properties use one of the following methods: Constant, Polynomial in T,  Power Law, or Sutherland's Law)

Coupled Energy Solver

Turbulence Solvers
Spalart-Allmaras

K-Epsilon

K-Omega

Reynolds Stress

LES

DES

Transition Solvers
Gamma Transition

GammaReTheta Transition

Solution Interpolation Solver

Wall Distance Solvers

Reacting Flow Solvers
Flamelet

Except when the Inert model is used.
Real Gas Equation of State Models
Equilibrium Air

IAPWS-IF97 (Steam)

Peng-Robinson

Redlich-Kwong

Soave-Redlich-Kwong

Modified Soave-Redlich-Kwong

Van der Waals

Surface-to-Surface Radiation Model

Partial Slip Models
Maxwell Slip

Von Smoluchowski Slip

Reports

A certain set of reports is enabled on the GPGPU when those reports are monitored during solution iteration. These reports are GPGPU-enabled only on regions, boundaries, and parts, but not on derived parts. Reports that are not GPGPU-enabled are evaluated on the CPU (such as reports based on user-defined field functions).

The following reports are GPGPU-enabled or can be evaluated on the CPU in GPGPU runs without significant performance penalty:

  • Force/Moment
  • Force/Moment Coefficient
  • Min/Max
  • Solver Elapsed Time
  • Sum
  • Surface/Volume Integral
  • Surface/Volume Average
  • Surface/Volume Standard Deviation
  • Surface/Volume Uniformity
  • Mass Averaged
  • Mass Flow
  • Mass Flow Averaged

Interfaces

The following interface types are GPGPU-enabled and perform all heavy computations on the GPGPU when a simulation runs in GPGPU mode, with either in-place or periodic topology:

  • Baffle
  • Contact
  • Explicit Mapped Contact
  • Fully-Developed
  • Implicit Mapped Contact
  • Internal
  • Mixing-Plane: Implicit
  • Porous Baffle

Field Functions

Primitive, derived (for example, Velocity Magnitude), and user-defined field functions are enabled for GPGPU computing. Additionally, any field monitors and field histories in the simulation are evaluated on the GPU given that the field function inputs are GPGPU-enabled. While almost all user-defined field functions are evaluated on the GPU, some user-defined field functions (such as those that contain table interpolation) are still evaluated on the CPU. However, unlike solvers, they are not a cause for full CPU fallback for the entire simulation run. Evaluating field functions on a CPU in a GPGPU simulation run can cause a performance penalty.