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
This is a bug-fix release that only
- contains a work-around for automake prior to 1.16 spurious file creation (no breakage)
- improves on build-workarounds for NAG Fortran
- improves libtool interaction with PGI compilers when invoked through a wrapper like mpicc
- adds a workaround for a Cray CCE code generation bug, where the compiler makes incorrect assumptions about pointer alignment.