2025-01-15 17:25:30 +01:00

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}}