-
Notifications
You must be signed in to change notification settings - Fork 7
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
scheduler_utils::parallelizeAllLike is changing parallelization that it should not change #1828
Comments
My guess is that it's just because the propagation algorithm was designed to do so. If that's not really convenient, we should reconsider the design.
There's only one concrete ID among those mapped together, so there can be non-broadcast non-concrete IDs. This propagation algorithm is meant to propagate the parallel types of the reference tensor to those IDs. |
I see. Thanks for the info! It is good to know that.
So currently |
Yes, as long as IDs are mapped with the permissive map, they are propagated. That doesn't work very well with something like transpose as you noticed. |
🐛 Describe the bug
I am trying to schedule a transpose kernel manually using the following code:
And I am seeing strange behavior: At the first print,
tv1
andtv2
has:which is expected. But at the second print, they become:
This is not what I expect, because
tv2
is not in the selected set of tensors that I want to change, but the parallelization of the last two dims oftv2
is swapped.The root cause seems to be this:
pytorch/torch/csrc/jit/codegen/cuda/scheduler/utils.cpp
Lines 197 to 198 in 3b87896
I don't understand:
Versions
devel
The text was updated successfully, but these errors were encountered: