refactor CSCS and Meg content add merlin6 quick start update merlin6 nomachine docs give the userdoc its own color scheme we use the Materials default one refactored slurm general docs merlin6 add merlin6 JB docs add software support m6 docs add all files to nav vibed changes #1 add missing pages further vibing #2 vibe #3 further fixes
82 lines
3.2 KiB
Markdown
82 lines
3.2 KiB
Markdown
---
|
|
title: OpenMPI Support
|
|
#tags:
|
|
last_updated: 15 January 2025
|
|
keywords: software, openmpi, slurm
|
|
summary: "This document describes how to use OpenMPI in the Merlin7 cluster"
|
|
sidebar: merlin7_sidebar
|
|
permalink: /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](pmodules.md) and [Spack](spack.md), 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](https://www.open-mpi.org/software/ompi/v5.0/) 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:
|
|
```bash
|
|
srun ./app
|
|
```
|
|
|
|
!!! tip
|
|
Always run OpenMPI applications with `srun` for a seamless experience.
|
|
|
|
### 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:
|
|
|
|
```bash
|
|
🔥 [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](pmodules.md) or [Spack](spack.md)), the corresponding PMIx version will be automatically loaded.
|
|
* Users do not need to manually manage PMIx compatibility.
|
|
|
|
!!! 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.
|