[Libomptarget] Use scoped atomics in the device runtime (#75834)
Summary: A recent patch allowed us to easily replace GNU atomics with scoped variants that make use of the backend's handling for more permissive scopes. The default is full "system" scope, that means the atomic operation must be consistent with operations that may happen on the host's memory. This is generally only required for processes that are communicating with something via global fine-grained memory. This patch uses these atomics to make everything device scoped, as nothing in the OpenMP runtime should depend on the host. This is only provided as a very new clang extension but the DeviceRTL is only compiled with clang so it is always available.
parent
78a195e1
Please register or sign in to comment