Uh oh!
There was an error while loading. Please reload this page.
[TE] Support schedulable TIR compute definitions in TOPI - #11589
Conversation
for loads, stores and both in one pass. Expose an FFI to return the buffer domain access map.
user defined buffers expressed in te.extern ops.
TVMScript defined schedulable TIR primfunc into TE. In this way TOPI compute definitions can be defined via TIR and scheduled using TIR scheduling primitives via meta-scheduler.
Add test that uses TVMScript defined TOPI compute definition for relay meta-schedule execution.
masahi
commented
Jun 6, 2022
cc @Hzfengsy |
Hzfengsy
left a comment
There was a problem hiding this comment.
Overall LGTM. Thanks @csullivan for such great contribution!!!
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| for i in T.serial( | ||
| 0, | ||
| 16, | ||
| ): |
There was a problem hiding this comment.
| foriinT.serial( | |
| 0, | |
| 16, | |
| ): | |
| foriinrange(16): |
| for i in T.serial( | ||
| 0, | ||
| 16, | ||
| ): |
There was a problem hiding this comment.
| foriinT.serial( | |
| 0, | |
| 16, | |
| ): | |
| foriinrange(16): |
| for i in T.serial( | ||
| 0, | ||
| 16, | ||
| ): |
There was a problem hiding this comment.
| foriinT.serial( | |
| 0, | |
| 16, | |
| ): | |
| foriinrange(16): |
| for i in T.serial( | ||
| 0, | ||
| 16, | ||
| ): |
There was a problem hiding this comment.
| foriinT.serial( | |
| 0, | |
| 16, | |
| ): | |
| foriinrange(16): |
junrushao
commented
Jun 9, 2022
@Hzfengsy for context, as a rule of thumb, usually we don't use "requested changes" if the comment is not emotional :-) in our case, it's just some syntactic nitpicking, so let's just use "comment" as review type |
Hzfengsy
commented
Jun 10, 2022
Thanks for the reminder of @junrushao1994. And I'm sorry for bringing ambiguity to @csullivan. I will change the |
csullivan
commented
Jun 13, 2022
Thanks @Hzfengsy. I think I prefer |
Hzfengsy
commented
Jun 13, 2022
|
This PR adds
te.extern_primfuncwhich provides the interface around TE ExternOp that allows a TVMScript defined schedulable TIR PrimFunc to be inlined into a TE compute graph. The result is that TIR can be used for compute definitions in Relay OpStrategies and, paired with meta-scheduler support in relay as introduced in #10578, these compute definitions can be scheduled and tuned as demonstrated in the attached tests.Prior to this, compute definitions were limited to those definable in TE only. As a consequence of this patch and ongoing improvements to TVMScript meta-programming (#11097), TOPI can be extended to include compute and scheduling functions targeting schedulable TIR uniformly.