Open MPI
by Open MPI consortium · Library · also known as OpenMPI, ompi
Open-source implementation of the MPI message-passing standard used to run tightly coupled parallel programs across the nodes of a cluster
Overview
Open MPI is an open-source implementation of the Message Passing Interface (MPI) specification, developed and maintained by a consortium of academic, research and industry partners under a 3-clause BSD license variant. MPI is the standard programming model of high-performance computing: processes on different nodes exchange messages and collectives (broadcast, reduce, all-gather) through a library API, and Open MPI provides that library for C, C++ and Fortran programs together with the mpirun launcher (built on PRRTE and PMIx) that starts processes across hosts over SSH or under schedulers such as Slurm, PBS and LSF.
It supports Linux and macOS, many network transports from TCP to InfiniBand, and is packaged by Homebrew and most Linux distributions. On a cluster of Macs it is the usual way to launch MPI-style jobs, and MLX's distributed backend can use MPI as one of its communication options.
It is a low-level tool: there is no scheduling, fault tolerance is limited, and applications must be written explicitly for message passing, which makes it most relevant to scientific codes rather than general data processing.
Capabilities
- MPI point-to-point and collective communication
- mpirun launcher across hosts via SSH or batch schedulers
- Support for many network transports
- C, C++ and Fortran bindings
- Runtime tuning through MCA parameters
Typical workflows
- Run a Fortran or C simulation across several nodes
- Launch MLX distributed jobs with MPI on a Mac cluster
- Integrate MPI jobs into a Slurm allocation
Strengths
- Standards-based and portable across HPC systems
- Permissive BSD license
- Widely packaged and documented
Limitations
- Applications must be written for message passing
- No built-in scheduling or elasticity
- Limited fault tolerance for node failures
Prerequisites
- C/C++/Fortran toolchain
- Passwordless SSH or a scheduler between nodes
Who it is for
- Scientific and HPC developers
- Operators of small compute clusters
Alternatives & comparison
- Dask
Python library for parallel and distributed computing that scales pandas, NumPy and custom task graphs from a laptop to a cluster
Open sourceOpen source - Ray
Open-source Python framework for distributing tasks, actors and ML workloads across a cluster, with libraries for data processing, training, tuning, serving and reinforcement learning
Open sourceOpen source - Slurm Workload Manager
Open-source cluster resource manager and job scheduler for Linux clusters, allocating nodes, launching jobs and managing queues on many HPC systems
Open sourceOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- Licensechecked Nov 1, 2026
- Official documentationchecked Nov 1, 2026
- Official sitechecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Broken · Nov 2, 2026
Spotted an error?
More in Distributed & parallel computing
Kubernetes
Cloud Native Computing Foundation · Containers & virtualization
Open-source system for scheduling, scaling and operating containerized workloads across a cluster of machines
vLLM
vLLM project (originated at UC Berkeley Sky Computing Lab) · Local LLM inference & serving
High-throughput LLM inference and serving engine with PagedAttention, continuous batching, quantization and an OpenAI-compatible server for GPU and accelerator clusters
GNU Parallel
GNU Project (Ole Tange) · Distributed & parallel computing
Shell tool that runs commands in parallel over input lines on one or several machines, as a drop-in alternative to xargs and shell loops
Apache Spark
Apache Software Foundation · Analytical engines & OLAP
Distributed data processing engine with DataFrame and SQL APIs in Python, Scala, Java and R, plus structured streaming and MLlib
exo
Exo Labs · Distributed & parallel computing
Open-source software that pools several Apple Silicon Macs (and Linux hosts) into one local inference cluster, sharding large models across devices with MLX