YAXT Version 0.12.2 available
Bugfix release
The major point of this release is to improve test coverage, fix edge cases and add corresponding regression tests, and complete missing parts in the API.
Minor feature additions:- Adds convenience wrappers for arrays of single- and double-precision complex type to the Fortran xt_redist interfaces.
- Adds the
xt_redist_collection_static_custom_newandxt_redist_collection_custom_newinterfaces to the Fortran module. This is primarily for trivial translations from C code to Fortran: all constructors in these interfaces have already been available through thext_redist_collection_static_newandxt_redist_collection_custom_newinterfaces as well. - Rounds out the aggregation of redist collections into redist collections.
- Make more of the sorting routines available to Fortran.
- When available and the default MPI error handler is overridden by the user, MPI errors also result in a stack trace.
- Prevent spurious recompilation of identically generated sources.
- Amend the incomplete argument adjustment of
xt_exchanger_copyfrom C to Fortran. - Fix the Fortran interface for
xt_xmap_intersection_newwhen one of the argument arrays has size 0. - Fix copying of a block in an int array with an incorrect size for redists constructed from position extents and correspondingly fix the growth of a temporary buffer.
- Fix incorrect handling of datatype caching for nested redist collections.
- Prevents double-free of cached MPI datatypes.
- Fix handling of inequal offsets for the receiving and sending side of a transfer with the neighbour communicator exchanger.
- Fix index position queries for xt_idxempty to assign -1 to the position out parameter.
- Add deprecation notice for
xt_idxlist_get_positions_of_indices_offandxt_idxlist_get_position_of_index_off - Add configure-time detection of a bug in the nvfortran 26.1 to 26.7 compilers that prevents correct resolution of some generic interfaces.
- Fix unexpected coupling of configure tests for Fortran support for abstract interfaces and interface blocks for functions accepting bind(c) functions which return a struct as argument. This resulted in build failures for NEC nfort.
- Fix libtool handling of some Intel compiler command-line arguments which are available in a single argument variant since version 15 (e.g.
-diag-disable=10101instead of-diag-disable 10101). - Fix a bug in the intersection size computed for a mapping with a negative iteration direction position extent.
- Fix a bug in the appending to stripes of length 1 resulting in an incorrect index sequence.
- Fix an edge case when an idxsection has alternating dimension iteration directions.
- Fix position queries for indices just beyond the bounds for index lists of type idxsection.
- Fix datatype queries for the redist collection type when queried for ranks for which no communication occurs.
- Fix behaviour of zero-stride stripes in intersection computation.
- Fix edge cases in the sorting query of index list collections when a list containing a single index value is part of the collection.
- Use a conversion to
unsignedto enforce 2-complement arithmetic and prevent undefined behaviour fromabs(INT_MIN). - Document the changed caching behaviour introduced in the 0.12 release series.
- Fix an incorrect count when not all indices can be mapped to stripes.
- Fix an index duplication issue when large index values are used for intersections and
single_match_onlyis requested. - Minor memory leak when the bucket computation is changed more than once for a custom configuration object.
- New query
xt_redist_get_bsend_buf_sizefor the size requirements imposed by a redist on the buffer attached with
MPI_Buf_attachfor buffered send operations.
Comments