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
- 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.