3.3 KiB
title, last_updated, keywords, summary, sidebar, permalink
title | last_updated | keywords | summary | sidebar | permalink |
---|---|---|---|---|---|
OpenMPI Support | 15 January 2025 | software, openmpi, slurm | This document describes how to use OpenMPI in the Merlin7 cluster | merlin7_sidebar | /merlin7/openmpi.html |
Introduction
This document outlines the supported OpenMPI versions in the Merlin7 cluster.
OpenMPI supported versionso
The Merlin cluster supports OpenMPI versions across three distinct stages: stable, unstable, and deprecated. Below is an overview of each stage:
Stable
Versions in the stable
stage are fully functional, thoroughly tested, and officially supported by the Merlin administrators.
These versions are available via Pmodules and Spack, ensuring compatibility and reliability for production use.
Unstable
Versions in the unstable
stage are available for testing and early access to new OpenMPI features.
While these versions can be used, their compilation and configuration are subject to change before they are promoted to the stable
stage.
Administrators recommend caution when relying on unstable
versions for critical workloads.
Deprecated
Versions in the deprecated
stage are no longer supported by the Merlin administrators.
Typically, these include versions no longer supported by the official OpenMPI project.
While deprecated versions may still be available for use, their functionality cannot be guaranteed, and they will not receive updates or bug fixes.
Using srun in Merlin7
In OpenMPI versions prior to 5.0.x, using srun
for direct task launches was faster than mpirun
.
Although this is no longer the case, srun
remains the recommended method due to its simplicity and ease of use.
Key benefits of srun
:
- Automatically handles task binding to cores.
- In general, requires less configuration compared to
mpirun
. - Best suited for most users, while
mpirun
is recommended only for advanced MPI configurations.
Guidelines:
- Always adapt your scripts to use srun before seeking support.
- For any module-related issues, please contact the Merlin7 administrators.
Example Usage:
srun ./app
{{site.data.alerts.tip}} Always run OpenMPI applications with srun for a seamless experience. {{site.data.alerts.end}}
PMIx Support in Merlin7
Merlin7's SLURM installation includes support for multiple PMI types, including pmix. To view the available options, use the following command:
🔥 [caubet_m@login001:~]# srun --mpi=list
MPI plugin types are...
none
pmix
pmi2
cray_shasta
specific pmix plugin versions available: pmix_v5,pmix_v4,pmix_v3,pmix_v2
Important Notes:
- For OpenMPI, always use
pmix
by specifying the appropriate version (pmix_$version
). When loading an OpenMPI module (via Pmodules or Spack), the corresponding PMIx version will be automatically loaded. - Users do not need to manually manage PMIx compatibility.
{{site.data.alerts.warning}} PMI-2 is not supported in OpenMPI 5.0.0 or later releases. Despite this, pmi2 remains the default SLURM PMI type in Merlin7 as it is the officially supported type and maintains compatibility with other MPI implementations. {{site.data.alerts.end}}