Skip to content

StencilStream v3.0.0

Choose a tag to compare

@JOOpdenhoevel JOOpdenhoevel released this 31 Aug 09:14
· 405 commits to master since this release
b031c33

Highlights

This release introduces a major API and build-system evolution for StencilStream, centered around a more modern stencil update model and improved project integration.

  • New update-style stencil API (C++20 concepts):
    Stencil updates now use a concept-based design instead of class-inheritance-based interfaces. This makes update definitions more explicit, composable, and easier to validate at compile time.

  • New Time-Dependent Value (TDV) system:
    Added TDV support for precomputing values that depend only on the current iteration/time. The system includes multiple implementation strategies so you can choose the best trade-off for your backend and workload.

  • Expanded CMake-first support:
    Build support has been consolidated around CMake, replacing the previous dual CMake/Make approach and making integration in modern C++ projects cleaner.

  • New convection example:
    Added a new example demonstrating how to use the update-style API to embed stencil updates as subroutines inside a larger algorithmic workflow.

Breaking Changes

  • The stencil update API has changed to the new concept-based update style.
    Existing code will require adaptation.

  • Build workflows based on the old dual CMake/Make setup should be migrated to CMake.

Migration Notes

  • Stencil updates: Port custom transition/update logic to the new concept-based update interface.
  • Build system: Use CMake targets/configuration as the primary integration path.
  • TDV: TDV is new in this release; no migration from prior TDV APIs is required.