-
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
MPI
module now exposes amemory
type which is a
lightweight variant of the builtinmemoryview
type, 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=1
and
displ=0
as defaults, assuming that messages are specified
through user-defined datatypes. - The
Request.Wait[all]()
methods now returnTrue
to match
the interface ofRequest.Test[all]()
. - The
Win
class now implements the Python buffer interface.
- Lowercase, pickle-based collective communication calls are now
-
Backward-incompatible changes:
- The
buf
argument of theMPI.Comm.recv()
method is
deprecated, passing anything butNone
emits a warning. - The
MPI.Win.memory
property was removed, use the
MPI.Win.tomemory()
method instead. - Executing
python -m mpi4py
in 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 thempi4py
namespace will not. - Windows: Remove support for legacy MPICH2, Open MPI, and DeinoMPI.
- The