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(); } }