-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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
[Relay] Remove FTVMCompute from TNonComputational ops #9334
[Relay] Remove FTVMCompute from TNonComputational ops #9334
Conversation
Can you go into a little more detail on why these have FTVMCompute? My worry is that there is some pass somewhere which grabs this attribute for these and this change will break things. |
@AndrewZhaoLuo Since they are marked non computational the compute shouldn't ever be running. If the compute is running then they shouldn't be marked as non computational. |
Makes sense, I just wanted an audit to make sure people aren't using the FTVMCompute attr willy nilly through the code base. It doesn't look like they are though. |
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.
We can also probably remove FInferCorrectLayout
stuff from these ops.
@masahi Thanks! |
@masahi For removing FInferCorrectLayout, it looks like most of attrs are set to ElemwiseArbitraryLayout, but some of the QNN ops are set to custom layout methods (QNN concatenate has the method QnnConcatenateLayout). Do you know if that layout method is actually used? (cc @AndrewZhaoLuo, you might be interested in this question :) ) |
Oh yes, On the other hand, the ops you removed I didn't realize that QNN ops are marked |
@masahi Yeah I think I actually added the TNonComputational option to the QNN ops-- conceptually I guess they are more "symbolic" than non-computational, since they do conceptually compute something, but that compute is injected during legalization, which is wayyy before lowering. |
* remove FTVMCompute from noncomputational ops * Remove injective schedule registration for on_device since it is non-computational * lint
* remove FTVMCompute from noncomputational ops * Remove injective schedule registration for on_device since it is non-computational * lint
Some non computational ops have the FTVMCompute attr set to the TOPI identity function. Since the ops are noncomputational, this compute function should do nothing. In this PR, I remove the FTVMCompute attribute from all noncomputational Relay ops.