Add CloudSC as the simplification-pipeline integration test - #2470
Open
ThrudPrimrose wants to merge 2 commits into
Open
Add CloudSC as the simplification-pipeline integration test#2470ThrudPrimrose wants to merge 2 commits into
ThrudPrimrose wants to merge 2 commits into
Conversation
ThrudPrimrose
force-pushed
the
perf/constant-propagation-scheduling
branch
from
July 30, 2026 11:10
75f3c8c to
0251b49
Compare
ThrudPrimrose
marked this pull request as ready for review
July 31, 2026 08:52
CloudSC is the scaling case for ConstantPropagation: thousands of blocks nested many levels deep, where a pass whose cost is superlinear in nesting depth shows minutes instead of seconds. The parse costs minutes, so it is memoized per process and handed out as a copy. tests/corpus/cloudsc holds the kernel and its data generator. The ConstantPropagation tests sit with the other pass tests and compile and run the propagated SDFG against the un-propagated one, so a change that altered a value cannot pass. The simplify wall-clock guard is its own regression test. The tests carry the `long` marker, which the General Tests matrix excludes, so they get their own workflow.
The job never installed pytest-xdist, so `-n 1` aborted the run with an unrecognized argument. It was not wanted anyway: the CloudSC parse is memoized per process, and a worker per test pays it again. Test paths came from the working directory. Ask dace where it is installed instead.
ThrudPrimrose
force-pushed
the
perf/constant-propagation-scheduling
branch
from
August 3, 2026 13:22
d994057 to
7037f91
Compare
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.
CloudSC comes in as the integration case for the simplification pipeline. The kernel and its data
generator live in
tests/corpus/cloudsc; the parse costs minutes, so it is memoized per process andhanded out as a copy.
tests/passes/constant_propagation_on_cloudsc_test.pycompiles and runs the propagated SDFG againstthe un-propagated one under IEEE flags, so a schedule change that altered a value cannot pass.
tests/corpus/cloudsc_regression_test.pyholds a wall-clock budget: five copies, one simplify each,median under 140s.
These tests carry the
longmarker that the General Tests matrix excludes, so they get their own workflow.Split from the ConstantPropagation scheduling change, which is now #2476 and should merge first — this
branch was rebuilt on current
mainand holds only the CloudSC corpus, its tests and the CI job.