1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
==============
MPI for Python
==============
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.
.. _MPI: https://www.mpi-forum.org
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/nonblocking/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/nonblocking & 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 synchronization (start/complete & post/wait)
+ active target synchronization (lock & unlock)
Install
=======
See `INSTALL.rst <INSTALL.rst>`_.
.. include:: INSTALL.rst
Citation
========
If MPI for Python been significant to a project that leads to an
academic publication, please acknowledge that fact by citing the
project.
See `CITATION.rst <CITATION.rst>`_.
.. include:: CITATION.rst
|