pytorch
5b692fd8 - Fix bug in check required output size in _as_strided_scatter_meta (#98483)

Commit
1 year ago
Fix bug in check required output size in _as_strided_scatter_meta (#98483) Original Issue from #92670 pytest ./generated/test_XuyangBai_PointDSC.py -k test_004 ==> RuntimeError: as_strided_scatter: sizes [4], strides [85], storage offset 256 and itemsize 4 requiring a storage size of 2048 are out of bounds for storage of size 1024 Repro: ``` class Model(nn.Module): def __init__(self): super(Model, self).__init__() def forward(self, x): x[1].fill_diagonal_(0) # this check size failed device = torch.device("cpu") model = Model() model.to(device) torch._dynamo.reset() compiled_model = torch._dynamo.optimize("inductor")(model) arg = [torch.rand([4, 1, 1])] compiled_model(*arg) ``` The error was raised at the checking required size in as_strided_scatter. https://github.com/pytorch/pytorch/blob/master/torch/_prims/__init__.py#L1818 In the case of input is a tensor with storage offset(a view), when compute input's storage length, should also take input's base tensor's size/stride/offset into account instead of compare it with number of element of input. This diff fix the bug and add test. Fixes #ISSUE_NUMBER Pull Request resolved: https://github.com/pytorch/pytorch/pull/98483 Approved by: https://github.com/ngimel
Author
Committer
Parents
Loading