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 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 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.
- 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 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.