11.9.2 Parallel execution in ABAQUS/Standard

Products: ABAQUS/Standard  ABAQUS/CAE  

References

Overview

Parallel execution in ABAQUS/Standard:

  • reduces run time for large analyses;

  • is available for shared memory computers for the Lanczos eigensolver; and

  • is available for shared memory computers and computer clusters for the element operations, direct sparse solver, and iterative linear equation solver.

Parallel equation solution with the direct sparse solver

The direct sparse solver supports both shared memory computers and computer clusters for parallelization.

On shared memory computers, thread-based parallelization is used. The number of processors used for MPI-based parallel execution of element operations is equal to the number of processors used for the direct sparse solver.

On computer clusters, hybrid MPI and thread-based parallelization is used. This requires MPI-based parallel execution of element operations. The direct sparse solver cannot be used on computer clusters if:

  • the analysis also uses the iterative linear equation solver or the Lanczos eigensolver; or

  • the analysis requires features for which parallel execution of element operations is not supported.

In addition, the direct sparse solver cannot be used on computer clusters for analyses that require unsymmetric matrices or multiple right-hand sides. Features that require unsymmetric matrices include:

Features that requires multiple right-hand sides include:

To execute the parallel direct sparse solver on computer clusters, the environment variable mp_host_list must be set to a list of host machines (see Using the ABAQUS environment settings, Section 3.3.1). MPI-based parallelization is used between the machines in the host list. If more than one processor is available on a machine in the host list, thread-based parallelization is used within that host machine. For example, if the environment file has the following:

cpus=4
mp_host_list=[['maple',2],['pine',2]]
the direct sparse solver will use two processors on each host through thread-based parallelization. A total of two MPI processes will be run across the host machines, while all four processors are used for equation solution. The number of host machines, two in this example, will determine the number of processors used for parallel element operations.

Input File Usage:           Enter the following input on the command line:

abaqus job=job-name cpus=n

For example, the following input will run the job “beam” on two processors:

abaqus job=beam cpus=2 

ABAQUS/CAE Usage: 

Job module: job editor: Parallelization: toggle on Use multiple processors, and specify the number of processors, n


Memory requirements for the parallel direct sparse solver

The direct parallel solver processes multiple fronts in parallel, in addition to parallelizing the solution of individual fronts. Therefore, the direct parallel solver requires more memory than the serial solver. The memory requirements are not predictable exactly in advance since it is not determined a priori which fronts will actually be processed simultaneously.

Parallel eigenvalue extraction with the Lanczos eigensolver

The Lanczos eigensolver uses thread-based parallelization; therefore, parallel execution of the Lanczos eigensolver is available only on shared memory computers. The number of solver threads is equal to the number of processors used for the analysis. Parallel execution of element operations is not supported with the Lanczos eigensolver.

Input File Usage:           Enter the following input on the command line:

abaqus job=job-name cpus=n

For example, the following input will run the job “beam” on two processors:

abaqus job=beam cpus=2 

ABAQUS/CAE Usage: 

Job module: job editor: Parallelization: toggle on Use multiple processors, and specify the number of processors, n


Parallel equation solution with the iterative solver

Parallelization of the domain decomposition-based iterative linear equation solver is achieved by mapping groups of domains to individual processors. To activate the parallel iterative solver, specify the number of CPUs for the job. Both MPI and thread-based parallelization modes are supported with the iterative solver. Parallel execution of element operations is supported only with the MPI-based parallel implementation.

Input File Usage:           Enter the following input on the command line:

abaqus job=job-name cpus=n

For example, the following input will run the job “beam” on two processors with the domain-level parallelization method:

abaqus job=beam cpus=2

In this case half of the iterative solver domains will be mapped to each of the processors.


ABAQUS/CAE Usage: 

Job module: job editor: Parallelization: toggle on Use multiple processors, and specify the number of processors, n


Parallel execution of the element operations in ABAQUS/Standard

Parallel execution of the element operations is the default on platforms where MPI-based parallelization is supported. The command line and environment variable standard_parallel can be used to control the parallel execution of the element operations (see Using the ABAQUS environment settings, Section 3.3.1, and Execution procedure for ABAQUS/Standard and ABAQUS/Explicit, Section 3.2.2). If parallel execution of the element operations is used, the solvers will automatically run in parallel as well.

Parallel execution of the element operations is not supported for analyses that include any of the following procedures:

In addition, parallel execution of the element operations is not supported for analyses that include any of the following:

Input File Usage:           Enter the following input on the command line:

abaqus job=job-name cpus=n


ABAQUS/CAE Usage: Parallel execution of the element operations is not supported in ABAQUS/CAE.

Memory management with parallel execution of the element operations

When running parallel execution of the element operations in ABAQUS/Standard, specifying the upper limit of the memory that can be used (see The standard_memory parameter” in “Managing memory and disk use in ABAQUS, Section 3.4.1) specifies the maximum amount of memory that can be allocated by each process.

Transverse shear stress output for stacked continuum shells

The output variables CTSHR13 and CTSHR23 are currently not available when running parallel execution of the element operations in ABAQUS/Standard. See Continuum shell element library, Section 23.6.8.