GridTools version 2.3.0
Support for NVHPC (#1747)
GridTools now supports NVHPC starting from release 23.3!
Parallel fn::backend::naive (#1746)
Naive (just parallel for
, no blocking and other optimizations) OpenMP parallelization of the naive backend.
SID util to transform a dimension to a tuple_like element type (#1750)
Translates a SID with dimension D
and element type T
to a SID with D
removed and type is tuple<T>
-like, with tuple_size N
for sid::dimension_to_tuple_like<D, N>(sid)
.
Bug fixes and smaller features
Build fixes
- Support for Clang 16 (#1751)
and other changes already included in v2.2.3
fn: SID neighbor table wrapper (#1730)
Adds a simple class that wraps a SID and implements the neighbour table concept. (Picked for convenience into 2.2.2.)
Support for Python packaging (#1720)
Starting with this release we will publish GridTools C++ on pypi.org to make it easier to consume GridTools C++ from GT4Py.
Bug fixes
- Fix CUDA 12.0 compilation (#1741)
- Improvements to Python packaging (#1742, #1743, #1744)
- Fix get_keys of empty hymap (#1728)
- fn: CUDA early exit on empty grid - an empty domain skips execution instead of erroring (#1729)
- fn: prefer qualified names over ADL for fn builtins (they are not customization points for the user) (#1731, #1732)
- Enable workarounds for CUDA 11.8 (#1734)
- Enable workarounds for Clang 15 (#1735)
- Update pybind11 version to fix wrong C++ standard (#1723)
- Fix perfect forwarding in sid::composite::make_values (#1722)
- Workaround for NVCC bug in gcl (present in 11.6, 11.7 and most likely in 11.8) (#1726)
Performance fixes
- Alternative skip value check in fn, which improves CUDA performance (#1721)
Build fixes
- Fix perftests CMake target when no tests are added (#1724)
Cleanup
- Replace boost::variant by std::variant (#1718)
CI
Contributions
This release contains contributions from
@DropD, @egparedes, @fthaler, @havogt, @petiaccja