/mpi4py

Python bindings for MPI

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

MPI for Python

https://github.com/mpi4py/mpi4py/workflows/ci/badge.svg?branch=master https://readthedocs.org/projects/mpi4py/badge/?version=latest https://dev.azure.com/mpi4py/mpi4py/_apis/build/status/ci?branchName=master&label=azure https://ci.appveyor.com/api/projects/status/whh5xovp217h0f7n?svg=true https://circleci.com/gh/mpi4py/mpi4py.svg?style=shield
pypy mpi4py conda-forge anaconda
homebrew fedora ubuntu debian archlinux

Overview

This package provides Python bindings for the Message Passing Interface (MPI) standard. It is implemented on top of the MPI specification and exposes an API which grounds on the standard MPI-2 C++ bindings.

Prerequisites

  • Python 3.6 or above, or PyPy 7.2 or above.
  • An MPI implementation like MPICH or Open MPI built with shared/dynamic libraries.

Documentation

Support

Testsuite

The testsuite is run periodically on

Citation

  • M. Rogowski, S. Aseeri, D. Keyes, and L. Dalcin, mpi4py.futures: MPI-Based Asynchronous Task Execution for Python, IEEE Transactions on Parallel and Distributed Systems, 34(2):611-622, 2023. https://doi.org/10.1109/TPDS.2022.3225481