PyTorch fixes symbolic tensor handling in Dynamo
Critical fix for PyTorch Dynamo resolves symbolic tensor overlap errors
PyTorch merged a critical fix for Dynamo's overlap status detection when handling symbolic tensors in `gather.out` operations. The issue occurred because `get_overlap_status` checked `TensorImpl::numel()` before considering symbolic sizes, causing `assert_no_overlap` to fail when attempting to compute concrete element counts for symbolic inputs.
The fix, implemented in PR #186471 by Meta engineer jansel, returns `MemOverlapStatus::TooHard` immediately when either tensor has symbolic sizes or strides. This preserves the conservative overlap contract for unclassifiable cases while avoiding concrete-only storage range arithmetic failures. The change was validated through Dynamo's test suite, including `test_gather_out_dynamic_shapes`, ensuring backward compatibility.
- Fixed in PyTorch PR #186471 by Meta's jansel, resolving overlap detection for symbolic tensors in Dynamo
- Prevents crashes in `gather.out` operations by returning `MemOverlapStatus::TooHard` for symbolic metadata
- Validated with Dynamo's test suite: `test_gather_out_dynamic_shapes` now passes after recompilation
Why It Matters
Prevents Dynamo recompilation failures for dynamic shapes in production ML pipelines