Mpi4py

Latest version: v3.1.6

Safety actively analyzes 628969 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

3.1.1

==========================

.. warning:: This is the last release supporting Python 2.

* Fix typo in Requires-Python package metadata.

* Regenerate C sources with Cython 0.29.24.

3.1.0

==========================

.. warning:: This is the last release supporting Python 2.

* New features:

+ `mpi4py.util`: New package collecting miscellaneous utilities.

* Enhancements:

+ Add pickle-based ``Request.waitsome()`` and ``Request.testsome()``.

+ Add lowercase methods ``Request.get_status()`` and ``Request.cancel()``.

+ Support for passing Python GPU arrays compliant with the `DLPack`_ data
interchange mechanism (`link <DIM_>`_) and the ``__cuda_array_interface__``
(CAI) standard (`link <CAI_>`_) to uppercase methods. This support requires
that mpi4py is built against `CUDA-aware MPI <CAM_>`_ implementations. This
feature is currently experimental and subject to future changes.

+ `mpi4py.futures`: Add support for initializers and canceling futures at shutdown.
Environment variables names now follow the pattern ``MPI4PY_FUTURES_*``, the
previous ``MPI4PY_*`` names are deprecated.

+ Add type annotations to Cython code. The first line of the docstring of functions
and methods displays a signature including type annotations.

+ Add companion stub files to support type checkers.

+ Support for weak references.

* Miscellaneous:

+ Add a new mpi4py publication (`link <DOI_>`_) to the citation listing.

.. _DLPack: https://github.com/dmlc/dlpack
.. _DIM: https://data-apis.org/array-api/latest/design_topics/data_interchange.html
.. _CAI: https://numba.readthedocs.io/en/stable/cuda/cuda_array_interface.html
.. _CAM: https://developer.nvidia.com/blog/introduction-cuda-aware-mpi/
.. _DOI: https://doi.org/10.1109/MCSE.2021.3083216

3.0.3

==========================

* Regenerate Cython wrappers to support Python 3.8.

3.0.2

==========================

* Bug fixes:

+ Fix handling of readonly buffers in support for Python 2 legacy
buffer interface. The issue triggers only when using a buffer-like
object that is readonly and does not export the new Python 3
buffer interface.
+ Fix build issues with Open MPI 4.0.x series related to removal of
many MPI-1 symbols deprecated in MPI-2 and removed in MPI-3.
+ Minor documentation fixes.

3.0.1

==========================

* Bug fixes:

+ Fix ``Comm.scatter()`` and other collectives corrupting input send
list. Add safety measures to prevent related issues in global
reduction operations.
+ Fix error-checking code for counts in ``Op.Reduce_local()``.

* Enhancements:

+ Map size-specific Python/NumPy typecodes to MPI datatypes.
+ Allow partial specification of target list/tuple arguments in the
various ``Win`` RMA methods.
+ Workaround for removal of ``MPI_{LB|UB}`` in Open MPI 4.0.
+ Support for Microsoft MPI v10.0.

3.0.0

==========================

* New features:

+ `mpi4py.futures`: Execute computations asynchronously using a pool
of MPI processes. This package is based on ``concurrent.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 a ``memory`` type which is a
lightweight variant of the builtin ``memoryview`` 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 uses ``count=1`` and
``displ=0`` as defaults, assuming that messages are specified
through user-defined datatypes.
+ The ``Request.Wait[all]()`` methods now return ``True`` to match
the interface of ``Request.Test[all]()``.
+ The ``Win`` class now implements the Python buffer interface.

* Backward-incompatible changes:

+ The ``buf`` argument of the ``MPI.Comm.recv()`` method is
deprecated, passing anything but ``None`` 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 to ``python -m mpi4py.run``. For the former behavior,
use ``python -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 the ``mpi4py`` namespace will not.
+ Windows: Remove support for legacy MPICH2, Open MPI, and DeinoMPI.

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.