You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All PRs are reviewed by the PhysicsNeMo team before merging.
Depending on which files are changed, GitHub may automatically assign a maintainer for review.
We are also testing AI-based code review tools (e.g., Greptile), which may add automated comments with a confidence score.
This score reflects the AI’s assessment of merge readiness and is not a qualitative judgment of your work, nor is
it an indication that the PR will be accepted / rejected.
AI-generated feedback should be reviewed critically for usefulness.
You are not required to respond to every AI comment, but they are intended to help both authors and reviewers.
Please react to Greptile comments with 👍 or 👎 to provide feedback on their accuracy.
This PR fixes a bug in _sharded_view_forward where a plain DTensor (not a ShardTensor subclass) could be passed during the backward pass of ShardedView. The plain DTensorSpec lacks the _sharding_shapes attribute that ShardTensorSpec provides, causing an AttributeError. The fix detects plain DTensors and reconstructs sharding shapes using compute_sharding_shapes_from_chunking_global_shape, which infers per-rank shapes from chunk semantics.
The approach is sound: isinstance(tensor, DTensor) and not isinstance(tensor, ShardTensor) correctly identifies the case, and the chunk-based reconstruction is appropriate for autograd-produced gradients.
The function's type annotation (tensor: ShardTensor) should be updated to reflect that it now accepts plain DTensor inputs.
The chunk-based reconstruction assumes even/chunk-style sharding. A comment documenting this assumption would help future maintainers.
No new tests were added for the plain DTensor code path. The PR checklist item for test coverage is unchecked.
Adds DTensor spec handling in _sharded_view_forward to reconstruct sharding shapes from chunk semantics when the input is a plain DTensor (not a ShardTensor). Type annotation not updated to reflect the broader accepted input type.
physicsnemo/domain_parallel/shard_utils/view_ops.py Type annotation doesn't match actual usage
The function now accepts plain DTensor objects (not just ShardTensor) via the is_plain_dtensor check on line 457, but the type hint still declares tensor: ShardTensor. The docstring's Parameters section also describes the input as ShardTensor. Consider updating both to DTensor | ShardTensor (or just DTensor since ShardTensor is a subclass) so callers and static analysis tools understand the accepted input types.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PhysicsNeMo Pull Request
Description
Updates
_sharded_view_forwardto handle DTensor spec as well, fixing a bug occurring in DiT backward pass from the reshape ops.Checklist
Dependencies
Review Process
All PRs are reviewed by the PhysicsNeMo team before merging.
Depending on which files are changed, GitHub may automatically assign a maintainer for review.
We are also testing AI-based code review tools (e.g., Greptile), which may add automated comments with a confidence score.
This score reflects the AI’s assessment of merge readiness and is not a qualitative judgment of your work, nor is
it an indication that the PR will be accepted / rejected.
AI-generated feedback should be reviewed critically for usefulness.
You are not required to respond to every AI comment, but they are intended to help both authors and reviewers.
Please react to Greptile comments with 👍 or 👎 to provide feedback on their accuracy.