-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
Various functions exhibit nondeterministic behavior #82004
Comments
good call. When deterministic mode is on we should fill empty with deterministic garbage to make it deterministic |
On a more serious note, |
From offline discussion, we should fill empty* functions values with |
I can make that change |
And I assume for integer types we should just fill with zeros? |
more like |
I think some not-ok looking value would be best yes. |
I'm having trouble finding where EDIT: Nevermind, I used gdb to find out that |
|
#101849) Part of #82004 Pull Request resolved: #101849 Approved by: https://github.com/lezcano, https://github.com/albanD, https://github.com/kulinseth
After #101849, the remaining functions from the issue description still need to be addressed:
For For For If I understand correctly, |
New elements added to a tensor by `torch.Tensor.resize_` are set to NaN/MAX_INT when deterministic mode is turned on. When `torch.Tensor.resize_` is called on a quantized tensor and deterministic mode is turned on, a nondeterministic error is raised. Part of #82004 Pull Request resolved: #104300 Approved by: https://github.com/albanD
…int (#104995) Relands #101849 after #104302 reverted it. torchrec PR pytorch/torchrec#1269 fixes the torchrec failure that caused #101849 to be reverted Part of #82004 Pull Request resolved: #104995 Approved by: https://github.com/albanD
The only thing left for this issue is the nondeterminism of |
🐛 Describe the bug
When testing the nondeterminism_seeded and bitwise tags on operators, the following operators fail:
Nondeterministic_seeded:
Nondeterministic_bitwise:
-aten.linalg_lstsq.default
(I've bolded the ops that are interesting). The 'empty' ops fail due to their use of uninitialized data.
The following lines of code were added to test_ops.py and test_tags was run.
Versions
N/A
cc @ezyang @gchanan @zou3519 @mruberry @kurtamohler
The text was updated successfully, but these errors were encountered: