Repository navigation
StencilStream v3.0.0
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
convectionexample:
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.