From ad2c8c3eb8728a4a434b299ae26ba2ceb9c866a6 Mon Sep 17 00:00:00 2001 From: akolliasAMD <99202231+akolliasAMD@users.noreply.github.com> Date: Fri, 18 Oct 2024 11:26:38 -0600 Subject: [PATCH] added atomic acquire for gfx12 on prims_simple (#1382) [ROCm/rccl commit: af5678641de0f5f160f4d1c8879c3270cc20fbea] --- projects/rccl/src/device/prims_simple.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/projects/rccl/src/device/prims_simple.h b/projects/rccl/src/device/prims_simple.h index 588d2f1b1b..bb9b02bc41 100644 --- a/projects/rccl/src/device/prims_simple.h +++ b/projects/rccl/src/device/prims_simple.h @@ -101,7 +101,11 @@ private: #endif // volatile is faster than acquire but not as correct. Make sure reduceCopy // loads data using volatile so it doesn't see stale data in L1. +#if defined(__gfx1200__) || defined(__gfx1201__) + return __atomic_load_n(ptr, __ATOMIC_ACQUIRE); +#else return __atomic_load_n(ptr, __ATOMIC_RELAXED); +#endif } template