Mpi4py

Latest version: v3.1.6

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

Scan your dependencies

Page 1 of 4

4.0.0

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

* New features:

+ Add support for the MPI-4.0 standard.

- Use large count MPI-4 routines.
- Add persistent collective communication.
- Add partitioned point-to-point communication.
- Add new communicator constructors.
- Add the `Session` class and its methods.

+ Add support for the MPI-4.1 standard.

- Add non-destructive completion test for multiple requests.
- Add value-index datatype constructor.
- Add communicator/session buffer attach/detach/flush.
- Support for removal of error classes/codes/strings.
- Support for querying hardware resource information.

+ Add prelimiary support for the upcoming MPI-5.0 standard.

- User-level failure mitigation (ULFM).

+ `mpi4py.util.pool`: New drop-in replacement for `multiprocessing.pool`.

+ Add runtime check for mismatch between `mpiexec` and MPI library.

+ Support `scikit-build-core`_ as an alternative build backend.

.. _scikit-build-core: https://scikit-build.readthedocs.io/

+ Support `meson-python`_ as an alternative build backend.

.. _meson-python: https://meson-python.readthedocs.io/

* Enhancements:

+ `mpi4py.futures`: Support for parallel tasks.

+ `mpi4py.futures`: Report exception tracebacks in workers.

+ `mpi4py.util.pkl5`: Add support for collective communication.

+ Add methods `Datatype.fromcode()`, `Datatype.tocode()` and
attributes `Datatype.typestr`, `Datatype.typechar` to simplify
NumPy interoperability for simple cases.

+ Add methods `Comm.Create_errhandler()`, `Win.Create_errhandler()`,
and `File.Create_errhandler()` to create custom error handlers.

* Add support for pickle serialization of instances of MPI types.
All instances of `Datatype`, `Info`, and `Status` can be
serialized. Instances of `Op` can be serialized only if created
through `mpi4py` by calling `Op.Create()`. Instances of other MPI
types can be serialized only if they reference predefined handles.

* Add `handle` attribute and `fromhandle()` class method to MPI
classes to ease interoperability with external code. The handle
value is a unsigned integer guaranteed to fit on the platform's
``uintptr_t`` C type.

* Backward-incompatible changes:

* Python 2 is no longer supported, Python 3.6+ is required, but
typing stubs are supported for Python 3.8+.

* The `Intracomm.Create_group()` method is no longer defined in the
base `Comm` class.

* `Group.Compare()` and `Comm.Compare()` are no longer class methods
but instance methods. Existing codes using the former class
methods are expected to continue working.

* `Group.Translate_ranks()` is no longer a class method but a
instance method. Existing codes using the former class method are
expected to continue working.

* The `LB` and `UB` datatypes are no longer available, use
`Datatype.Create_resized()` instead.

* The `HOST` predefined attribute keyval is no longer available.

* The `MPI.memory` class has been renamed to `MPI.buffer`. The old
name is still available as an alias to the new name.

* The `mpi4py.dl` module is no longer available.

* The `mpi4py.get_config` function returns an empty dictionary.

3.1.6

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

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

* Fix various build issues.

3.1.5

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

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

* Rebuild C sources with Cython 0.29.36 to support Python 3.12.

3.1.4

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

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

* Rebuild C sources with Cython 0.29.32 to support Python 3.11.

* Fix contiguity check for DLPack and CAI buffers.

* Workaround build failures with setuptools v60.

3.1.3

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

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

* Add missing support for `MPI.BOTTOM` to generalized all-to-all collectives.

3.1.2

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

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

* `mpi4py.futures`: Add `_max_workers` property to `MPIPoolExecutor`.

* `mpi4py.util.dtlib`: Fix computation of alignment for predefined datatypes.

* `mpi4py.util.pkl5`: Fix deadlock when using ``ssend()`` + ``mprobe()``.

* `mpi4py.util.pkl5`: Add environment variable `MPI4PY_PICKLE_THRESHOLD`.

* `mpi4py.rc`: Interpret ``"y"`` and ``"n"`` strings as boolean values.

* Fix/add typemap/typestr for `MPI.WCHAR`/`MPI.COUNT` datatypes.

* Minor fixes and additions to documentation.

* Minor fixes to typing support.

* Support for local version identifier (PEP-440).

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.