Repository navigation
perf[next-dace]: allow guarded fusion through shared outputs - #2922
Open
dganellari wants to merge 1 commit into
Open
dganellari wants to merge 1 commit into
dganellari wants to merge 1 commit into
Conversation
2 tasks done
… backend. Keep the transformation opt-in and preserve required external writes.
dganellari
force-pushed
the
review-shared-output-fusion
branch
from
October 21, 2026 16:06
5122cfe to
b2f2384
Compare
This was referenced Oct 21, 2026
Author
|
Tested with this pass enabled for all programs in the stencil benchmark suite. We did not find any additional benefit apart from theta-rho, where we already had the improvement. So I think we should keep it enabled only for theta-rho in ICON4Py for now. |
This branch has not been deployed
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
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.
Allow a producer map to be split to match its consumers even when it writes external outputs. Existing map fusion can then combine matching pieces while preserving required output stores and later-state reads.
The option defaults to off.
vertical_split_allow_shared_dataenables it through the normal optimizer;vertical_split_shared_dataandvertical_split_shared_data_dimensioncan restrict the field and split dimension. Aliases, uncertain coverage and unsupported accesses are rejected. Applications do not need to inspect or modify SDFG nodes to select this pattern.This PR targets
mainand contains only shared-output SDFG changes. ADR 0029 explains the pattern, selection and safety restrictions. The separate scan-input pass is #2923; the array-scalar warning fix is #2924. ICON4Py selects these options in C2SM/icon4py#1484.Focused compiler/backend tests, scoped nox/doctests and staged checks passed. The refreshed companion stack also passed regional/global GPU validation at 120 levels on MI300A and GH200, with all 146 compared arrays matching exactly and generated-graph checks confirming the transformations.
Those GPU timings enable both passes together. The theta-rho program improved 14.67% on regional MI300A, but regressed 3.22% on regional GH200 at its 32x8 block setting; global theta changes were unresolved. This supports selective application, not a general profitability rule. The older timings in the ADR remain historical and are not substituted for the rebase results.