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
XT_CONFIG_DEFAULT_EXCHANGE_METHOD
to neigh_alltoall
It also contains new work-arounds for the following compilers:
- gcc/gfortran 10 and 11, especially when using
-flto
- 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.
This release
- 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.
This release mostly adds fixes for the build system to support a broader range of systems especially Cray XC30 and XC40 and newer gfortran releases in a better, cleaner fashion.
Also this release makes a first step to support 64bit array indexing by adding 64bit integer range objects to the C and Fortran interfaces.
A number of features have seen significant improvements in support of the underlying libraries:
- The digest functions now work seamlessly with newer (1.1.0+) OpenSSL versions that removed some functions from the public API.
- More recent versions 4 and 5 of ParMetis and Metis respectively are now also supported by adopting work from Matthew Krupcale (with significant changes to ensure correctness in various environments), see also #347 and commit:575b8e08ca
- The MPI compiler wrappers like mpicc and mpifort now take precedence such that the intended setup will be used automatically much more often.
- Handling of the possibilities how compilers and/or libraries setup up the FTZ and DAZ flags on Intel x86_64 CPUs is now much more robust.
This release bring the following new features:
- configurable message pumping mechanism, programmers can select a so-called exchanger for new redist constructors with an additional argument or users/administrators by setting the XT_CONFIG_DEFAULT_EXCHANGE_METHOD environment variable
- by setting FC=no at configure time, it is possible to perform a C-language only build
The release also includes various minor improvements to the code, the build and test infrastructure, and reliability of build configuration.
Also see commit log at commit:4334d020c206da33.
This release is a minor update to 0.8.0 that
- fixes some minor build system issues,
- defaults to mpicc/mpifort and other usual wrappers for CC/FC instead of gcc/gfortran,
- adds inquiry functions xt_redist_get_num_send_msg and xt_redist_get_num_recv_msg,
- conditionalizes building of performance test programs,
- detects another failure in datatype handling in Intel MPI and MVAPICH at configure time,
- adds a constructor for xmaps (xt_xmap_intersection_pos_new) when the transferred positions are already known, and
- improves support for pgfortran 14.
Also see commit log at commit:c96c095bb3c6fa6.
This release contains several new/improved features:
- potential integer overflow in stripe overlap computation was fully eliminated
- interfaces (xt_xmap_reorder, xt_xmap_update_positions, xt_xmap_spread) to tune/extend the xmap message element sequence for improved memory access patterns
- make the build much cleaner
- improved support for recent PGI compiler releases
- much improved support for various Cray compiler versions
- tons of smaller tweaks/improvements/fixes, see revision log commit:652f8312be016820 for details