Graphics Processing Unit (GPU)
A Graphics Processing Unit (GPU) is a system which can be used to improve the performance of computationally intensive engineering applications. GPU Computing is a process which uses the GPU to execute computational intensive sections of the application and the rest of the code runs on the CPU.
Implementation
GPU can be used to accelerate the sparse direct equation solver through the NVIDIA CUDA programming model. GPU computing is implemented by off-loading most of the computation intensive work to the GPU and concurrently overlapping the communication and data transfer between the CPU cores and the GPU.
Compatibility
- GPU computing is available for:
- Linear static analysis (using MUMPS, BCS, or PCG solvers) and optimization.
- Nonlinear static and Nonlinear Transient analysis (using MUMPS or PCG solvers).
- Eigenvalue analysis (using AMSES or Lanczos eigensolvers).
- Direct Frequency Response analysis (using MUMPS solver).
- GPU computing is available on Linux and Windows platforms.
- GPU can be used along with SMP and DDM in the same run for MUMPS and PCG solvers.
- For eigenvalue analysis/modal frequency/modal transient response analysis, OptiStruct GPU is recommended for any of the following cases:
- Eigenvalue analysis on blocky structures, for example bricks, cubes, cylinders, and so on, and/or,
- Eigenvalue analysis which requests a large number of modes, for example, over 10000 modes. Similarly, GPU can also be used to run Modal Frequency Response Analysis, wherein the modal extraction step requests a large number of modes.
- NVIDIA Kepler, Maxwell, Pascal, and Volta architecture-based Tesla and Quadro graphic cards are supported. Recommended cards are listed in the table in the support section below.
Commands to Activate GPU
-gpu
is used to activate OptiStruct
GPU. The -gpuid
run option can be used to pick the desired graphic card for
computation when multiple cards are present. Additionally, for the PCG iterative solver,
multiple GPU cards can be used simultaneously for the run. This can be accomplished by using
-ngpu
run option. Currently, a maximum of 8 GPU cards can be used for the
parallel GPU run with models running the PCG solver. -gpu
. Command Line Option | Value | Action |
---|---|---|
-gpu |
Activates GPU computing | |
-ngpu |
N | Specifies the number of GPU cards to be used for
the run. Default = 1 and Maximum = 8. |
-gpuid |
N | Integer: Optional, selects the GPU card
Default = 1 |
-core in
(at least
-core out
) is recommended when the memory in system is large
enough.OptiStruct, currently only supports a maximum of 8
graphics cards in a specific solution (via -ngpu#)
. Refer to the Altair HyperWorks
2024.1 Solvers Unit Draw page for OptiStruct GPU licensing information.
Recommended GPU Computing Processor List
Manufacturer and Model | Graphics Card | Driver Version (minimum or higher) |
---|---|---|
NVIDIA (Tesla) |
P100 V100 A100 |
Linux (64-bit):
440.33 Windows (64-bit): 441.22 |
NVIDIA (Quadro) |
GP100 GV100 |
Linux (64-bit):
440.33 Windows (64-bit): 441.22 |