From a3a598efb3215f23ead2dac014990096eac19e0d Mon Sep 17 00:00:00 2001 From: mberenjk <146776561+mberenjk@users.noreply.github.com> Date: Mon, 17 Mar 2025 10:22:49 -0500 Subject: [PATCH] Skipping AllReduce test on more than 8 ranks for FP8 type on Hyabusa (#1598) * Skipping AllReduce FP8 test on 9 to 16 ranks (gfx90a) as it's using Tree algorithm not RING --------- Co-authored-by: Marzieh Berenjkoub [ROCm/rccl commit: 5f691aaf65410efec68e17c2f44ef15c70bc344b] --- projects/rccl/test/common/EnvVars.cpp | 2 ++ projects/rccl/test/common/EnvVars.hpp | 1 + projects/rccl/test/common/TestBed.cpp | 9 +++++++++ 3 files changed, 12 insertions(+) diff --git a/projects/rccl/test/common/EnvVars.cpp b/projects/rccl/test/common/EnvVars.cpp index 15b697fabf..268ae5b62e 100644 --- a/projects/rccl/test/common/EnvVars.cpp +++ b/projects/rccl/test/common/EnvVars.cpp @@ -202,6 +202,8 @@ namespace RcclUnitTesting getArchInfo(&isGfx94, "gfx94"); isGfx12 = false; getArchInfo(&isGfx12, "gfx12"); + isGfx90 = false; + getArchInfo(&isGfx90, "gfx90"); showNames = GetEnvVar("UT_SHOW_NAMES" , 1); minGpus = GetEnvVar("UT_MIN_GPUS" , 1); diff --git a/projects/rccl/test/common/EnvVars.hpp b/projects/rccl/test/common/EnvVars.hpp index f75f31a3c7..c557b0050e 100644 --- a/projects/rccl/test/common/EnvVars.hpp +++ b/projects/rccl/test/common/EnvVars.hpp @@ -32,6 +32,7 @@ namespace RcclUnitTesting bool useMultithreading; // Multi-thread single-process ranks [UT_MULTITHREAD] bool isGfx94; // Detects if architecture is gfx94 bool isGfx12; // Detects if architecture is gfx12 + bool isGfx90; // Detects if architecture is gfx90 // Constructor that parses and collects environment variables EnvVars(); diff --git a/projects/rccl/test/common/TestBed.cpp b/projects/rccl/test/common/TestBed.cpp index 7b9fbc88b7..f33342ff82 100644 --- a/projects/rccl/test/common/TestBed.cpp +++ b/projects/rccl/test/common/TestBed.cpp @@ -681,6 +681,14 @@ namespace RcclUnitTesting for (int ftIdx = 0; ftIdx < funcTypes.size() && isCorrect; ++ftIdx) for (int dtIdx = 0; dtIdx < dataTypes.size() && isCorrect; ++dtIdx) + { + //Skipping AllReduce FP8 test on 9 to 16 ranks (gfx90a). + if(ev.isGfx90 && numRanks > 8 && funcTypes[ftIdx] == ncclCollAllReduce + && (dataTypes[dtIdx] == ncclFp8E4M3 + || dataTypes[dtIdx] == ncclFp8E5M2)) + { + continue; + } for (int rdIdx = 0; rdIdx < redOps.size() && isCorrect; ++rdIdx) for (int rtIdx = 0; rtIdx < roots.size() && isCorrect; ++rtIdx) for (int ipIdx = 0; ipIdx < inPlaceList.size() && isCorrect; ++ipIdx) @@ -764,6 +772,7 @@ namespace RcclUnitTesting } this->DeallocateMem(); } + } this->DestroyComms(); } }