-
Notifications
You must be signed in to change notification settings - Fork 15
Release: NDSL 2026.01.00
#364
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…n a narrow config (#335) * Update API to take in the full StencilFactory * Fix import structure + pass proper config * Dead code * Fix API use in unit test
* Check for device residency in allocation and move to upload/download if needed Make sure to download data before using the `xarray` getter Loosen the `from_data_array` to read data that doesn't have a `units` * Bad reference * Swap check on `_as_xarray` accessor
* Add set_value on 2D floatfield Add set_value on 2D bool masks * Rename, expose newer name to API and deprecate * Lint
* Introduce `LocalState` - a `State` containing only `Locals` Add checks for forbidden hybrid `Quantity/Locals` states Add many guardrails to force `LocalState` to fit `Local`s boudaries * Minor message clean up for `NDSLRuntime` * `Local` guardrails unit test + public API declaration * Adding new `internal` package to collect advanced code not made for users * Lint * Fix key of StateElementType * Document and verbose the usage of `LocalState.make_as_state` * Forgotten warning stack level
…arenting and `RefineTransient` correct logic (#341) * Re-parent properly the children when merging * Forbid refining a transient if it used accross more than one loop (for a given cartesian axis)
* Fix the behavior of `make_as_state` by using a shadow method algo to remove the guardrails and swap all "local" to "quantity * Utest
* Relax the `raise` in favor of a warnings when using boilerplate in a multi-rank situation Add keyword override for orchestration mode * Lint
* Orchestation: hook stree optimization on environment variable - Verbose pass - Small tweak to log * Local: initialize to obviously wrong value + utest * State: Allow `Quantity | None` has a type in `State`. Field will _still_ be initialized on `zeros` but will accept to be set to None * Lint
Modified the starting min/max index of column min/max functions to start_index instead of 0. This fixed a potential issue where arrays with absolute maximum/minium occuring before the target window (i.e. array had absolute maximum at index 2 but function was called to find the max in indexes [5:10]) would return the wrong value. Also changed column min/max test to test for this possibility
`CopyCornersXY` was deprecated with NDSL release 2025.11.00 and is now removed. Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
* BREAKING CHANGE: required comm object for `ZarrMonitor` * remove obsolete test --------- Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
* refactor: update actions/checkout@v5 -> v6 This PR updates our GitHub workflows to use `actions/checkout@v6` instead of the previous v5. Changes are minimal, but require a new minimal GHA runner version, which forces the major version bump. More info on the [release page](https://github.com/actions/checkout/releases). * refactor: update actions/setup-python@v5 -> v6 This commit updates GitHub workflows to use `actions/setup-python@v6` instead of the previous v5. Breaking change is based on the fact that a new minimal runner version is required. More info on the [release page](https://github.com/actions/setup-python/releases). * refactor: update actions/cache@v4 -> v5 This commit updates our GitHub workflows to use `actions/cache@v5` instead of the previous v4. Changes are minimal and boil down to a node version update which forced a new minimal runner version number. More info on the [release page](https://github.com/actions/cache/releases). --------- Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
…peline, optimize CPU transient residency (#348) * Introduce `DaceExecutable` to collapse lib, arguments and hashed of arguments * Rework STREE pipeline to apply to `dace:cpu_KJI` and `dace:GPU` Apply `gpu` transformation by default on GPU backend Do NOT use memory pool for CPU Use `DaceExecutable` in orchestration * Update ordering for refine transient * Hash of DSL memory (Quantity, State) * Linting new file * Fix post-parsing save * Verbose * Fix missing refactored bits * Escape hashing checks when an argument is not hashable * Lint
…non-interface field (#347) * Add function to check that backend is "fortran aligned" * Parametrize GridSizer and children to allow variation of the padding on non-interface field. This will lead to an API break down the road, as we know require the backend to be given. * Updating API to newly required backend in SubGridSizer * Move non-pad check to `SubtileGridSizer`, leaving `GridSizer` clean * Pass `backend` and fix state check * Remove dead code
Some basic stencils were named with a `_defn` suffix. We don't think the suffix is necessary and thus deprecate the version with a suffix and schedule their removal for the next release. The deprecation warning can't be in the stencil itself. The python frontend of gt4py won't like this. I will thus warn from the stencil factory (which is assumed to be used in one way or another). Lastly, the PR updates `test_basic_operations.py` to use the boilerplate module and avoid much of the setup by using `get_factories_single_tile`. Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
* Introduce a passthrough `LibraryNode` labelling code. Hook on _INTERNAL__SCHEDULE_TREE_OPTIMIZATION for safety * Lint * Wat * Fix typing for expansion * SDFG can be None in multi-rank compile * Fix bad speling * Typo in expansion class
The funciton has long been replaced by the zero-indexed `get_tile_index()`. Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
This small PR brings two cleanups 1. remove the optional grid in `state_from_inputs()`. The parameter isn't used. It looks like superseded by `self.grid`. I thus removed it for simplicity. 2. Change typing of "state" from `dict` to `Any`. The state is a dataclass, e.g. `DycoreState`. As far as I know, we don't have a base class for model states. Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
`QuanityFactory.from_backend(...)` was deprecated with NDSL release `2025.11.00`. The function is superseded by the new constructor. See #228 for context. Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
* BREAKING CHANGE: `Quantity` & `QuantityMetadata` changes Remove deprecation from `Quanity` and `QuantityMetadata`. This includes - `gt4py_backend` is superseded by just `backend` - the `backend` argument/member is required now - data must be allocated by either numpy or cupy * remove unused function I've checked (GH search) the NOAA-GFDL org and nothing and nowhere else in that organization is the (string) name of this function found. * fixup: supply backend in parallel translate tests * fixup: fix test (no need to test backend=None anymore) --------- Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
* Types for non-depreated corner code * code review --------- Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
Co-authored-by: Roman Cattaneo <1116746+romanc@users.noreply.github.com>
FlorianDeconinck
approved these changes
Jan 20, 2026
Collaborator
FlorianDeconinck
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ready for show.
In the release notes, let's add:
dace:cpu_KJIbackend with fortran friendly memory layout- Anything else ?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Release NDSL version
2026.01.00Pre-release checklist
Things to do before the release. Helps to keep the fallout from this release as minimal as possible.
NDSL,pyFV3, andpySHiELD.Don't merge yet - just let CI run and fix potential issues before the release. To be merged afterwards, see post-release checklist.
Update NDSL to 2026.01.00 pace#175
Release checklist
What to do to actually release:
developintomain[year].[month].[patch], e.g.2025.10.00Post-release checklist
What to do after a release:
Update NDSL to 2026.01.00 pace#175
SubtileGridSizerrequiresbackend#367