-
New features:
mpi4py.futures: Execute computations asynchronously using a pool
of MPI processes. This package is based onconcurrent.futures
from the Python standard library.mpi4py.run: Run Python code and abort execution in case of
unhandled exceptions to prevent deadlocks.mpi4py.bench: Run basic MPI benchmarks and tests.
-
Enhancements:
- Lowercase, pickle-based collective communication calls are now
thread-safe through the use of fine-grained locking. - The
MPImodule now exposes amemorytype which is a
lightweight variant of the builtinmemoryviewtype, but
exposes both the legacy Python 2 and the modern Python 3 buffer
interface under a Python 2 runtime. - The
MPI.Comm.Alltoallw()method now usescount=1and
displ=0as defaults, assuming that messages are specified
through user-defined datatypes. - The
Request.Wait[all]()methods now returnTrueto match
the interface ofRequest.Test[all](). - The
Winclass now implements the Python buffer interface.
- Lowercase, pickle-based collective communication calls are now
-
Backward-incompatible changes:
- The
bufargument of theMPI.Comm.recv()method is
deprecated, passing anything butNoneemits a warning. - The
MPI.Win.memoryproperty was removed, use the
MPI.Win.tomemory()method instead. - Executing
python -m mpi4pyin the command line is now
equivalent topython -m mpi4py.run. For the former behavior,
usepython -m mpi4py.bench. - Python 2.6 and 3.2 are no longer supported. The
mpi4py.MPI
module may still build and partially work, but other pure-Python
modules under thempi4pynamespace will not. - Windows: Remove support for legacy MPICH2, Open MPI, and DeinoMPI.
- The