Shared Memory Parallelization (SMP)

Shared Memory Parallelization (SMP) is a parallelization technique that incorporates the usage of multiple threads (or logical processors) in a node to solve problems.

SMP involves the utilization of a Shared Memory paradigm wherein, multiple threads communicate with each other and use a single shared memory space.

Implementation

Shared Memory Parallelization in OptiStruct does not require different executables or the installation of separate components for message passing.

Message passing is typically required for communication between different nodes (SPMD-Hybrid). However, since SMP involves parallelization within a single node, additional MPI run times are not required.


Figure 1. Typical Computer Architecture Layout - Cluster with Three Nodes

Syntax

The standard OptiStruct executable can be used for SMP runs. The OptiStruct script picks the required executable for the run, and simultaneously sets all the required environment variables. Therefore, it is recommended to use the script instead of directly calling the executable. The SMP runs can be activated using the -cpu/-proc/-nproc/-ncpu/-nt/-nthread OptiStruct run options for the Compute Console (ACC) or the script via the Command Line.

Launch OptiStruct SMP

To launch OptiStruct SMP runs, initially investigate the hardware availability for your run.

If you have multiple nodes within a cluster, it is more efficient to take advantage of the OptiStruct SPMD-Hybrid capabilities, instead of only using OptiStruct SMP.

OptiStruct SMP (non-hybrid) is typically useful for single node workstations with multiple logical processors. It leverages the parallelization capabilities of the multiple threads on the workstation.
Note:
  1. There is no restriction on the minimum number of threads for OptiStruct SMP.
  2. OptiStruct SMP (non-hybrid) are typically recommended on single node workstations.
Linux Using Solver Scripts
[optistruct@host]$ $ALTAIR_HOME/scripts/optistruct [INPUTDECK] -nt [NLPROC] [OS_ARGS]
Windows Using Solver Scripts
[optistruct@host]$ $ALTAIR_HOME/hwsolvers/scripts/optistruct.bat [INPUTDECK] -nt [NLPROC] [OS_ARGS]
Where,
[INPUTDECK]
Input deck file name
[NLPROC]
Number of logical processors
[OS_ARGS]
Lists the arguments to OptiStruct (Optional, refer to Run Options for further information).
Note:
  1. OptiStruct SMP can also be launched using the Altair Compute Console (ACC) GUI.
  2. Arguments for the SMP run options are mandatory, there is no default.