Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cutout-Assisted Debugging #1208

Merged
merged 17 commits into from Mar 10, 2023
Merged

Cutout-Assisted Debugging #1208

merged 17 commits into from Mar 10, 2023

Conversation

phschaad
Copy link
Collaborator

@phschaad phschaad commented Mar 6, 2023

This PR contains varios improvements to how cutouts are handle, together with a number of extensions to the capabilities around data instrumentation. The common goal is to enable a workflow where transformations or codegen issues can be localized and more easily diagnosed / debugged through the help of minimal test cases. The concrete list of changes consists of:

  • Making cutouts an SDFG subclass to allow them to carry additional data such as their input/output configurations and what SDFG they came from.
  • Removing hashes from the serialization test. They are not useful for testing the serialization framework and cause failures even just if the set of hashed properties does not match exactly with the set of serialized properties. This may be the case, for example, if an SDFG subclass (such as cutouts) is serialized to an SDFG.
  • Allowing cutouts to be constructed from transformations (i.e., their set of affected nodes) based on pattern matching or subgraphs.
  • Allowing symbols to be dumped and restored through data instrumentation on SDFG states.
  • Making InstrumentedDataReports able to read dumped symbol values.
  • Capturing the cutout's inputs/outputs through a dry run of the full SDFG, including symbol values.

@phschaad phschaad changed the title Move cutout to separate class Cutout-Assisted Debugging Mar 6, 2023
@phschaad phschaad marked this pull request as ready for review March 9, 2023 14:25
@phschaad phschaad requested a review from tbennun March 9, 2023 20:41
@phschaad phschaad enabled auto-merge (squash) March 9, 2023 20:43
Copy link
Collaborator

@tbennun tbennun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall. Some questions and minor changes.

dace/runtime/include/dace/serialization.h Outdated Show resolved Hide resolved
tests/sdfg/cutout_test.py Show resolved Hide resolved
dace/sdfg/analysis/cutout.py Outdated Show resolved Hide resolved
dace/sdfg/analysis/cutout.py Outdated Show resolved Hide resolved
dace/sdfg/analysis/cutout.py Outdated Show resolved Hide resolved
@phschaad phschaad requested a review from tbennun March 10, 2023 09:01
Copy link
Collaborator

@tbennun tbennun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great, thank you!

@phschaad phschaad merged commit 2751ca1 into master Mar 10, 2023
@tbennun tbennun deleted the cutout_improvements_round_2 branch March 10, 2023 15:51
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.

None yet

2 participants