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

Tuning API #961

Merged
merged 133 commits into from
Apr 19, 2022
Merged

Tuning API #961

merged 133 commits into from
Apr 19, 2022

Conversation

tbennun
Copy link
Collaborator

@tbennun tbennun commented Mar 1, 2022

  • Better support for integer powers and square root special cases
  • Refactor data instrumentation and cutout API
  • Transformation tuning API
  • GPU support for arbitrary-stride device copies via CopyToMap
  • codegen: allow library nodes to specify which files' headers should include files
  • Add dace.data.make_array_from_descriptor for easy creation of arrays mimicking data descriptor allocation scheme
  • Faster and more flexible np.rot90 replacement
  • Native support for cupy arrays and CUDA-aware MPI
  • GPU codegen support for thread specialization via nested GPU_Device maps

@tbennun tbennun marked this pull request as ready for review April 12, 2022 13:43
@tbennun tbennun requested a review from alexnick83 April 13, 2022 14:22
Copy link
Contributor

@alexnick83 alexnick83 left a comment

Choose a reason for hiding this comment

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

In general, it looks good. I have minor questions and remarks. If it is not too much work, could we get as part of this PR some document somewhere explaining a bit the tuning API? There are also some terms, e.g., on-the-fly recomputation, which I am not sure what they mean in the context of sugraph fusion. It would be great if they could be explained somewhere so that it makes future developments easier.


class FalseConditionElimination(transformation.MultiStateTransformation):
"""
If a state transition condition is always true, removes condition from edge.
Copy link
Contributor

Choose a reason for hiding this comment

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

Is the docstring correct? The transformation name sounds like it handles conditions that are never satisfied.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Fixed

@tbennun
Copy link
Collaborator Author

tbennun commented Apr 14, 2022

Good idea with the documentation. The API itself wasn't fixed at the beginning and was shifting around, hence it was not well documented. Now it seems stable enough to document and update the docs later. For now I applied the minor fixes.

@tbennun
Copy link
Collaborator Author

tbennun commented Apr 15, 2022

@alexnick83 I added some documentation. I'll leave making a good sample for a future PR.

@tbennun tbennun requested a review from alexnick83 April 15, 2022 13:26
@tbennun tbennun merged commit 2f6afc3 into master Apr 19, 2022
@tbennun tbennun deleted the tuning branch April 19, 2022 11:31
@tbennun tbennun mentioned this pull request Mar 24, 2025
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.

3 participants