-
Notifications
You must be signed in to change notification settings - Fork 36
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
Add initial framework for TKW #18
Conversation
I saw this branch in my latest fetch and was intrigued. Looks interesting |
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.
Thanks for pushing this. Just some minor comments but looks good overall.
One naming nit: aside from some functional inspiration, the big idea here is a wave level programming model. If we're allocating the third letter of the prefix to what something is, probably tkw vs tkf. I doubt this will be the only thing that takes more of a functional view of things. And in general, that is a how, not a what. |
6178ac8
to
095511f
Compare
e3b0abc
to
40f090f
Compare
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.
Thank you for the comments, they should now all be addressed.
I think the renaming @stellaraccident suggested makes sense so I renamed the project to tkw for now.
a2fc46c
to
fa8819b
Compare
I updated the IREE version here but the CI still seems to pick up a version which does not expose the amdgpu dialect. Do you know where to adjust this? @harsh-nod @stellaraccident |
Look to the failing CI run? |
45f1de8
to
bb4f0ba
Compare
Sorry, I rushed a bit to get to some other work. I only now understood that the CI pulls nod-ai/SHARK and uses those requirements.
and seems to be supposed to match here However, it does not. I am not sure whether that is intended to test everything with the requirements of iree-turbine/main or an oversight. I will have to revisit this later. |
3424b26
to
7dfabaa
Compare
7dfabaa
to
1b114fe
Compare
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.
Thank you for the comments @harsh-nod
I will explore tomorrow autogenerating more of the operation boilerplate and in particular see whether the registration of the custom ops to the context can be done differently.
1b114fe
to
0167aaf
Compare
0167aaf
to
ec5b437
Compare
ec5b437
to
c4db712
Compare
Oops, seems my VSCode plugin glitched and I accidentally closed. Now reopened. |
40f3a08
to
67a22ee
Compare
This is great Martin and apart from a few minor changes, seems good to land. Thanks for the push in getting this PR to this point. This will give us a great foundation to build on. |
da97c1c
to
0565259
Compare
Thank you @harsh-nod Inspired by your comment I added the With that the API for creating nodes after the tracing looks like this:
|
Thanks Martin, that's awesome. Thank you for the push and this is a great first PR to build on top of. |
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.
lgtm! thanks!
0c2dc53
to
58fafc4
Compare
- Readme describing TKW approach - initial op set: read, write, mma, tiled_loop, register - wave decorator for block-based programming model - types for yet to be specified Memory and for Registers - unit tests for new types - initial gemm test that traces successfully - unit tests for tracing the initial set of ops - add lit and filecheck dependencies for unit tests - interface on top of fx.Node to rely less on string matching when navigating the fx.Graph. - small changes to tracing contexts to use op handlers from node interfaces Signed-off-by: Martin Lücke <[email protected]>
58fafc4
to
5ddb524
Compare
TODO: expand PR description, this is currently for enabling commenting
Detailed description of this project in shark_turbine/kernel/functional/README.md