Hybrid Shared/Distributed Memory Parallelization (SPMD)

Single Program, Multiple Data (SPMD) is a parallelization technique in computing that is employed to achieve faster results by splitting the program into multiple subsets and running them simultaneously on multiple processors/machines.

SPMD typically implies running the same process or program on single or multiple machines (nodes) with different input data for each individual task. In this section, discussion about SPMD typically includes the application of Shared Memory Parallelization (SMP) in conjunction with the MPI-based parallelization. Typically, this combination can be termed as Hybrid Shared/Distributed Memory Parallelization, and it will henceforth be referred to as SPMD.
Table 1. Supported Platforms for OptiStruct SPMD
Application Version Supported Platforms MPI
OptiStruct SPMD 2020.1 Linux 64 bit IBM Platform MPI 9.1.2 (formerly HP-MPI)

or

Intel MPI - Version 2018 Update 4 (recommended)

Windows 64 bit IBM Platform MPI 9.1.2 (formerly HP-MPI)

or

Intel MPI - 5.1.0.078 (recommended)

Supported platforms and MPI versions for Hybrid Shared/Distributed Memory Parallelization (SPMD).

OptiStruct SPMD can be run on either a single node or multiple nodes in a cluster depending upon the program and hardware limitations/requirements. SPMD in OptiStruct is implemented by the following MPI-based functionalities: