[DTensor] Track per-output placements for multi-output ops in strategy validation#175893
[DTensor] Track per-output placements for multi-output ops in strategy validation#175893pianpwk wants to merge 4 commits intogh/pianpwk/105/basefrom
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/175893
Note: Links to docs will display an error until the docs builds have been completed. ✅ You can merge normally! (7 Unrelated Failures)As of commit 4395c75 with merge base fbbcc93 ( FLAKY - The following jobs failed but were likely due to flakiness present on trunk:
BROKEN TRUNK - The following jobs failed but were present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
UNSTABLE - The following job is marked as unstable, possibly due to flakiness on trunk:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
…y_validation For multi-output ops like aten.min.dim (returns values + indices), the tool now tracks each output's placement separately instead of using a single output placement for all outputs. This makes the display explicit: `S(1) -> (P(min), P(min))` shows both outputs get P(min). ComboKey changes from (inputs, single_output_str) to (inputs, output_strs_tuple). PlacementCombination is simplified to a plain type alias. normalize_combo_key normalizes each output against its own shape. ghstack-source-id: 923aa60 Pull-Request: #175893
…y_validation For multi-output ops like aten.min.dim (returns values + indices), the tool now tracks each output's placement separately instead of using a single output placement for all outputs. This makes the display explicit: `S(1) -> (P(min), P(min))` shows both outputs get P(min). ComboKey changes from (inputs, single_output_str) to (inputs, output_strs_tuple). PlacementCombination is simplified to a plain type alias. normalize_combo_key normalizes each output against its own shape. ghstack-source-id: cf4804a Pull-Request: #175893
|
@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 |
|
Claude finished @pytorch-auto-revert[bot]'s task in 1m 12s —— View job Investigating Revert of PR #175893
DiagnosisThe revert is legitimate. The root cause is straightforward: a type mismatch between the production code and the test code. The PR changed PlacementCombination = tuple[tuple[Placement, ...], tuple[Placement, ...]]However, the tests still construct # Old dataclass style - keyword args (no longer works):
combo = PlacementCombination(
input_placements=(Shard(0), Replicate()), output_placement=Shard(0)
)
# Old dataclass style - positional args (no longer works):
combo = PlacementCombination(input_plcs, p_out)Since
All 8 failing tests hit the same error type. How to FixThe tests need to construct
|
|
@pytorchbot successfully started a revert job. Check the current status here. |
… strategy validation (#175893)" This reverts commit ea4d199. Reverted #175893 on behalf of https://github.com/pytorch-auto-revert due to Reverted automatically by pytorch's autorevert, to avoid this behaviour add the tag autorevert: disable ([comment](#175893 (comment)))
|
@pianpwk your PR has been successfully reverted. |
|
Are the strategy validation tests not running on PRs to the strategy validation files? We should fix this, labeler.yml or whatever can be set to tag these files with the right label or else we move the tests to a more popular runner config |
… in strategy validation" For multi-output ops like aten.min.dim (returns values + indices), the tool now tracks each output's placement separately instead of using a single output placement for all outputs. This makes the display explicit: `S(1) -> (P(min), P(min))` shows both outputs get P(min). ComboKey changes from (inputs, single_output_str) to (inputs, output_strs_tuple). PlacementCombination is simplified to a plain type alias. normalize_combo_key normalizes each output against its own shape. [ghstack-poisoned]
|
@pytorchbot merge -i |
Pull Request resolved: #176020 Approved by: https://github.com/wconstab ghstack dependencies: #175893
…y_validation For multi-output ops like aten.min.dim (returns values + indices), the tool now tracks each output's placement separately instead of using a single output placement for all outputs. This makes the display explicit: `S(1) -> (P(min), P(min))` shows both outputs get P(min). ComboKey changes from (inputs, single_output_str) to (inputs, output_strs_tuple). PlacementCombination is simplified to a plain type alias. normalize_combo_key normalizes each output against its own shape. ghstack-source-id: ec85d75 Pull Request resolved: pytorch/pytorch#175893
…y_validation For multi-output ops like aten.min.dim (returns values + indices), the tool now tracks each output's placement separately instead of using a single output placement for all outputs. This makes the display explicit: `S(1) -> (P(min), P(min))` shows both outputs get P(min). ComboKey changes from (inputs, single_output_str) to (inputs, output_strs_tuple). PlacementCombination is simplified to a plain type alias. normalize_combo_key normalizes each output against its own shape. ghstack-source-id: cf4804a Pull request resolved: pytorch/pytorch#175893 ghstack-source-id: 456408c Pull-Request: pytorch/pytorch#176361
…y validation (pytorch#175893) For multi-output ops like aten.min.dim (returns values + indices), the tool now tracks each output's placement separately instead of using a single output placement for all outputs. This makes the display explicit: `S(1) -> (P(min), P(min))` shows both outputs get P(min). ComboKey changes from (inputs, single_output_str) to (inputs, output_strs_tuple). PlacementCombination is simplified to a plain type alias. normalize_combo_key normalizes each output against its own shape. Pull Request resolved: pytorch#175893 Approved by: https://github.com/wconstab ghstack dependencies: pytorch#175892
… strategy validation (pytorch#175893)" This reverts commit ea4d199. Reverted pytorch#175893 on behalf of https://github.com/pytorch-auto-revert due to Reverted automatically by pytorch's autorevert, to avoid this behaviour add the tag autorevert: disable ([comment](pytorch#175893 (comment)))
…y validation (pytorch#175893) For multi-output ops like aten.min.dim (returns values + indices), the tool now tracks each output's placement separately instead of using a single output placement for all outputs. This makes the display explicit: `S(1) -> (P(min), P(min))` shows both outputs get P(min). ComboKey changes from (inputs, single_output_str) to (inputs, output_strs_tuple). PlacementCombination is simplified to a plain type alias. normalize_combo_key normalizes each output against its own shape. Pull Request resolved: pytorch#175893 Approved by: https://github.com/wconstab
) Pull Request resolved: pytorch#176020 Approved by: https://github.com/wconstab ghstack dependencies: pytorch#175893
Stack from ghstack (oldest at bottom):
For multi-output ops like aten.min.dim (returns values + indices), the
tool now tracks each output's placement separately instead of using a
single output placement for all outputs. This makes the display explicit:
S(1) -> (P(min), P(min))shows both outputs get P(min).ComboKey changes from (inputs, single_output_str) to (inputs,
output_strs_tuple). PlacementCombination is simplified to a plain type
alias. normalize_combo_key normalizes each output against its own shape.