HyperWorks Solvers

OptiStruct GPU (Graphics Processing Unit)

OptiStruct GPU (Graphics Processing Unit)

Previous topic Next topic No expanding text in this topic  

OptiStruct GPU (Graphics Processing Unit)

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

Introduction


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 the time consuming sections of the application and the rest of the code runs on the CPU.

 

Implementation


Beginning in OptiStruct version 12.0, the 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.

 

Speedup


A speedup in the equation solver of up to 4 times, and up to 3 times overall when compared to a Quad-core Intel Nehalem Xeon run, can be achieved. This heterogeneous computing model is particularly suitable for jobs dominated by the equation solver. For example: nonlinear static analysis on power train structures, topology optimization on blocky structures and so on.

 

Compatibility


1.GPU computing is available for static analysis/optimization.
2.GPU computing is available in 64-bit Linux platform only.
3.GPU computing is NOT supported in the SPMD module.
4.OptiStruct GPU is only supported with the BCS solver (SOLVER=BCS, on the SOLVTYP Bulk Data Entry). Any non-SPMD model can be run using the –gpu run option, however, the GPU will only be used for static subcases which use the BCS solver.
5.NVIDIA Fermi and Kepler architecture based Tesla and Quadro graphic cards are supported. Tesla C2050/C2070/M2090/K10/K20, Quadro 6000/K5000/K6000 cards are recommended for computing by NVIDIA.

 

Activating OptiStruct GPU


Command option -gpu is used to activate OptiStruct GPU. Currently, only one graphics card is supported, and –gpuid can be used to pick the desired graphic card for computation when multiple cards are present. Prior to launching OptiStruct GPU using the option -gpu, you will need to install compatible drivers for the graphics card.

Command Line Option

Value

Action

-gpu

 

Activates GPU computing

-gpuid

N

Integer: Optional, selects the GPU card
Default = 1

 

Note:I/O usually accounts for an appreciable percentage of the total solution time in OptiStruct for an out-of-core or min-core run. This cannot be addressed or improved through GPU computing. Therefore, -core in (at least –core out) is recommended when the memory in system is large enough.
 
OptiStruct, currently only supports one graphics card of a GPU in a specific solution. Each GPU card may typically consist of a multitude of small cores (not comparable to a CPU core). Each GPU graphics card is considered equivalent to 1 CPU core for licensing purposes. Refer to the Altair HyperWorks 2017 Product Licensing Unit Draw page for OptiStruct GPU licensing information.

 

Recommended Tesla GPU Computing Processor List for OptiStruct


The following table lists the recommended Tesla graphic boards for use with the Altair HyperWorks Solver suite of applications for high-powered GPU computing.

Manufacturer

Adaptor Type

Driver Version
(minimum or higher)

NVIDIA
(Tesla C-CLASS series)

C2070
C2075

Linux (64-bit):
295.59

NVIDIA
(Tesla M-CLASS series)

M2090

Linux (64-bit):
295.59

NVIDIA
(Tesla Kepler)

K20

Linux (64-bit)

 

Note:The most recent vendor/manufacturer drivers should be used and all driver support for these cards should be addressed to the appropriate manufacturer of the graphic board.