MPI: Difference between revisions
No edit summary |
No edit summary |
||
Line 17: | Line 17: | ||
You can find all MVAPICH2 modules available on Sapelo2 by running the following command on a Sapelo2 node: | You can find all MVAPICH2 modules available on Sapelo2 by running the following command on a Sapelo2 node: | ||
<pre class="gcommand"> | <pre class="gcommand"> | ||
module spider | module spider MVAPICH2 | ||
</pre> | </pre> | ||
Module names that have an -QDR or -EDR extension only work for the corresponding IB network. Module names without such an extension can be used on either IB network. | |||
The module names have the format MVAPICH2/''Version''-''CompilerToolchain''-''ToolchainVersion''. | |||
For example, these are some of the modules available: | |||
<pre class="gcomment"> | |||
[shtsai@ss-sub1 ~]$ module spider MVAPICH2 | |||
----------------------------------------------------------------------------------------------------------------------------------------------- | |||
MVAPICH2: | |||
----------------------------------------------------------------------------------------------------------------------------------------------- | |||
Description: | |||
This is an MPI 3.1 implementation. It is based on MPICH2 and MVICH. | |||
Versions: | |||
MVAPICH2/2.3.2-GCC-7.3.0-2.30-EDR | |||
MVAPICH2/2.3.2-GCC-8.3.0-EDR | |||
MVAPICH2/2.3.2-iccifort-2013_sp1.0.080-EDR | |||
MVAPICH2/2.3.2-iccifort-2015.2.164-GCC-4.8.5-EDR | |||
MVAPICH2/2.3.2-iccifort-2018.1.163-GCC-6.4.0-2.28-EDR | |||
MVAPICH2/2.3.2-iccifort-2019.5.281-EDR | |||
MVAPICH2/2.3.4-GCC-7.3.0-2.30 | |||
MVAPICH2/2.3.4-GCC-8.3.0 | |||
MVAPICH2/2.3.4-iccifort-2019.5.281 | |||
Other possible modules matches: | |||
gmvapich2 | |||
----------------------------------------------------------------------------------------------------------------------------------------------- | |||
To find other possible module matches execute: | |||
$ module -r spider '.*MVAPICH2.*' | |||
----------------------------------------------------------------------------------------------------------------------------------------------- | |||
For detailed information about a specific "MVAPICH2" package (including how to load the modules) use the module's full name. | |||
module | Note that names that have a trailing (E) are extensions provided by other modules. | ||
For example: | |||
$ module spider MVAPICH2/2.3.4-iccifort-2019.5.281 | |||
----------------------------------------------------------------------------------------------------------------------------------------------- | |||
</pre> | </pre> | ||
Once the appropriate module is loaded, you can compile code with '''mpicc''', '''mpic++''', '''mpif90''', etc | Once the appropriate module is loaded, you can compile code with '''mpicc''', '''mpic++''', '''mpif90''', etc | ||
Line 54: | Line 70: | ||
You can find all OpenMPI modules available on Sapelo2 by running the following command on a Sapelo2 node: | You can find all OpenMPI modules available on Sapelo2 by running the following command on a Sapelo2 node: | ||
<pre class="gcommand"> | <pre class="gcommand"> | ||
module spider | module spider OpenMPI | ||
</pre> | </pre> | ||
The module names have the format OpenMPI/''Version''-''CompilerToolchain''-''ToolchainVersion'' and they should all work on QDR and on EDR nodes. | |||
For example, these are some of the modules available: | |||
<pre class="gcomment"> | |||
<pre class=" | [shtsai@ss-sub1 ~]$ module spider OpenMPI | ||
module | |||
----------------------------------------------------------------------------------------------------------------------------------------------- | |||
OpenMPI: | |||
----------------------------------------------------------------------------------------------------------------------------------------------- | |||
Description: | |||
The Open MPI Project is an open source MPI-3 implementation. | |||
Versions: | |||
OpenMPI/1.8.4-iccifort-2013_sp1.0.080 | |||
OpenMPI/1.8.4-iccifort-2015.2.164-GCC-4.8.5 | |||
OpenMPI/2.1.2-iccifort-2018.1.163-GCC-6.4.0-2.28 | |||
OpenMPI/3.1.1-gcccuda-2018b | |||
OpenMPI/3.1.4-GCC-8.3.0-nosrun | |||
OpenMPI/3.1.4-GCC-8.3.0 | |||
OpenMPI/3.1.4-gcccuda-2019b | |||
----------------------------------------------------------------------------------------------------------------------------------------------- | |||
For detailed information about a specific "OpenMPI" package (including how to load the modules) use the module's full name. | |||
module | Note that names that have a trailing (E) are extensions provided by other modules. | ||
For example: | |||
$ module spider OpenMPI/3.1.4-gcccuda-2019b | |||
----------------------------------------------------------------------------------------------------------------------------------------------- | |||
</pre> | </pre> | ||
Revision as of 12:40, 28 October 2020
MPI Libraries for parallel jobs on Sapelo2
All compute nodes on Sapelo2 have Infiniband (IB) interconnect. For a subset of (older) compute nodes, internodal communication among them is provided by a QDR Infiniband network (40Gbps). For another subset of (newer) compute nodes, these communications are provided by an EDR Infiniband network (100Gbps).
Various IB-enabled MPI libraries are available and users can set the environment variables for the MPI library of choice by loading the corresponding module file. Some of the MPI libraries are specific for the QDR network or for the EDR network.
For more information on Environment Modules, please see the Lmod page.
The following MPI libraries are available:
MVAPICH2
You can find all MVAPICH2 modules available on Sapelo2 by running the following command on a Sapelo2 node:
module spider MVAPICH2
Module names that have an -QDR or -EDR extension only work for the corresponding IB network. Module names without such an extension can be used on either IB network.
The module names have the format MVAPICH2/Version-CompilerToolchain-ToolchainVersion.
For example, these are some of the modules available:
[shtsai@ss-sub1 ~]$ module spider MVAPICH2 ----------------------------------------------------------------------------------------------------------------------------------------------- MVAPICH2: ----------------------------------------------------------------------------------------------------------------------------------------------- Description: This is an MPI 3.1 implementation. It is based on MPICH2 and MVICH. Versions: MVAPICH2/2.3.2-GCC-7.3.0-2.30-EDR MVAPICH2/2.3.2-GCC-8.3.0-EDR MVAPICH2/2.3.2-iccifort-2013_sp1.0.080-EDR MVAPICH2/2.3.2-iccifort-2015.2.164-GCC-4.8.5-EDR MVAPICH2/2.3.2-iccifort-2018.1.163-GCC-6.4.0-2.28-EDR MVAPICH2/2.3.2-iccifort-2019.5.281-EDR MVAPICH2/2.3.4-GCC-7.3.0-2.30 MVAPICH2/2.3.4-GCC-8.3.0 MVAPICH2/2.3.4-iccifort-2019.5.281 Other possible modules matches: gmvapich2 ----------------------------------------------------------------------------------------------------------------------------------------------- To find other possible module matches execute: $ module -r spider '.*MVAPICH2.*' ----------------------------------------------------------------------------------------------------------------------------------------------- For detailed information about a specific "MVAPICH2" package (including how to load the modules) use the module's full name. Note that names that have a trailing (E) are extensions provided by other modules. For example: $ module spider MVAPICH2/2.3.4-iccifort-2019.5.281 -----------------------------------------------------------------------------------------------------------------------------------------------
Once the appropriate module is loaded, you can compile code with mpicc, mpic++, mpif90, etc
and you can run applications that were linked to the MPI libraries loaded by the module.
OpenMPI
You can find all OpenMPI modules available on Sapelo2 by running the following command on a Sapelo2 node:
module spider OpenMPI
The module names have the format OpenMPI/Version-CompilerToolchain-ToolchainVersion and they should all work on QDR and on EDR nodes.
For example, these are some of the modules available:
[shtsai@ss-sub1 ~]$ module spider OpenMPI ----------------------------------------------------------------------------------------------------------------------------------------------- OpenMPI: ----------------------------------------------------------------------------------------------------------------------------------------------- Description: The Open MPI Project is an open source MPI-3 implementation. Versions: OpenMPI/1.8.4-iccifort-2013_sp1.0.080 OpenMPI/1.8.4-iccifort-2015.2.164-GCC-4.8.5 OpenMPI/2.1.2-iccifort-2018.1.163-GCC-6.4.0-2.28 OpenMPI/3.1.1-gcccuda-2018b OpenMPI/3.1.4-GCC-8.3.0-nosrun OpenMPI/3.1.4-GCC-8.3.0 OpenMPI/3.1.4-gcccuda-2019b ----------------------------------------------------------------------------------------------------------------------------------------------- For detailed information about a specific "OpenMPI" package (including how to load the modules) use the module's full name. Note that names that have a trailing (E) are extensions provided by other modules. For example: $ module spider OpenMPI/3.1.4-gcccuda-2019b -----------------------------------------------------------------------------------------------------------------------------------------------
Once the appropriate module is loaded, you can compile code with mpicc, mpic++, mpif90, etc and you can run applications that were linked to the MPI libraries loaded by the module.
MPI Libraries for parallel jobs on the teaching cluster
All compute nodes on the teaching cluster are connected via a gigabit Ethernet network. MPI libraries currently installed on the teaching cluster are listed below.
OpenMPI
You can find all OpenMPI modules available on the teaching cluster by running the following command on a teaching cluster node:
module spider openmpi
These are some of the modules available:
- OpenMPI 2.1.2, using GNU 6.4.0 compilers, available in module OpenMPI/2.1.2-GCC-6.4.0-2.28. To use it, load the module with
module load OpenMPI/2.1.2-GCC-6.4.0-2.28
- OpenMPI 2.0.2, using GNU 6.3.0 compilers, available in module OpenMPI/2.0.2-GCC-6.3.0-2.27. To use it, load the module with
module load OpenMPI/2.0.2-GCC-6.3.0-2.27
- OpenMPI 1.10.3, using GNU 5.4.0 compilers, available in module OpenMPI/1.10.3-GCC-5.4.0-2.26. To use it, load the module with
module load OpenMPI/1.10.3-GCC-5.4.0-2.26