Skip to content

v2.0.0

Compare
Choose a tag to compare
@jwbuurlage jwbuurlage released this 27 Mar 10:06
· 24 commits to master since this release

Breaking changes

  • Use size_t for indices in arrays and slices
  • coarray::data now returns a T* instead of void*
  • The iterator overload for coarray::put now requires an explicit offset
  • Index type for D = 1 now wraps an int, instead of a singleton array

Added

  • Add foldl and foldl_each for coarrays.
  • Add aliases for common folds: sum, product, min, and max, for values, variables and coarrays. Example: bulk::max(world, s + 1) == p.
  • Add bulk::span for coarrays, allowing contiguous sequences as slice data
    sources in addition to std::vector.
  • Add coarray::data to access the underlying (sequential) storage of coarrays.
  • Allow externally managed data buffers for coarray.
  • Add support for splitting a world into multiple parts, allowing subset syncs and communication. See also bulk::world::split.
  • Add get_change to timer class (@SdeBerg, #10)

Changed

  • Use size_t for indices in arrays and slices
  • coarray::data now returns a T* instead of void*
  • The iterator overload for coarray::put now requires an explicit offset
  • Index type for D = 1 now wraps an int, instead of a singleton array

Fixed

  • Fixed 'element owner' and 'local <-> global' computations for block
    partitionings with sizes that are not perfect divisors
  • Fixed virtual qualifications on a number of internal functions