Overview
OpenMPI is a widely-used implementation of the Message Passing Interface (MPI) that allows for parallel processing across distributed systems. On SeaWulf, OpenMPI is available for Skylake, Milan, and Haswell nodes with different versions and compiler configurations. This guide provides the necessary steps to load the OpenMPI module, compile MPI applications, and run jobs on the cluster.
Available OpenMPI Modules
Here are the available OpenMPI modules for different node types on SeaWulf:
Skylake Nodes
- openmpi/gcc12.1/4.1.4
Milan Nodes
- openmpi/aocc4.0/4.1.5
- openmpi/gcc13.2/4.1.6
- openmpi/gcc13.2/5.0.2
Haswell Nodes
- openmpi/1.10.1
- openmpi/3.1.5
- openmpi/aocc3.2/4.1.1
- openmpi/openmpi-opal
- openmpi/1.10.1-test
- openmpi/4.0.1
- openmpi/gcc11.2/4.1.1
- openmpi/3.0.0
- openmpi/4.0.5
- openmpi/gcc12.1/4.1.4
Loading a Module
To use OpenMPI, first load the appropriate module for your architecture. For example, if you're working with Milan nodes, you could load the following module:
Select the version that fits your compiler and desired MPI features. If you're using a different node type, ensure you choose the correct module as per the available list.
Compiling with OpenMPI
Once the OpenMPI module is loaded, you can compile your MPI application using the mpicc
compiler. For example, to compile an MPI program:
This command compiles the source code and links it to the OpenMPI library. Be sure to adjust the compiler flags if necessary for your specific program.
Running MPI Jobs
After compiling your MPI program, you can run it using mpirun
. For example, to run your program on 4 processes:
Make sure to adjust the number of processes based on the resources available on your nodes and the requirements of your job.
Important Notes
Ensure that you choose the OpenMPI module that corresponds to your node architecture and compiler. Some versions of OpenMPI are optimized for specific hardware configurations or compiler versions.
Older versions of OpenMPI may not be compatible with newer hardware or features. Verify the compatibility of your job with the OpenMPI version you select to avoid performance issues.
Additional Resources
For additional information on OpenMPI or troubleshooting your MPI applications, consult the SeaWulf documentation or contact support. You can also explore the official OpenMPI website for more detailed guides and FAQs.