Skip to content

refactor[next-dace]: Add library node for reduce with skip values#2603

Open
edopao wants to merge 15 commits into
GridTools:mainfrom
edopao:dace_reduce_skip_node
Open

refactor[next-dace]: Add library node for reduce with skip values#2603
edopao wants to merge 15 commits into
GridTools:mainfrom
edopao:dace_reduce_skip_node

Conversation

@edopao
Copy link
Copy Markdown
Contributor

@edopao edopao commented May 15, 2026

DaCe has a library node in its standard library for reduction. However, GT4Py and ICON4Py also need to lower reduction expressions with skip values. The lowering was already done, on main, inside a nested SDFG. All this PR does is to move the refactor the code that creates the nested SDFG and make an application library node in GT4Py. In this way, the SDFG nodes for regular reduction and reduction with skip values are represented in the same way in the SDFG.

@edopao edopao force-pushed the dace_reduce_skip_node branch from 4e1c0e5 to 308cfc7 Compare May 15, 2026 15:43
@edopao
Copy link
Copy Markdown
Contributor Author

edopao commented May 15, 2026

cscs-ci run dace

@edopao
Copy link
Copy Markdown
Contributor Author

edopao commented May 20, 2026

cscs-ci run default

@edopao edopao force-pushed the dace_reduce_skip_node branch 2 times, most recently from 5fcb578 to bf658c3 Compare May 20, 2026 16:31
FlorianDeconinck and others added 8 commits May 21, 2026 10:06
## Description

Do not apply `open_mp` flags on device compilers - we don't do
multithreading host code for GPU backends (and device is plain wrong).

This flag usage was discovered in the case of an `icx/nvcc` where the
`-qopenmp` intel flag bled into the command line of `nvcc`.

## Requirements

- [ ] All fixes and/or new features come with corresponding tests.
- [ ] Important design decisions have been documented in the appropriate
ADR inside the [docs/development/ADRs/](docs/development/ADRs/README.md)
folder.
- Use same `dace` version for GT4Py cartesian and next.
- Make `dace` a GT4Py dependency, and remove the development groups
`dace-cartesian` and `dace-next`.
- Instead of using the `gridtools` package index, pull the dace
pre-release package from PyPI index.

Note: if in the future a custom (non-pypi) version is needed, cartesian
and next need to create a version from a common branch (and publish to
the gridtools index).
@edopao edopao force-pushed the dace_reduce_skip_node branch from b8f0627 to 14443e2 Compare May 21, 2026 08:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants