Products: ABAQUS/Standard ABAQUS/CAE
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.
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:
coupled temperature-displacement analysis (Fully coupled thermal-stress analysis, Section 6.5.4),
mass diffusion analysis (Mass diffusion analysis, Section 6.8.1),
transient coupled pore fluid and stress analysis (Coupled pore fluid diffusion and stress analysis, Section 6.7.1),
hysteretic material behavior (Hysteresis in elastomers, Section 17.8.1),
absorption or exsorption material behavior (Sorption, Section 20.7.4),
unsymmetric general shell sections (Using a general shell section to define the section behavior, Section 23.6.6 ), and
unsymmetric user elements or user materials (User-defined elements, Section 26.15.1, and User-defined mechanical material behavior, Section 20.8.1).
direct cyclic analysis (Direct cyclic analysis, Section 6.2.6),
inertia relief (Inertia relief, Section 11.1.1),
multiple load case analysis (Multiple load case analysis, Section 6.1.3), and
static stress/displacement analysis using the modified Riks method (Static stress analysis, Section 6.2.2).
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 |
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.
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 |
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 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:
eigenvalue buckling prediction (Eigenvalue buckling prediction, Section 6.2.3),
natural frequency extraction (Natural frequency extraction, Section 6.3.5),
complex eigenvalue extraction (Complex eigenvalue extraction, Section 6.3.6),
steady-state transport (Steady-state transport analysis, Section 6.4.1), and
linear dynamics (Transient modal dynamic analysis, Section 6.3.7; Random response analysis, Section 6.3.11; Response spectrum analysis, Section 6.3.10; Direct-solution steady-state dynamic analysis, Section 6.3.4; Subspace-based steady-state dynamic analysis, Section 6.3.9; and Mode-based steady-state dynamic analysis, Section 6.3.8).
In addition, parallel execution of the element operations is not supported for analyses that include any of the following:
adaptive meshing (Defining ALE adaptive mesh domains in ABAQUS/Standard, Section 12.2.6),
co-simulation (Co-simulation: overview, Section 13.1.1),
crack propagation (Crack propagation analysis, Section 11.4.3),
element matrix output requests (Element matrix output in ABAQUS/Standard” in “Output, Section 4.1.1),
error indicator output requests (Error indicators, Section 12.3.2),
import (Transferring results between ABAQUS analyses: overview, Section 9.2.1),
matrices (Defining matrices, Section 2.10.1),
pressure penetration loading (Pressure penetration loading, Section 30.1.7),
substructures (Substructuring, Section 10.1),
alternative solution techniques except for the quasi-Newton method (Approximate implementation” in “Fully coupled thermal-stress analysis, Section 6.5.4; Approximate implementation” in “Coupled thermal-electrical analysis, Section 6.6.2; Contact iterations, Section 7.1.2; and Specifying the separated method” in “Convergence criteria for nonlinear problems, Section 7.2.3), and
finite sliding in conjunction with the MPI-based iterative solver.
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. |
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.
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.