- Update to 4.0.1
## Update support for Python 3.13:
* Enable Cython 3.1 support for free-threaded CPython.
* Allow compiling Cython-generated C sources with the full Python
C-API.
* Fix MPI DLL path workarounds on Windows after changes to
locals().
## Enhancements to test suite:
* Support XML reports via unittest-xml-reporting.
* Add command line options to exclude tests by patterns and
files.
* Refactor Python 2 code to use Python 3 constructs using
pyupgrade.
## Miscellaneous:
* Minor and mostly inconsequential subclass fix in
mpi4py.util.pkl5.
* Update compatibility workarounds for legacy MPICH 3.0 release.
- Release 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 preliminary support for the upcoming MPI-5.0 standard.
* User-level failure mitigation (ULFM).
* mpi4py.util.pool: New drop-in replacement for
multiprocessing.pool.
* mpi4py.util.sync: New synchronization utilities.
* Add runtime check for mismatch between mpiexec and MPI library.
* Support scikit-build-core as an alternative build backend.
* Support meson-python as an alternative build backend.
## 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 an unsigned integer guaranteed to fit on the
platform's uintptr_t C type.
* Add lowercase free() method to MPI classes to ease MPI object
deallocation and cleanup. This method eventually attempts to
call Free(), but only if the object's MPI handle is not a null
or predefined handle, and such call is allowed within the World
Model init/finalize.
## 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 an
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 key 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.
## Miscellaneous:
* The project is now licensed under the BSD-3-Clause license.
This change is fairly inconsequential for users and
distributors. It simply adds an additional clause against using
contributor names for promotional purposes without their
consent.
* Add a new guidelines section to documentation laying out new
fair play rules. These rules ask companies and outside
developers to refrain from reusing the mpi4py name in
unaffiliated projects, publishing binary mpi4py wheels on the
main Python Package Index (PyPI), and distributing modified
versions with incompatible or extended API changes. The primary
motivation of these rules is to avoid fragmentation and
end-user confusion.
- Skip failing tests: test fails are different on server and local
machines. TODO: Investigate
- Remove unused rpm macro file: Static %mpi4py_mpi_ver is not used
anywhere (and had a strange name for value 'openmpi')
OBS-URL: https://build.opensuse.org/request/show/1227500
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-mpi4py?expand=0&rev=37
- Update to 3.1.3
* Add missing support for MPI.BOTTOM to generalized all-to-all
collectives.
- Release 3.1.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).
- skip io tests on i586: gh#mpi4py/mpi4py#105
OBS-URL: https://build.opensuse.org/request/show/943494
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-mpi4py?expand=0&rev=20
- Update to 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.
- Update to 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) and the
__cuda_array_interface__ (CAI) standard (link) to uppercase
methods. This support requires that mpi4py is built against
CUDA-aware MPI 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:
OBS-URL: https://build.opensuse.org/request/show/921522
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-mpi4py?expand=0&rev=18
- Update to 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.
- Add numpy as build dependency used in tests
OBS-URL: https://build.opensuse.org/request/show/678881
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-mpi4py?expand=0&rev=7
* 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.
- Add numpy as build dependency used in tests
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-mpi4py?expand=0&rev=5