-
Notifications
You must be signed in to change notification settings - Fork 25.6k
fix(inductor): ForeachKernelSchedulerNode
group shape should be opaque for graph debug
#110336
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
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/110336
Note: Links to docs will display an error until the docs builds have been completed. ✅ No FailuresAs of commit 874d400 with merge base 86196bf ( This comment was automatically generated by Dr. CI and updates every 15 minutes. |
ForeachKernelSchedulerNode
group shape should be opaque for graph debug
212719c
to
979da14
Compare
979da14
to
f81e60b
Compare
…uang/fix-graph-debug
…uang/fix-graph-debug
…uang/fix-graph-debug
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.
Could you possible list all of the shapes? that would be really cool. If not this is fine too
I think let's leave opaque for now. It'll be quite difficult to read when listing all shapes. |
@pytorchbot merge |
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
Merge failedReason: 1 jobs have failed, first few of them are: trunk / linux-focal-rocm5.6-py3.8 / test (default, 1, 3, linux.rocm.gpu) Details for Dev Infra teamRaised by workflow job |
…uang/fix-graph-debug
@pytorchbot merge |
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
…que for graph debug (pytorch#110336) ~~Shape is assumed by `TensorMetadata` to be torch.Shape/tuple, however, some of the scheduler node groups utilize `int`, so convert to tuple.~~ Root cause is actually `foreach` scheduler node having silent-error group of int, when in fact it ought to be opaque `foreach`. **Previously:** silent error / confusing shape of (0,)  **Now:** clear that it is foreach which does not have well-defined shape:  ~~Alternate might be to create list of shapes for each of its subnodes. Actually, for debuggability sake, I may prefer this. We can ensure that the recursive generation of this string is only done dynamically in a debug code path. Else, incrementally computing it on initialization of ForeachKernel may also be feasible.~~ This is quite infeasible for 100s of params. Pull Request resolved: pytorch#110336 Approved by: https://github.com/mlazos
…que for graph debug (pytorch#110336) ~~Shape is assumed by `TensorMetadata` to be torch.Shape/tuple, however, some of the scheduler node groups utilize `int`, so convert to tuple.~~ Root cause is actually `foreach` scheduler node having silent-error group of int, when in fact it ought to be opaque `foreach`. **Previously:** silent error / confusing shape of (0,)  **Now:** clear that it is foreach which does not have well-defined shape:  ~~Alternate might be to create list of shapes for each of its subnodes. Actually, for debuggability sake, I may prefer this. We can ensure that the recursive generation of this string is only done dynamically in a debug code path. Else, incrementally computing it on initialization of ForeachKernel may also be feasible.~~ This is quite infeasible for 100s of params. Pull Request resolved: pytorch#110336 Approved by: https://github.com/mlazos
Shape is assumed byTensorMetadata
to be torch.Shape/tuple, however, some of the scheduler node groups utilizeint
, so convert to tuple.Root cause is actually
foreach
scheduler node having silent-error group of int, when in fact it ought to be opaqueforeach
.Previously: silent error / confusing shape of (0,)

Now: clear that it is foreach which does not have well-defined shape:

Alternate might be to create list of shapes for each of its subnodes. Actually, for debuggability sake, I may prefer this. We can ensure that the recursive generation of this string is only done dynamically in a debug code path. Else, incrementally computing it on initialization of ForeachKernel may also be feasible.This is quite infeasible for 100s of params.cc @voznesenskym @penguinwu @EikanWang @jgong5 @Guobing-Chen @XiaobingSuper @zhuhaozhe @blzheng @Xia-Weiwen @wenzhe-nrv @jiayisunx @peterbell10 @ipiszy @yf225 @chenyang78 @kadeng @muchulee8 @aakhundov @ColinPeppler