Repository navigation
Description
This release reflects the state/implementation of CPPuddle I described in my dissertation (see Chapter 5 within).
The release contains several updates, mostly regarding the interface and the documentation. It also includes some convenience methods for using CPPuddle's kernel fusion features:
- CPPuddle is now split into three modules:
executor_recycling(containing the executor pools),memory_recycling(containing the recycling allocators and related functionality) andkernel_aggregation(containing the kernel fusion functionality). Each module has its own namespace. Methods and classes are now hidden away in the respective detail namespace unless explicitly intended to be user-facing. The file structure was also adapted accordingly. - The old interface (from v0.3.1 and older) still works for now but causes deprecation warnings. Hence, this CPPuddle release stays fully compatible with the previous releases, not requiring (but encouraging) the switch to the new interface and include files yet.
- CPPuddle now comes with doxygen documentation, which is automatically build on each push to the master branch (see https://sc-sgs.github.io/CPPuddle/ ).
- CPPuddle now contains additional convenience methods for using the kernel fusion features, particularly with Kokkos. Some of those were previous used in Octo-Tiger, but I now generalized them to be usable with other HPX applications (with CPPuddle).
- CPPuddle now includes a few examples, showcasing the kernel fusion and buffer recycling.
- Added several small bugfixes.
What's Changed
- Fixes small issue with stream_interface constructor types by @G-071 in #27
- Remove erroneous assert by @G-071 in #28
- Refactor Interface by @G-071 in #29
- Add doxygen and github pages by @G-071 in #30
- Move Kokkos Kernel Aggregation Utils from Octo-Tiger to CPPuddle by @G-071 in #31
- Add aggregation region wrapper by @G-071 in #32
- Add some initial examples by @G-071 in #34
- Add more triggers for github actions tests by @G-071 in #35
- Update aggregation_executors_and_allocators.hpp to compile with gcc 14 by @diehlpk in #33
- Build documentation only on master/documentation branches and via a manual trigger by @G-071 in #37
- Recent HPX master has changed some namespaces for the executor traits specialization by @hkaiser in #36
- Only build doc on master branch by @G-071 in #38
- Remove const from number slices by @G-071 in #39
- Adapt to HPX namespace deprecations by @G-071 in #40
- Small fixes to internal pool names by @G-071 in #41
New Contributors
Full Changelog: v0.3.1...v0.4.0