refactor[cartesian]: skip LiftTrivalIf in sdfg.simplify() pipeline#2710
Open
romanc wants to merge 1 commit into
Open
refactor[cartesian]: skip LiftTrivalIf in sdfg.simplify() pipeline#2710romanc wants to merge 1 commit into
LiftTrivalIf in sdfg.simplify() pipeline#2710romanc wants to merge 1 commit into
Conversation
PR GridTools#2635 bumped the DaCe version from alpha3 to alpha4. This brought a new simplify pass: `LiftTrivialIf` which aims at inspecting the conditions of if statements and inlines code under trivially true/false conditions. The new pass increases the runtime of simplify such that it is unusable for large-scale / real-world SDFGs, e.g. parsing the acoustics loop of fv3 in NDSL with dace orchestration will take >90min with the new pass compared to 10-15min without. In total, the runtime of the acoustics translate test blows up from ~30min to nearly 5h with that pass. Preliminary, crude analysis shows that the bulk of the additional time is spent in the simplify step of sympy when the condition is evluated. This puts the slowdown at the heart of the pass, making an easy fix unlikely. This PR suggests to just skip the new pass until the runtime drops to usable levels.
9 tasks
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
PR #2635 bumped the DaCe version from alpha3 to alpha4. This brought a new simplify pass:
LiftTrivialIfwhich aims at inspecting the conditions of if statements and inlines code under trivially true/false conditions, see spcl/dace#2138.The new pass increases the runtime of simplify such that it is unusable for large-scale / real-world SDFGs, e.g. parsing the acoustics loop of fv3 in NDSL with dace orchestration will take >90min with the new pass compared to 10-15min without. In total, the runtime of the acoustics translate test blows up from ~30min to nearly 5h with that pass.
Preliminary, crude analysis shows that the bulk of the additional time is spent in the simplify step of sympy when the condition is evluated. This puts the slowdown at the heart of the pass, making an easy fix unlikely.
This PR suggests to just skip the new pass until the runtime drops to usable levels.
Requirements
N/A. Covered by existing test cases.
N/A