This release, apart from a few minor fixes, delivers
- an exchanger that performs packing/unpacking via an OpenACC kernel, activated by environment setting
- multi-threaded MPI messaging for several exchangers (activated e.g. by setting environment variable
Among the minor fixes are
- some improvements to configure caching,
- more robust interpositioning of defective MPI installs (but we also provide for or link to the patch to build a fixed MPI!),
- account for gcc 8.4 fixing a long-standing 8.x problem,
- add support for gcc builds with options
- use hidden symbols also with nvidia compiler to speed up dynamic linking,
- update work-arounds for gcc 12,
- restructure xt_request classes to improve future composability, and
- adds an interface for byte displacements to stripe MPI datatype generation.
This minor update fixes minor flaws in the build system and one test case.
API and implementation remains the same compared to 1.0.8 and 126.96.36.199, i.e if you already have a successful build, there is no need to update.
This release fixes two very minor issues that might manifest on macOS during the build stage.
No functionality is added/removed/changed to/from/in the library.
This version fixes a performance issue in index sorting where insertion sort was chosen for far too large subarrays.
The legacy Unitrans interface was removed from this version.
Also various fixes in the build system improve the distclean target and builds on macOS.
This release fixes a problem with multi-threaded initialization.
Also, some tests received work-arounds for compiler regressions.
Otherwise all changes are related to the build system and only really matter if
make distcheck or reproducible
make distclean is important for you.
This release should not change any working setup but only improve the build-time experience. Also includes some minor fixes for compiler defects.
This minor release only differs from 0.9.2 in a work-around added to the test-suite for nvfortran 21.x. For other compilers there is no difference at all to 0.9.2.
The 0.9.2 release includes the following new features:
- The neighbor alltoall exchanger is now expected to fully work on MPI's where MPI 3.x features are available, test it by setting environment variable
It also contains new work-arounds for the following compilers:
- gcc/gfortran 10 and 11, especially when using
- Intel Fortran 19.1 Update 2
- PGI/NVHPC compilers 20 and 21
Also a work-around for bugs in mpich 3.4.x releases is included, but the recommended fix is to apply the patches in source:config/checkpatch
Apart from that the release contains multiple measures to save memory and MPI resources.
This release mostly improves the separation of Fortran and C parts of the API but also adds a number of minor bug fixes and work-arounds for newer compilers no longer detected by the libtool macros in 1.0.6.
The only real API change is the inclusion of 64bit integer random number generation.
- reduces libtool compatibility headaches with the new nvfortran compiler,
- fixes a small memory leak when more than 8 redists are used to form a collection,
- fixes an incorrect computation of position extents when an xmap is constructed manually,
- hides internal library symbols,
- fixes the passing of zero size arrays in the Fortran interface,
- add minor improvements to the cfortran.h header.
Also see commit log at commit:f2eb603483f3b8041.