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/optimization and eigenvalue analysis using AMSES and Lanczos eigensolvers.
- GPU computing is available on Linux and Windows platforms.
- GPU computing is NOT supported in the SPMD module. You can either use MPI-based parallelization (DDM) or use GPU, but not both simultaneously.
- For static analysis, OptiStruct GPU is only supported with the BCS
and PCG solvers (SOLVER=BCS/PCG, on
the SOLVTYP Bulk Data Entry). Any static analysis model can be run
using the
-gpu
run option; however, the GPU will only be used for static subcases which use the BCS or PCG solver. Additionally, multiple GPU support is now available for PCG solver runs, using the-ngpu
run option. - For eigenvalue analysis/modal frequency 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 Tesla P100, Tesla V100, Quadro GP100, and Quadro GV100 for OptiStruct GPU.
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 Simulation
2022.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 |
Linux (64-bit):
440.33 Windows (64-bit): 441.22 |
NVIDIA (Quadro) |
GP100 GV100 |
Linux (64-bit):
440.33 Windows (64-bit): 441.22 |