Skip to main content

Python bindings for MPI

Project description

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.

Features

This package supports:

  • Convenient communication of any picklable Python object

    • point-to-point (send & receive)

    • collective (broadcast, scatter & gather, reductions)

  • Fast communication of Python object exposing the Python buffer interface (NumPy arrays, builtin bytes/string/array objects)

    • point-to-point (blocking/nonbloking/persistent send & receive)

    • collective (broadcast, block/vector scatter & gather, reductions)

  • Process groups and communication domains

    • Creation of new intra/inter communicators

    • Cartesian & graph topologies

  • Parallel input/output:

    • read & write

    • blocking/nonbloking & collective/noncollective

    • individual/shared file pointers & explicit offset

  • Dynamic process management

    • spawn & spawn multiple

    • accept/connect

    • name publishing & lookup

  • One-sided operations

    • remote memory access (put, get, accumulate)

    • passive target syncronization (start/complete & post/wait)

    • active target syncronization (lock & unlock)

Install

You can install mpi4py from its source distribution using pip:

$ python -m pip install mpi4py

You can also install the in-development version with:

$ python -m pip install git+https://github.com/mpi4py/mpi4py

or:

$ python -m pip install https://github.com/mpi4py/mpi4py/tarball/master

Installing from source requires compilers and a working MPI implementation. The mpicc compiler wrapper is looked for on the executable search path (PATH environment variable). Alternatively, you can set the MPICC environment variable to the full path or command corresponding to the MPI-aware C compiler.

The conda-forge community provides ready-to-use binary packages from an ever growing collection of software libraries built around the multi-platform conda package manager. Three MPI implementations are available on conda-forge: Open MPI (Linux and macOS), MPICH (Linux and macOS), and Microsoft MPI (Windows). You can install mpi4py and your preferred MPI implementation using conda:

* to use MPICH do::

$ conda install -c conda-forge mpi4py mpich

  • to use Open MPI do:

    $ conda install -c conda-forge mpi4py openmpi
  • to use Microsoft MPI do:

    $ conda install -c conda-forge mpi4py msmpi

MPICH and many of its derivatives are ABI-compatible. You can provide the package specification mpich=X.Y.*=external_* (where X and Y are the major and minor version numbers) to request the conda package manager to use system-provided MPICH (or derivative) libraries.

The openmpi package on conda-forge has built-in CUDA support, but it is disabled by default. To enable it, follow the instruction outlined during conda install. Additionally, UCX support is also available once the ucx package is installed.

On Fedora Linux systems (as well as RHEL and their derivatives using the EPEL software repository), you can install binary packages with the system package manager:

* using ``dnf`` and the ``mpich`` package::

$ sudo dnf install python3-mpi4py-mpich

  • using dnf and the openmpi package:

    $ sudo dnf install python3-mpi4py-openmpi

Please remember to load the correct MPI module for your chosen MPI implementation

  • for the mpich package do:

    $ module load mpi/mpich-$(arch)
    $ python -c "from mpi4py import MPI"
  • for the openmpi package do:

    $ module load mpi/openmpi-$(arch)
    $ python -c "from mpi4py import MPI"

On Ubuntu Linux and Debian Linux systems, binary packages are available for installation using the system package manager:

$ sudo apt install python3-mpi4py

Note that on Ubuntu/Debian systems, the mpi4py package uses Open MPI. To use MPICH, install the libmpich-dev and python3-dev packages (and any other required development tools). Afterwards, install mpi4py from sources using pip.

macOS users can install mpi4py using the Homebrew package manager:

$ brew install mpi4py

Note that the Homebrew mpi4py package uses Open MPI. Alternatively, install the mpich package and next install mpi4py from sources using pip.

Windows users can install mpi4py from binary wheels hosted on the Python Package Index (PyPI) using pip:

$ python -m pip install mpi4py

Windows wheels require a separate, system-wide installation of the Microsoft MPI runtime.

Citations

If MPI for Python been significant to a project that leads to an academic publication, please acknowledge that fact by citing the project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mpi4py-3.1.5.tar.gz (2.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mpi4py-3.1.5-cp312-cp312-win_amd64.whl (471.9 kB view details)

Uploaded CPython 3.12Windows x86-64

mpi4py-3.1.5-cp312-cp312-win32.whl (398.1 kB view details)

Uploaded CPython 3.12Windows x86

mpi4py-3.1.5-cp311-cp311-win_amd64.whl (466.0 kB view details)

Uploaded CPython 3.11Windows x86-64

mpi4py-3.1.5-cp311-cp311-win32.whl (394.8 kB view details)

Uploaded CPython 3.11Windows x86

mpi4py-3.1.5-cp310-cp310-win_amd64.whl (472.1 kB view details)

Uploaded CPython 3.10Windows x86-64

mpi4py-3.1.5-cp310-cp310-win32.whl (398.5 kB view details)

Uploaded CPython 3.10Windows x86

mpi4py-3.1.5-cp39-cp39-win_amd64.whl (475.8 kB view details)

Uploaded CPython 3.9Windows x86-64

mpi4py-3.1.5-cp39-cp39-win32.whl (402.0 kB view details)

Uploaded CPython 3.9Windows x86

mpi4py-3.1.5-cp38-cp38-win_amd64.whl (480.2 kB view details)

Uploaded CPython 3.8Windows x86-64

mpi4py-3.1.5-cp38-cp38-win32.whl (406.4 kB view details)

Uploaded CPython 3.8Windows x86

mpi4py-3.1.5-cp37-cp37m-win_amd64.whl (459.3 kB view details)

Uploaded CPython 3.7mWindows x86-64

mpi4py-3.1.5-cp37-cp37m-win32.whl (394.7 kB view details)

Uploaded CPython 3.7mWindows x86

mpi4py-3.1.5-cp36-cp36m-win_amd64.whl (521.1 kB view details)

Uploaded CPython 3.6mWindows x86-64

mpi4py-3.1.5-cp36-cp36m-win32.whl (436.4 kB view details)

Uploaded CPython 3.6mWindows x86

mpi4py-3.1.5-cp35-cp35m-win_amd64.whl (473.9 kB view details)

Uploaded CPython 3.5mWindows x86-64

mpi4py-3.1.5-cp35-cp35m-win32.whl (389.4 kB view details)

Uploaded CPython 3.5mWindows x86

mpi4py-3.1.5-cp27-cp27m-win_amd64.whl (484.8 kB view details)

Uploaded CPython 2.7mWindows x86-64

mpi4py-3.1.5-cp27-cp27m-win32.whl (406.2 kB view details)

Uploaded CPython 2.7mWindows x86

File details

Details for the file mpi4py-3.1.5.tar.gz.

File metadata

  • Download URL: mpi4py-3.1.5.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5.tar.gz
Algorithm Hash digest
SHA256 a706e76db9255135c2fb5d1ef54cb4f7b0e4ad9e33cbada7de27626205f2a153
MD5 d474cc89e1f20893f4b1810456eecfe3
BLAKE2b-256 2e1a1393e69df9cf7b04143a51776727dd048586781bca82543594ab439e2eb4

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 471.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for mpi4py-3.1.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8b38ad45a843bcbd7d11e23fd901016bb8069f35a9d4500666090465a2f734f2
MD5 a2a9e75579347db1c88c5d5ed3b8802a
BLAKE2b-256 2bd6f5cf70e877969871bf3bf3defbb5c2d9a0524ff59db39c498e5a5a712235

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp312-cp312-win32.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp312-cp312-win32.whl
  • Upload date:
  • Size: 398.1 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for mpi4py-3.1.5-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 17cc793bf2fe3921f2c3cda59a2a708d2e0c68ce07c8b9d2b6ee1a9adc28fe3d
MD5 45536d9b2c4e0fedb94f565e5a3a5a60
BLAKE2b-256 e6898a65e994eb9840102781daf3a7624fe46f92c899e05134a3129836ad2b7a

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 466.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d854dae2e62042a0355fa24ef7bea50b5380414806319240a57e654be1e59d9c
MD5 a11574ee6a81fc187ca075b7601e1069
BLAKE2b-256 d65e94811843d8c99729bf2b73341ef74b5874c661b8110dec690fe315dddd7e

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp311-cp311-win32.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp311-cp311-win32.whl
  • Upload date:
  • Size: 394.8 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f73686e3ff8f76bacb9ecacba0515f84392ad4c561b76603f9680f0fe64ef0ed
MD5 483bef1f7eb9fb0cde24555b26936887
BLAKE2b-256 3159cae090e24040a9803314745bcb800ff7d901fd4b46ad18b458f72008bddd

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 472.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 aec0e6238ed76c930c07df7dcea19f3be5ca958fb76353e668b19511ed4c86d7
MD5 68fc6719da9b06a7e670efdd689ba165
BLAKE2b-256 f84210730250c6ae7d4b28941d5717601695ae1a3d49dbe06ef3e64e17b6f33a

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp310-cp310-win32.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp310-cp310-win32.whl
  • Upload date:
  • Size: 398.5 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 f39df0d985cb6fb342ee6c6902cadf21b2d828d7df00b182573da0242646b715
MD5 f281fbd029995e88750da3e097a9a4f4
BLAKE2b-256 e98601a7daadd0f507b742dabf8ec7ee36765b46a305ca8676185ada3e6bfa3c

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 475.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3a2853b7b41899a17c3f1e6ad27e48a30e98d49d12830b345672fef3a6dcc8d6
MD5 5812a97956960d98eb43ef98d3601bac
BLAKE2b-256 b217a8ffbd8dc7261247d02b354be56ea4a8570bf8eb039531dc16237b0f3f44

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp39-cp39-win32.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp39-cp39-win32.whl
  • Upload date:
  • Size: 402.0 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 c4e6e776e183dbf3aa0945679303120716bb3f0826faeeb740dc5a055fcff3a8
MD5 c270e0371228cd0d69737d78a744b69f
BLAKE2b-256 3545291d95908822b5ddbf6e9b3811b58f41e34a6539be6e6df47e3a109e40f7

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 480.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 edf2224fa9c4416f891ac87f8e5b8a754ab45bc31dcfc4fbc8e29d6c643084c9
MD5 638cf23d813cace0b2816ad0cb83a653
BLAKE2b-256 e5d7f97257f3119feeea0680b1f80ca68686824f4203822ba703feea061c5693

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp38-cp38-win32.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp38-cp38-win32.whl
  • Upload date:
  • Size: 406.4 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 265f4c0a9cfdd606701fa36e0b373afae5930bedbf03c8360fd62f8c38639bf6
MD5 0f620381e7a93210bcb38190fe55e70b
BLAKE2b-256 563a35b02ac6b672b34a2dd76fb11385669703901f60ee21d8796b83a869ab6a

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 459.3 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8574fe09d34d89531be6e640d18b54f7b7a046514de069f18c181bafeff51108
MD5 2b39136b35632fa9d3135db7a619223b
BLAKE2b-256 da37b05f47de0285182fee5b99218cf79e0065b0da4561823f8d1959539d1da8

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp37-cp37m-win32.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 394.7 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 9cc87b70ce7164fbc521c45bbc4f5fb9acce8ea70d3503da0768ef67ba52186a
MD5 d8bf410065af94e054eafc16170bcf60
BLAKE2b-256 b07c15ff16c2f069c1552cec46ad64afc12e8a3450f1824ce6e0707166132c21

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 521.1 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 0de523428e15b453539da14208489a19f9fc7570cc8f9d1a3365175e441bba8e
MD5 819c6d241d32f1e731eadd509b40b260
BLAKE2b-256 9f5f06216c8a3bee8f65251a42d9e54c311e016edf5a67fdd66fd715ebdd2ed6

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp36-cp36m-win32.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 436.4 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 dd7ebe2d9c52330670e2424ba3a535df999e57bdaf3a93a8967fede1d2d5927d
MD5 3059541e7f6007f57c71393cd42c3520
BLAKE2b-256 167ce2cc1e1537e17448f7898626f4b671372c04fd09a912e9b2f0d39ebd78a9

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 473.9 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 de6291eb7587e09637bc56f0e00d94863a1253f9d06b2ee97937bb9d49b53615
MD5 ee1ec3fe1f69ded8991921995cc5c805
BLAKE2b-256 680289a8710f800e13090bec6d8d997d1ecf1d4805df94eb24ece4c93b759863

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp35-cp35m-win32.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 389.4 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 61d6c5df1803002cf6c61523417d48f9ecf64b55808e3d9d47815c174d7125dd
MD5 3503ce0a1d6d6544b7822877f376a4fb
BLAKE2b-256 c8b39698164173c5b0b5cf618b3efb485565589e69616a3e61fcf23ed784eb69

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp27-cp27m-win_amd64.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp27-cp27m-win_amd64.whl
  • Upload date:
  • Size: 484.8 kB
  • Tags: CPython 2.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 b3e06c9ef1d0a2da3d5c7431bbf4af50a01ac9915fb4ab33409a21cd9e67be9c
MD5 6fc9c067c411a39bb8ee2dda8daf1e57
BLAKE2b-256 385320dd6a50ef5a98e53511345c423aab98387508feafe3b19f0e00912767ce

See more details on using hashes here.

File details

Details for the file mpi4py-3.1.5-cp27-cp27m-win32.whl.

File metadata

  • Download URL: mpi4py-3.1.5-cp27-cp27m-win32.whl
  • Upload date:
  • Size: 406.2 kB
  • Tags: CPython 2.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for mpi4py-3.1.5-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 dbc47296a560d2a5aa50d716cb9bf90552349687ee068a493d646e3f6c20a9a4
MD5 05098663682eb0fede734b7c8c25c3a6
BLAKE2b-256 b747008a6ba4fd84bc798239ca4157315f765f34961260aeab908100a482d410

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page