Difference between revisions of "MPI"

From Research Computing Center Wiki
Jump to navigation Jump to search
 
(28 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Sapelo]][[Category:Sapelo2]][[Category:Teaching]]
+
[[Category:Sapelo2]][[Category:Teaching]]
  
===MPI Libraries for parallel jobs on Sapelo===
+
==MPI Libraries for parallel jobs on Sapelo2==
  
All compute nodes on Sapelo have Qlogic Infiniband (IB) interconnect. 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. For more information on Environment Modules, please see the [[Lmod]] page.
+
All compute nodes on Sapelo2 have Infiniband (IB) interconnect via '''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 were installed specifically for the QDR network or for the EDR network and those module files will have an '''-QDR''' or '''-EDR''' extension in their names. -->
 +
 
 +
For more information on Environment Modules, please see the [[Lmod]] page.
 
   
 
   
 
The following MPI libraries are available:
 
The following MPI libraries are available:
 
+
<!--
 
====MVAPICH2====
 
====MVAPICH2====
  
* MVAPICH2 2.0.0, using GNU 4.4.7 compilers, available in module mvapich2/2.0.0/gcc/4.4.7. To use it, load the module with
+
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 load mvapich2/2.0.0/gcc/4.4.7
+
module spider MVAPICH2
 
</pre>
 
</pre>
* MVAPICH2 2.0.0, using PGI 14.9 compilers, available in module mvapich2/2.0.0/pgi/14.9. To use it, load the module with
+
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''.
<pre class="gcommand">
+
 
module load mvapich2/2.0.0/pgi/14.9
+
For example, these are some of the modules available:
</pre>
+
 
* MVAPICH2 2.1, using PGI 14.10 compilers, available in module mvapich2/2.1/pgi/14.10. To use it, load the module with
+
<pre class="gcomment">
<pre class="gcommand">
+
[shtsai@ss-sub1 ~]$ module spider MVAPICH2
module load mvapich2/2.1/pgi/14.10
+
 
</pre>
+
-----------------------------------------------------------------------------------------------------------------------------------------------
* MVAPICH2 2.1, using Intel 14.0 compilers, available in module mvapich2/2.1/intel/14.0. To use it, load the module with
+
  MVAPICH2:
<pre class="gcommand">
+
-----------------------------------------------------------------------------------------------------------------------------------------------
module load mvapich2/2.1/intel/14.0
+
    Description:
</pre>
+
      This is an MPI 3.1 implementation. It is based on MPICH2 and MVICH.
* MVAPICH2 2.1, using GNU 4.4.7 compilers, available in module mvapich2/2.1/gcc/4.4.7. To use it, load the module with
+
 
<pre class="gcommand">
+
    Versions:
module load mvapich2/2.1/gcc/4.4.7
+
        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
 +
        MVAPICH2/2.3.6-GCC-9.3.0
 +
    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.6-GCC-9.3.0
 +
-----------------------------------------------------------------------------------------------------------------------------------------------
 
</pre>
 
</pre>
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.
 
  
 +
Once the appropriate module is loaded, you can compile code with '''mpicc, mpicxx,''' '''mpic++,''' '''mpifort,''' '''mpif90,''' '''mpif77,''' etc. and you can run applications that were linked to the '''MPI libraries''' loaded by the module.
 +
-->
 
====OpenMPI====
 
====OpenMPI====
  
* OpenMPI 1.8.3, using GNU 4.4.7 compilers, available in module openmpi/1.8.3/gcc/4.4.7. To use it, load the module with
+
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 load openmpi/1.8.3/gcc/4.4.7
+
module spider OpenMPI
 
</pre>
 
</pre>
* OpenMPI 1.8.3, using PGI 14.9 compilers, available in module openmpi/1.8.3/pgi/14.9. To use it, load the module with
+
 
<pre class="gcommand">
+
The module names have the format OpenMPI/''Version''-''CompilerToolchain''-''ToolchainVersion''.
module load openmpi/1.8.3/pgi/14.9
+
 
</pre>
+
For example, these are some of the modules available:
* OpenMPI 1.8.3, using Intel 15.0.2 compilers, available in module openmpi/1.8.3/intel/15.0.2. To use it, load the module with
+
 
<pre class="gcommand">
+
<pre class="gcomment">
module load openmpi/1.8.3/intel/15.0.2
+
[shtsai@ss-sub1 ~]$ module spider OpenMPI
</pre>
+
 
* OpenMPI 1.8.3, using Intel 14.0.0 compilers, available in module openmpi/1.8.3/intel/14.0. To use it, load the module with
+
-----------------------------------------------------------------------------------------------------------------------------------------------
<pre class="gcommand">
+
  OpenMPI:
module load openmpi/1.8.3/intel/14.0
+
-----------------------------------------------------------------------------------------------------------------------------------------------
</pre>
+
    Description:
* OpenMPI 1.8.3, using GNU 5.3.0 compilers, available in module openmpi/1.8.3/gcc/5.3.0. To use it, load the module with
+
      The Open MPI Project is an open source MPI-3 implementation.
<pre class="gcommand">
+
 
module load openmpi/1.8.3/gcc/5.3.0
+
    Versions:
</pre>
+
        OpenMPI/3.1.4-GCC-8.3.0
* OpenMPI 1.8.3, using GNU 4.7.4 compilers, available in module openmpi/1.8.3/gcc/4.7.4. To use it, load the module with
+
        OpenMPI/3.1.4-iccifort-2019.5.281
<pre class="gcommand">
+
        OpenMPI/4.0.5-GCC-10.2.0
module load openmpi/1.8.3/gcc/4.7.4
+
        OpenMPI/4.1.1-GCC-10.3.0
 +
        OpenMPI/4.1.1-GCC-11.2.0
 +
        OpenMPI/4.1.4-GCC-11.3.0
 +
        OpenMPI/4.1.4-GCC-12.2.0
 +
        OpenMPI/4.1.4-intel-compilers-2022.1.0
 +
 
 +
------------------------------------------------------------------------------------------------------------------------------------------------
 +
  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/4.1.4-GCC-12.2.0
 +
-----------------------------------------------------------------------------------------------------------------------------------------------
 
</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, mpiCC, mpicxx,''' '''mpic++,''' '''mpifort,''' '''mpif90,''' '''mpif77,''' etc. and you can run applications that were linked to the '''MPI libraries''' loaded by the module.
and you can run applications that were linked to the MPI libraries loaded by the module.
+
 
 +
=== Intel MPI ===
 +
You can find all Intel MPI modules available on Sapelo2 by running the following command on a Sapelo2 node:<pre class="gcommand">
 +
module spider impi
 +
</pre>The module names have the format impi/''Version''-''CompilerToolchain''-''ToolchainVersion.''
 +
 
 +
For example, these are some of the modules available:<pre class="gcomment">
 +
[shtsai@ss-sub1 ~]$ module spider impi
 +
 
 +
------------------------------------------------------------------------------------------------------------------------------------
 +
  impi:
 +
------------------------------------------------------------------------------------------------------------------------------------
 +
    Description:
 +
      Intel MPI Library, compatible with MPICH ABI
  
 +
    Versions:
 +
        impi/2021.4.0-intel-compilers-2021.4.0
 +
        impi/2021.6.0-intel-compilers-2022.1.0
 +
        impi/2021.9.0-intel-compilers-2023.1.0
 +
    Other possible modules matches:
 +
        iimpi
  
 +
------------------------------------------------------------------------------------------------------------------------------------
 +
  To find other possible module matches execute:
  
----
+
      $ module -r spider '.*impi.*'
[[#top|Back to Top]]
 
  
 +
------------------------------------------------------------------------------------------------------------------------------------
 +
  For detailed information about a specific "impi" 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 impi/2021.9.0-intel-compilers-2023.1.0
 +
------------------------------------------------------------------------------------------------------------------------------------
 +
</pre>Once the appropriate module is loaded, you can compile code with '''mpicc, mpiicc, mpicxx, mpiicpc,''' '''mpiifort,''' '''mpif90,''' '''mpif77,''' etc. and you can run applications that were linked to the '''MPI libraries''' loaded by the module.
  
===MPI Libraries for parallel jobs on Sapelo2===
+
===MPI commands and how to launch MPI programs===
  
All compute nodes on Sapelo2 have Infiniband (IB) interconnect. 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. For more information on Environment Modules, please see the [[Lmod]] page.
+
{|  width="100%" border="1"  cellspacing="0" cellpadding="2" align="center" class="wikitable unsortable"
+
|-
The following MPI libraries are available:
+
! scope="col" | MPI library
 +
! scope="col" | Version
 +
! scope="col" | Base toolchain
 +
! scope="col" | Toolchain
 +
! scope="col" | Fortran
 +
! scope="col" | C
 +
! scope="col" | C++
 +
! scope="col" | How to launch with Slurm
 +
|-
  
====MVAPICH2====
+
| OpenMPI || 3.1.4-GCC-8.3.0 || GCCcore-8.3.0 || foss/2019b || mpif90 || mpicc || mpicxx || srun --mpi=pmi2
 +
|-
 +
| OpenMPI || 3.1.4-iccifort-2019.5.281 || GCCcore-8.3.0 || iomkl/2019b || mpif90 || mpicc || mpicxx || srun --mpi=pmi2
 +
|-
 +
| OpenMPI || 4.0.5-GCC-10.2.0 || GCCcore-10.2.0 || foss/2020b || mpif90 || mpicc || mpicxx || srun --mpi=pmi2
 +
|-
 +
| OpenMPI || 4.1.1-GCC-11.2.0 || GCCcore-11.2.0 || foss/2021b || mpif90 || mpicc || mpicxx || srun
 +
|-
 +
| OpenMPI || 4.1.4-GCC-11.3.0 || GCCcore-11.3.0 || foss/2022a || mpif90 || mpicc || mpicxx || srun
 +
|-
 +
| OpenMPI || 4.1.4-intel-compilers-2022.1.0 || GCCcore-11.3.0 || iomkl/2022a || mpif90 || mpicc || mpicxx || srun
 +
|-
 +
| OpenMPI || 4.1.4-GCC-12.2.0 || GCCcore-12.2.0 || foss/2022b || mpif90 || mpicc || mpicxx || srun
 +
|-
 +
| Intel MPI || 2021.4.0-intel-compilers-2021.4.0 || GCCcore-11.2.0 || intel/2021b || mpiifort || mpiicc || mpiicpc || srun
 +
|-
 +
| Intel MPI || 2021.6.0-intel-compilers-2022.1.0 || GCCcore-11.3.0 || intel/2022a || mpiifort || mpiicc || mpiicpc || srun
 +
|-
 +
| Intel MPI || 2021.9.0-intel-compilers-2023.1.0 || GCCcore-12.3.0 || intel/2023a || mpiifort || mpiicc || mpiicpc || srun
 +
|-
 +
|}
  
You can find all MVAPICH2 modules available on Sapelo2 by running the following command on a Sapelo2 node:
+
----
<pre class="gcommand">
+
[[#top|Back to Top]]
module spider mvapich2
 
</pre>
 
  
These are some of the modules available:
+
==MPI Libraries for parallel jobs on the teaching cluster==
  
* MVAPICH2 2.2, using GNU 5.4.0 compilers, available in module MVAPICH2/2.2-GCC-5.4.0-2.26. To use it, load the module with
+
All compute nodes on Sapelo2 have Infiniband (IB) interconnect via '''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.
<pre class="gcommand">
 
module load MVAPICH2/2.2-GCC-5.4.0-2.26
 
</pre>
 
  
* MVAPICH2 2.2, using GNU 6.4.0 compilers, available in module MVAPICH2/2.2-GCC-6.4.0-2.28. To use it, load the module with
+
For more information on Environment Modules, please see the [[Lmod]] page.
<pre class="gcommand">
 
module load MVAPICH2/2.2-GCC-6.4.0-2.28
 
</pre>
 
  
* MVAPICH2 2.2, Intel 2013_sp1.0.080 compilers, available in module MVAPICH2/2.2-iccifort-2013_sp1.0.080. To use it, load the module with
+
The following MPI libraries are available:
<pre class="gcommand">
+
<!--
module load MVAPICH2/2.2-iccifort-2013_sp1.0.080
+
====MVAPICH2====
</pre>
 
  
* MVAPICH2 2.2, Intel 2015.2.164 compilers, available in module MVAPICH2/2.2-iccifort-2015.2.164-GCC-4.8.5. To use it, load the module with
+
You can find all MVAPICH2 modules available on the teaching cluster by running the following command:
 
<pre class="gcommand">
 
<pre class="gcommand">
module load MVAPICH2/2.2-iccifort-2015.2.164-GCC-4.8.5
+
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''.
  
* MVAPICH2 2.2, Intel 2018.1.163 compilers, available in module MVAPICH2/2.2-iccifort-2018.1.163-GCC-6.4.0-2.28. To use it, load the module with
+
For example, these are some of the modules available:
<pre class="gcommand">
 
module load MVAPICH2/2.2-iccifort-2018.1.163-GCC-6.4.0-2.28
 
</pre>
 
  
Once the appropriate module is loaded, you can compile code with '''mpicc''', '''mpic++''', '''mpif90''', etc
+
<pre class="gcomment">
and you can run applications that were linked to the MPI libraries loaded by the module.
+
zhuofei@teach-sub1 ~$ ml spider MVAPICH2
  
====OpenMPI====
+
------------------------------------------------------------------------------------------------------------------------------------
 +
  MVAPICH2:
 +
------------------------------------------------------------------------------------------------------------------------------------
 +
    Description:
 +
      This is an MPI 3.1 implementation. It is based on MPICH2 and MVICH.
  
You can find all OpenMPI modules available on Sapelo2 by running the following command on a Sapelo2 node:
+
    Versions:
<pre class="gcommand">
+
        MVAPICH2/2.3.2-GCC-7.3.0-2.30-EDR
module spider openmpi
+
        MVAPICH2/2.3.2-GCC-8.3.0-EDR
</pre>
+
        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
 +
    Other possible modules matches:
 +
        gmvapich2
  
These are some of the modules available:
+
------------------------------------------------------------------------------------------------------------------------------------
 +
  To find other possible module matches execute:
  
* OpenMPI 3.0.0, using GNU 7.2.0 compilers, available in module OpenMPI/3.0.0-GCC-7.2.0-2.29. To use it, load the module with
+
      $ module -r spider '.*MVAPICH2.*'
<pre class="gcommand">
 
module load OpenMPI/3.0.0-GCC-7.2.0-2.29
 
</pre>
 
  
* 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
+
------------------------------------------------------------------------------------------------------------------------------------
<pre class="gcommand">
+
  For detailed information about a specific "MVAPICH2" package (including how to load the modules) use the module's full name.
module load OpenMPI/2.1.2-GCC-6.4.0-2.28
+
  Note that names that have a trailing (E) are extensions provided by other modules.
</pre>
+
  For example:
  
* 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 spider MVAPICH2/2.3.4-GCC-7.3.0-2.30
<pre class="gcommand">
+
------------------------------------------------------------------------------------------------------------------------------------
module load OpenMPI/1.10.3-GCC-5.4.0-2.26
 
 
</pre>
 
</pre>
  
* OpenMPI 1.10.3, using GNU 4.4.7 compilers, available in module OpenMPI/1.10.3-GCC-4.4.7. To use it, load the module with
+
Once the appropriate module is loaded, you can compile code with '''mpicc, mpicxx,''' '''mpic++,''' '''mpifort,''' '''mpif90,''' '''mpif77,''' etc. and you can run applications that were linked to the '''MPI libraries''' loaded by the module.
<pre class="gcommand">
+
-->
module load OpenMPI/1.10.3-GCC-4.4.7
+
====OpenMPI====
</pre>
 
  
* OpenMPI 3.0.0, using Intel 2018.1.163 compilers, available in module OpenMPI/3.0.0-iccifort-2018.1.163-GCC-6.4.0-2.28. To use it, load the module with
+
You can find all OpenMPI modules available on the teaching cluster by running the following command:
 
<pre class="gcommand">
 
<pre class="gcommand">
module load OpenMPI/3.0.0-iccifort-2018.1.163-GCC-6.4.0-2.28
+
module spider OpenMPI
 
</pre>
 
</pre>
  
* OpenMPI 2.1.2, using Intel 2018.1.163 compilers, available in module OpenMPI/2.1.2-iccifort-2018.1.163-GCC-6.4.0-2.28. To use it, load the module with
+
The module names have the format OpenMPI/''Version''-''CompilerToolchain''-''ToolchainVersion''.
<pre class="gcommand">
 
module load OpenMPI/2.1.2-iccifort-2018.1.163-GCC-6.4.0-2.28
 
</pre>
 
  
* OpenMPI 1.10.7, using Intel 2018.1.163 compilers, available in module OpenMPI/1.10.7-iccifort-2018.1.163-GCC-6.4.0-2.28. To use it, load the module with
+
For example, these are some of the modules available:
<pre class="gcommand">
 
module load OpenMPI/1.10.7-iccifort-2018.1.163-GCC-6.4.0-2.28
 
</pre>
 
  
* OpenMPI 1.10.7, using Intel 2015.2.164 compilers, available in module OpenMPI/1.10.7-iccifort-2015.2.164-GCC-4.8.5. To use it, load the module with
+
<pre class="gcomment">
<pre class="gcommand">
+
zhuofei@teach-sub1 ~$ ml spider OpenMPI
module load OpenMPI/1.10.7-iccifort-2015.2.164-GCC-4.8.5
 
</pre>
 
  
* OpenMPI 1.8.4, using Intel 2015.2.164 compilers, available in module OpenMPI/1.8.4-iccifort-2015.2.164-GCC-4.8.5. To use it, load the module with
+
------------------------------------------------------------------------------------------------------------------------------------
<pre class="gcommand">
+
  OpenMPI:
module load OpenMPI/1.8.4-iccifort-2015.2.164-GCC-4.8.5
+
------------------------------------------------------------------------------------------------------------------------------------
</pre>
+
    Description:
 +
      The Open MPI Project is an open source MPI-3 implementation.
  
* OpenMPI 1.8.4, using Intel 2013_sp1.0.080 compilers, available in module OpenMPI/1.8.4-iccifort-2013_sp1.0.080. To use it, load the module with
+
    Versions:
<pre class="gcommand">
+
        OpenMPI/3.1.4-GCC-8.3.0
module load OpenMPI/1.8.4-iccifort-2013_sp1.0.080
+
        OpenMPI/4.1.1-GCC-11.2.0
</pre>
+
        OpenMPI/4.1.2-GCC-11.2.0
 +
        OpenMPI/4.1.4-GCC-11.3.0
 +
        OpenMPI/4.1.4-GCC-12.2.0
  
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.
+
  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/4.1.4-GCC-12.2.0
[[#top|Back to Top]]
+
------------------------------------------------------------------------------------------------------------------------------------
 +
</pre>
  
 +
Once the appropriate module is loaded, you can compile code with '''mpicc, mpiCC, mpicxx,''' '''mpic++,''' '''mpifort,''' '''mpif90,''' '''mpif77,''' etc. and you can run applications that were linked to the '''MPI libraries''' loaded by the module.
  
 +
=== Intel MPI ===
 +
You can find all Intel MPI modules available on the teaching cluster by running the following command:<pre class="gcommand">
 +
module spider impi
 +
</pre>The module names have the format impi/''Version''-''CompilerToolchain''-''ToolchainVersion''.
  
===MPI Libraries for parallel jobs on the teaching cluster===
+
For example, these are some of the modules available:<pre class="gcomment">
 +
zhuofei@teach-sub1 ~$ ml spider impi
  
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.
+
------------------------------------------------------------------------------------------------------------------------------------
 +
  impi: impi/2018.5.288-iccifort-2019.5.281
 +
------------------------------------------------------------------------------------------------------------------------------------
 +
    Description:
 +
      Intel MPI Library, compatible with MPICH ABI
  
====OpenMPI====
+
    Versions:
 +
        impi/2021.4.0-intel-compilers-2021.4.0
 +
        impi/2021.6.0-intel-compilers-2022.1.0
 +
        impi/2021.9.0-intel-compilers-2023.1.0
 +
    Other possible modules matches:
 +
        iimpi
  
You can find all OpenMPI modules available on the teaching cluster by running the following command on a teaching cluster node:
+
------------------------------------------------------------------------------------------------------------------------------------
<pre class="gcommand">
+
  To find other possible module matches execute:
module spider openmpi
 
</pre>
 
  
These are some of the modules available:
+
      $ module -r spider '.*impi.*'
  
* 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
+
------------------------------------------------------------------------------------------------------------------------------------
<pre class="gcommand">
+
  For detailed information about a specific "impi" package (including how to load the modules) use the module's full name.
module load OpenMPI/2.1.2-GCC-6.4.0-2.28
+
  Note that names that have a trailing (E) are extensions provided by other modules.
</pre>
+
  For example:
  
* 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 spider impi/2021.9.0-intel-compilers-2023.1.0
<pre class="gcommand">
+
------------------------------------------------------------------------------------------------------------------------------------
module load OpenMPI/2.0.2-GCC-6.3.0-2.27
+
</pre>Once the appropriate module is loaded, you can compile code with '''mpicc, mpiicc, mpicxx, mpiicpc,''' '''mpiifort,''' '''mpif90,''' '''mpif77,''' etc. and you can run applications that were linked to the '''MPI libraries''' loaded by the module.
</pre>
 
  
* 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
+
[[#top|Back to Top]]
<pre class="gcommand">
 
module load OpenMPI/1.10.3-GCC-5.4.0-2.26
 
</pre>
 

Latest revision as of 10:45, 16 October 2023


MPI Libraries for parallel jobs on Sapelo2

All compute nodes on Sapelo2 have Infiniband (IB) interconnect via 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.

For more information on Environment Modules, please see the Lmod page.

The following MPI libraries are available:

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.

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/3.1.4-GCC-8.3.0
        OpenMPI/3.1.4-iccifort-2019.5.281
        OpenMPI/4.0.5-GCC-10.2.0
        OpenMPI/4.1.1-GCC-10.3.0
        OpenMPI/4.1.1-GCC-11.2.0
        OpenMPI/4.1.4-GCC-11.3.0
        OpenMPI/4.1.4-GCC-12.2.0
        OpenMPI/4.1.4-intel-compilers-2022.1.0

------------------------------------------------------------------------------------------------------------------------------------------------
  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/4.1.4-GCC-12.2.0
-----------------------------------------------------------------------------------------------------------------------------------------------

Once the appropriate module is loaded, you can compile code with mpicc, mpiCC, mpicxx, mpic++, mpifort, mpif90, mpif77, etc. and you can run applications that were linked to the MPI libraries loaded by the module.

Intel MPI

You can find all Intel MPI modules available on Sapelo2 by running the following command on a Sapelo2 node:

module spider impi

The module names have the format impi/Version-CompilerToolchain-ToolchainVersion. For example, these are some of the modules available:

[shtsai@ss-sub1 ~]$ module spider impi

------------------------------------------------------------------------------------------------------------------------------------
  impi:
------------------------------------------------------------------------------------------------------------------------------------
    Description:
      Intel MPI Library, compatible with MPICH ABI

     Versions:
        impi/2021.4.0-intel-compilers-2021.4.0
        impi/2021.6.0-intel-compilers-2022.1.0
        impi/2021.9.0-intel-compilers-2023.1.0
     Other possible modules matches:
        iimpi

------------------------------------------------------------------------------------------------------------------------------------
  To find other possible module matches execute:

      $ module -r spider '.*impi.*'

------------------------------------------------------------------------------------------------------------------------------------
  For detailed information about a specific "impi" 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 impi/2021.9.0-intel-compilers-2023.1.0
------------------------------------------------------------------------------------------------------------------------------------

Once the appropriate module is loaded, you can compile code with mpicc, mpiicc, mpicxx, mpiicpc, mpiifort, mpif90, mpif77, etc. and you can run applications that were linked to the MPI libraries loaded by the module.

MPI commands and how to launch MPI programs

MPI library Version Base toolchain Toolchain Fortran C C++ How to launch with Slurm
OpenMPI 3.1.4-GCC-8.3.0 GCCcore-8.3.0 foss/2019b mpif90 mpicc mpicxx srun --mpi=pmi2
OpenMPI 3.1.4-iccifort-2019.5.281 GCCcore-8.3.0 iomkl/2019b mpif90 mpicc mpicxx srun --mpi=pmi2
OpenMPI 4.0.5-GCC-10.2.0 GCCcore-10.2.0 foss/2020b mpif90 mpicc mpicxx srun --mpi=pmi2
OpenMPI 4.1.1-GCC-11.2.0 GCCcore-11.2.0 foss/2021b mpif90 mpicc mpicxx srun
OpenMPI 4.1.4-GCC-11.3.0 GCCcore-11.3.0 foss/2022a mpif90 mpicc mpicxx srun
OpenMPI 4.1.4-intel-compilers-2022.1.0 GCCcore-11.3.0 iomkl/2022a mpif90 mpicc mpicxx srun
OpenMPI 4.1.4-GCC-12.2.0 GCCcore-12.2.0 foss/2022b mpif90 mpicc mpicxx srun
Intel MPI 2021.4.0-intel-compilers-2021.4.0 GCCcore-11.2.0 intel/2021b mpiifort mpiicc mpiicpc srun
Intel MPI 2021.6.0-intel-compilers-2022.1.0 GCCcore-11.3.0 intel/2022a mpiifort mpiicc mpiicpc srun
Intel MPI 2021.9.0-intel-compilers-2023.1.0 GCCcore-12.3.0 intel/2023a mpiifort mpiicc mpiicpc srun

Back to Top

MPI Libraries for parallel jobs on the teaching cluster

All compute nodes on Sapelo2 have Infiniband (IB) interconnect via 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.

For more information on Environment Modules, please see the Lmod page.

The following MPI libraries are available:

OpenMPI

You can find all OpenMPI modules available on the teaching cluster by running the following command:

module spider OpenMPI

The module names have the format OpenMPI/Version-CompilerToolchain-ToolchainVersion.

For example, these are some of the modules available:

zhuofei@teach-sub1 ~$ ml spider OpenMPI

------------------------------------------------------------------------------------------------------------------------------------
  OpenMPI:
------------------------------------------------------------------------------------------------------------------------------------
    Description:
      The Open MPI Project is an open source MPI-3 implementation.

     Versions:
        OpenMPI/3.1.4-GCC-8.3.0
        OpenMPI/4.1.1-GCC-11.2.0
        OpenMPI/4.1.2-GCC-11.2.0
        OpenMPI/4.1.4-GCC-11.3.0
        OpenMPI/4.1.4-GCC-12.2.0

--------------------------------------------------------------------------------------------------------------------------------------
  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/4.1.4-GCC-12.2.0
------------------------------------------------------------------------------------------------------------------------------------

Once the appropriate module is loaded, you can compile code with mpicc, mpiCC, mpicxx, mpic++, mpifort, mpif90, mpif77, etc. and you can run applications that were linked to the MPI libraries loaded by the module.

Intel MPI

You can find all Intel MPI modules available on the teaching cluster by running the following command:

module spider impi

The module names have the format impi/Version-CompilerToolchain-ToolchainVersion. For example, these are some of the modules available:

zhuofei@teach-sub1 ~$ ml spider impi

------------------------------------------------------------------------------------------------------------------------------------
  impi: impi/2018.5.288-iccifort-2019.5.281
------------------------------------------------------------------------------------------------------------------------------------
    Description:
      Intel MPI Library, compatible with MPICH ABI

     Versions:
        impi/2021.4.0-intel-compilers-2021.4.0
        impi/2021.6.0-intel-compilers-2022.1.0
        impi/2021.9.0-intel-compilers-2023.1.0
     Other possible modules matches:
        iimpi

------------------------------------------------------------------------------------------------------------------------------------
  To find other possible module matches execute:

      $ module -r spider '.*impi.*'

------------------------------------------------------------------------------------------------------------------------------------
  For detailed information about a specific "impi" 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 impi/2021.9.0-intel-compilers-2023.1.0
------------------------------------------------------------------------------------------------------------------------------------

Once the appropriate module is loaded, you can compile code with mpicc, mpiicc, mpicxx, mpiicpc, mpiifort, mpif90, mpif77, etc. and you can run applications that were linked to the MPI libraries loaded by the module.

Back to Top