Optimization Cycle I: Loop merge & transient refine#465
Draft
FlorianDeconinck wants to merge 126 commits into
Draft
Optimization Cycle I: Loop merge & transient refine#465FlorianDeconinck wants to merge 126 commits into
FlorianDeconinck wants to merge 126 commits into
Conversation
…lInTasklet` Move re-usable functions into `tree_common_op`
Move pipeline defaults inside the Pipeline itself and have orchestration call default Mockup of passes required for merging to behave
Use symbols in the replacement directory. Update DaCe to a version that doesn't re-initialize the symbols. And fix the test failure in python 3.13.
This has been replaced with `InlineOffgridConditionals` pass
- Local are no longer transient on GPU - RefineTransients is deactivated
6 tasks
When we normalize cartesian indices, add support for plain numbers as indices. Previously, we'd assume that each index is a symbolic expression. Now we have support for plain numbers too (e.g. from transient refinement).
This was causing issues because one symbol was contained in the other, e.g. when replacing `__k` with `__k_123` you'd get things like `__k_123_456` in case `__k` and `__k_456` were mixed.
This was referenced Jul 1, 2026
This is working to the best of my knowledge. Test case is a `D_SW` in `orch:dace:cpu:IJK` with FvTp2d configured to have loops ordered as `K-J-I` i.e. the other way round, which allows to merge K-loops.
6 tasks
This commit adds proper support for (global) tables when registering `DataDimensionsField`. It expands the register function to allow passing the axes, which can be an empty list to signal that we'd like to setup a table with a variable / data dimension size.
6 tasks
This was referenced Jul 17, 2026
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.
Description
Readying for mainline the following Schedule Tree transform:
CartesianMergeInlineVertical2DWriteCartesianRefineTransientsQOL / Tooling:
TreeOptimizationStatisticswill record the before/after count of maps, fors and transients🐞 Regression/ Bugs worked around
Locals are now non-transient in GPU because of bugs showing during tree optimizationCartesianRefineTransientsis not applied on GPU - same as aboveHow has this been tested?
New tests when needed
Checklist