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
This commit is contained in:
alex-breslow-amd
2025-07-22 07:15:15 -07:00
committed by GitHub
orang tua c28d3d26a3
melakukan 11fabf1de1
10 mengubah file dengan 116 tambahan dan 14 penghapusan
+1
Melihat File
@@ -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
Melihat File
@@ -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;