Cheaper threadfence for gfx942 in postPeer [1/N]: enable for single node allreduce (#1766)

Boosts single node bfloat16 allreduce performance by up to 20% for some data sizes and provides gating with the RCCL_GFX942_CHEAP_FENCE_OFF environment variable

[ROCm/rccl commit: 11fabf1de1]
このコミットが含まれているのは:
alex-breslow-amd
2025-07-22 07:15:15 -07:00
committed by GitHub
コミット cbb648505a
10個のファイルの変更116行の追加14行の削除
+1
ファイルの表示
@@ -488,6 +488,7 @@ struct ncclComm {
int node;
int nNodes;
int rcclUseOneSlice; // RCCL: true if this comm is using one slice per primitive
int gfx942CheapFenceOff; // RCCL: true if gfx942 cheap fence is disabled
int localRank;
int localRanks;
int maxLocalRanks;
+1 -1
ファイルの表示
@@ -305,7 +305,7 @@ struct alignas(16) ncclDevWorkColl {
// nChannels == (channelHi - channelLo) + 1
uint32_t channelLo:8, channelHi:8;
uint32_t nWarps:8;
uint32_t redOpArgIsPtr:1, regUsed:1, netRegUsed:1, oneNode:1, direct:2, isOneRPN:1, rcclUseOneSlice:1;
uint32_t redOpArgIsPtr:1, regUsed:1, netRegUsed:1, oneNode:1, direct:2, isOneRPN:1, rcclUseOneSlice:1, gfx942CheapFenceOff:1;
uint32_t root:30, connIndex:2;
uint16_t pivotA2ANumBiRings:15, profilerEnabled:1;
void* recvbuff;