Highlights
- π
dace:cpu_KJIbackend with Fortran friendly memory layout - π
LocalState: aState-like class for organizing locals (comes with performance benefits) - π Optimized C-call overhead
- β¨ New package
ndsl.xumpy: Performance portable API for writing non-stencil numerics in python - π A couple more basic stencils
- π Fix index returned by column min/max functions
- π§ͺ Experimental work on axis merge, cache optimizations and automatic code labeling
β οΈ Breaking changes
With this version of NDSL, we introduced the following breaking changes.
NDSLRuntimerequiresStencilFactoryinstead of previous configZarrMonitornow requires aCommobject in the constructor- Removed deprecated
CopyCornersXY - Removed
get_tile_number()- useget_tile_index()instead - Removed deprecated
QuantityFactory.from_backend()- use the class constructor instead - Removed deprecated
quantity.gt4py_backend- usequantity.backendinstead - Removed deprecated
NullCommclass - useLocalComminstead
Deprecations
This version of NDSL added the following deprecation warnings:
SubtileGridSizerwill require abackendto initialize- Duplicate basic stencil definitions are deprecated, e.g.
copy_defn(...)has to be replaced bycopy(...)
What's Changed
- [API Update]
NDSLRuntimeuses the widerStencilFactoryrather than a narrow config by @FlorianDeconinck in #335 - π§ Harden
Quantityto hybrid usage by @FlorianDeconinck in #336 - π A few more basic stencils by @FlorianDeconinck in #337
- π
LocalStateclass: a state-like class for organizingLocals by @FlorianDeconinck in #338 - [Fix | ScheduleTreeOpt | Experimental]
CartesianAxisMergecorrect parenting andRefineTransientcorrect logic by @FlorianDeconinck in #341 - [Feature]
LocalStateallocation asStatefor test by @FlorianDeconinck in #340 - [Feat | Schedule Tree Opt] Axis Merge: push non-cartesian ForScope down by @FlorianDeconinck in #342
- [Feature | Fix] Boilerplate adjustements for physics and bench by @FlorianDeconinck in #343
- [Feat] Better
StateandLocaLfor real model use case by @FlorianDeconinck in #344 - [Feature] Introducing
Xumpyby @FlorianDeconinck in #345 - Minor fix to column min/max functions by @CharlesKrop in #349
- BREAKING CHANGE: remove deprecated
CopyCornersXYby @romanc in #351 - BREAKING CHANGE: require comm object in
ZarrMonitorby @romanc in #352 - refactor: update GitHub workflow dependencies by @romanc in #354
- [Feature | Orchestration] Optimizated C call overhead away, update pipeline, optimize CPU transient residency by @FlorianDeconinck in #348
- [Update] GT4Py up to January 7th
developby @FlorianDeconinck in #355 - Parameterize
SubtileGridSizerto allow variation of the padding on non-interface field by @FlorianDeconinck in #347 - refactor: deprecate duplicate basic stencil definitions by @romanc in #358
- [Feature | Experimental] SDFG code labeler by @FlorianDeconinck in #359
- BREAKING CHANGE: remove
get_tile_number()in partitioner by @romanc in #353 - refactor: small cleanup in translate tests by @romanc in #360
- CI: Add
h5pydependency forh5netcdf, which now supports multiple backends by @romanc in #363 - BREAKING CHANGE: remove deprecated
QuanityFactory.from_backend()by @romanc in #356 - BREAKING CHANGE:
Quantity&QuantityMetadatachanges by @romanc in #357 - refactor: Types for non-deprecated corner code by @romanc in #361
- BREAKING CHANGE: remove deprecated
NullCommby @romanc in #350 - refactor: improve types in python extension by @romanc in #365
- Release: NDSL
2026.01.00by @romanc in #364
Full Changelog: 2025.11.00...2026.01.00