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
Once you have a working MPI implementation and the mpicc compiler wrapper is on your search path, you can install this package using pip:
$ python -m pip install mpi4py
You can also install the in-development version of mpi4py using pip:
$ python -m pip install git+https://github.com/mpi4py/mpi4py
or:
$ python -m pip install https://github.com/mpi4py/mpi4py/tarball/master
You can also install it directly on Fedora (as well as RHEL and their derivatives using the EPEL software repository)
using dnf and the mpich package on x86_64:
$ dnf install mpi4py-mpich
using dnf and the openmpi package on x86_64:
$ dnf install mpi4py-openmpi
Please remember to load the correct module for your choosen MPI environment
for mpich package on x86_64 do:
$ module load mpi/mpich-x86_64 $ python -c "import mpi4py"
for openmpi package on x86_64 do:
$ module load mpi/openmpi-x86_64 $ python -c "import mpi4py"
Citations
If MPI for Python been significant to a project that leads to an academic publication, please acknowledge that fact by citing the project.
L. Dalcin and Y.-L. L. Fang, mpi4py: Status Update After 12 Years of Development, Computing in Science & Engineering, 23(4):47-54, 2021. https://doi.org/10.1109/MCSE.2021.3083216
L. Dalcin, P. Kler, R. Paz, and A. Cosimo, Parallel Distributed Computing using Python, Advances in Water Resources, 34(9):1124-1139, 2011. https://doi.org/10.1016/j.advwatres.2011.04.013
L. Dalcin, R. Paz, M. Storti, and J. D’Elia, MPI for Python: performance improvements and MPI-2 extensions, Journal of Parallel and Distributed Computing, 68(5):655-662, 2008. https://doi.org/10.1016/j.jpdc.2007.09.005
L. Dalcin, R. Paz, and M. Storti, MPI for Python, Journal of Parallel and Distributed Computing, 65(9):1108-1115, 2005. https://doi.org/10.1016/j.jpdc.2005.03.010
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for mpi4py-3.1.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8173defef9ed5eb9c1647efc128dafae1125ae924e719484c4a0ac1accdcfd2 |
|
MD5 | c0ef28773c48aef8f85f47551c4119b6 |
|
BLAKE2b-256 | 993b7e001212f8e528255770a476f33faa79fd79230cfe63a6e263ae77927f08 |
Hashes for mpi4py-3.1.0-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd991b89ca5edcb7e59e299f152a449fa359158236950744f2219a4adc36bacf |
|
MD5 | c65177ecd72b554868d53ce13bdea65d |
|
BLAKE2b-256 | e215aa999bbebdd3b9510b397a3c594147314ab196ffad1b19f3343bd1ff35dc |
Hashes for mpi4py-3.1.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 414e34bfcc8178fcc42f35d3bbda708fba2af222b824a4b68a7a362ec2e6236e |
|
MD5 | 32459e81298991d6270f09763623340e |
|
BLAKE2b-256 | d8ba82005266e5f71ed17cd116fa81da005e6fc5b97b3e1acba8e76d3ab14792 |
Hashes for mpi4py-3.1.0-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c4535bfd7d619a3810b83894a17296fb2951df53ddccbbb3937793712c60074 |
|
MD5 | c3cc2f095c8c09a950ffd1eb7e0ef71b |
|
BLAKE2b-256 | 60768be976a152669c66d2a65ed2fbdbed560addc6b906d90eab4b07390407a7 |
Hashes for mpi4py-3.1.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f291108a406b5ec3c2154e491e35e42933ed087c195fa7906948c6b5abe2a68 |
|
MD5 | 14ae0788bbcce3ac8922b1db84518d8f |
|
BLAKE2b-256 | b42a4f88775ea7e015254fdc188467de8c799e6c67c5ff6c90d98c0250515a38 |
Hashes for mpi4py-3.1.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bcbd2d34d38cc0ec43532a39733bcc2b00b2d2bd45d8375d46c41895997f3aa |
|
MD5 | 6cce4b9454ad8efe347ba1a2471c14cb |
|
BLAKE2b-256 | c0b9f47268b0241aa26342bc2612793936e7795d1e807bbba965c3341325e3fe |
Hashes for mpi4py-3.1.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6eba969e29835d79b64ed5e9bb48ecb275191fc9bd706857382059f1d300cc9 |
|
MD5 | d1ab67f5fe6eccd62b6ee128c6bfe3d4 |
|
BLAKE2b-256 | 5344bcaa8f59642e7eecd86e939a5eb24b0f2a36d77332203aeebb976b6e8377 |
Hashes for mpi4py-3.1.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96e0d66bf0124e4e8a742767d411211e855e05ab752b6a4951a35939a384cee9 |
|
MD5 | a4bf496816fe84112308fbb24e5f470b |
|
BLAKE2b-256 | c091e9058962b9c20c35d9a2ed830ad3a19c166888607b58b42ae71606d2585a |
Hashes for mpi4py-3.1.0-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbbd47a3b85fe8eedeb95db19d4f805a4660f0bbeb12e6f74ab4f7c94b4289c9 |
|
MD5 | b9a14408cdd6893c3d10ec602188a137 |
|
BLAKE2b-256 | 9e36a694b62c407da8251b7e3035714f4af26c23c83c3ce39a89276425122ce7 |
Hashes for mpi4py-3.1.0-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9eea61691f63588a45aa8efc5c949081276582747d7da3102dfb052cd43bc93e |
|
MD5 | 582d777ee8dc47193691625939f17f0b |
|
BLAKE2b-256 | 4fa8b6a48031f8e0ccdefac34b51354af7af217f0b87b989ef6a935addb86f24 |
Hashes for mpi4py-3.1.0-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da2510b8af01371f54a74ee6132fb55daf6eed46c829f6eaac141eef7ee22597 |
|
MD5 | 1221c434b4ecac435940738643e5e826 |
|
BLAKE2b-256 | d36b7c14f02bc0c50685325613219c1b581e5c6409c6f77f7290df697ec7460d |
Hashes for mpi4py-3.1.0-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10924440bbc25e78574b2eb19318c7f7efc5ec37802bf04643cf886289419cd7 |
|
MD5 | 184e2b45db556e9242dc6bc244978ce2 |
|
BLAKE2b-256 | d7c46663374a8b990d2d2d0891cd8d5e7ad740bd819f2aa62d74d633b666b9e1 |