-
Notifications
You must be signed in to change notification settings - Fork 73
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
(dialects): adding csl_wrapper dialect #2867
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #2867 +/- ##
========================================
Coverage 89.85% 89.85%
========================================
Files 397 399 +2
Lines 49447 50171 +724
Branches 7607 7755 +148
========================================
+ Hits 44430 45083 +653
- Misses 3824 3860 +36
- Partials 1193 1228 +35 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great direction to go in, I'm just not 100% on board with the current execution of it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nicely done! Just one minor nitpick!
The
csl_wrapper
dialect is helps initialise CSL modules and manage params.csl_wrapper.module
are passed as BlockArgs to both layout_module and program_module%x
and%y
BlockArgs, as well as all properties. The layout module offers various simplifications:csl_wrapper.yield
op is lowered to@set_tile_code
. Any values yielded are passed as BlockArgs to the program module%x
or%y
will automatically be placed at the correct level of nesting for the generated@set_tile_code
loopcsl_wrapper.import_module
op andyield
can both take field names directly, without the need to handle structs at this level (the former exists solely for this purpose)csl_wrapper.module
properties as well as every field yielded by layout'syield
op.