Return atomic (#41028)
Summary:
Per title. This is not used currently in the pytorch codebase, but it is a legitimate usecase, and we have extensions that want to do that and are forced to roll their own atomic implementations for non-standard types. Whether atomic op returns old value or not should not affect performance, compiler is able to generate correct code depending on whether return value is used. https://godbolt.org/z/DBU_UW.
Atomic operations for non-standard integer types (1,2 and 8 byte-width) are left as is, with void return.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/41028
Differential Revision: D22425008
Pulled By: ngimel
fbshipit-source-id: ca064edb768a6b290041a599e5b50620bdab7168