diff --git a/projects/rccl/test/host/algorithms/dda/all_gather/dda-all-gather-fabric-ll128-test.cc b/projects/rccl/test/host/algorithms/dda/all_gather/dda-all-gather-fabric-ll128-test.cc index 5c09ac527d2c..bfd149217c82 100644 --- a/projects/rccl/test/host/algorithms/dda/all_gather/dda-all-gather-fabric-ll128-test.cc +++ b/projects/rccl/test/host/algorithms/dda/all_gather/dda-all-gather-fabric-ll128-test.cc @@ -87,9 +87,10 @@ TEST_F(DdaAllGatherFabricLL128Microtest, Eligible_BaselineFp32) { EXPECT_TRUE(Eligible(4)); } -TEST_F(DdaAllGatherFabricLL128Microtest, Eligible_DdaLLZeroRejects) { +// LL128 is gated by RCCL_DDA_LL128 alone; RCCL_DDA_LL only controls the LL tier. +TEST_F(DdaAllGatherFabricLL128Microtest, Eligible_DdaLLZeroDoesNotGateLL128) { params_["RCCL_DDA_LL"] = 0; - EXPECT_FALSE(Eligible(4)); + EXPECT_TRUE(Eligible(4)); } TEST_F(DdaAllGatherFabricLL128Microtest, Eligible_NeedsCommAndBootstrap) { diff --git a/projects/rccl/test/host/algorithms/dda/all_reduce/dda-all-reduce-fabric-ll-test.cc b/projects/rccl/test/host/algorithms/dda/all_reduce/dda-all-reduce-fabric-ll-test.cc index 52e48943c50c..fd39ea768da3 100644 --- a/projects/rccl/test/host/algorithms/dda/all_reduce/dda-all-reduce-fabric-ll-test.cc +++ b/projects/rccl/test/host/algorithms/dda/all_reduce/dda-all-reduce-fabric-ll-test.cc @@ -110,7 +110,7 @@ class DdaAllReduceFabricLLMicrotest : public ::testing::Test { } // Common to all four tiers: everything the shape checks look at but the size. - void ExpectShapeRejections(EligibleFn fn) { + void ExpectShapeRejections(EligibleFn fn, bool gatedByDdaLL) { EXPECT_TRUE(Eligible(fn, 64)); EXPECT_FALSE(Eligible(fn, 0)); EXPECT_FALSE(fn(nullptr, kSendbuff, kRecvbuff, 64, ncclFloat32, ncclSum)); @@ -152,7 +152,8 @@ class DdaAllReduceFabricLLMicrotest : public ::testing::Test { } mock_.setFabricResourcesPresent(true); params_["RCCL_DDA_LL"] = 0; - EXPECT_FALSE(Eligible(fn, 64)); + // RCCL_DDA_LL gates only the LL tier; LL128 is gated by RCCL_DDA_LL128 upstream of these checks. + EXPECT_EQ(!gatedByDdaLL, Eligible(fn, 64)); params_.erase("RCCL_DDA_LL"); } @@ -161,19 +162,19 @@ class DdaAllReduceFabricLLMicrotest : public ::testing::Test { }; TEST_F(DdaAllReduceFabricLLMicrotest, LLOneShotEligible_SharedShapeChecks) { - ExpectShapeRejections(ddaLLArOneShotEligible); + ExpectShapeRejections(ddaLLArOneShotEligible, true); comm().ddaLLEpochDev = nullptr; EXPECT_TRUE(Eligible(ddaLLArOneShotEligible, 64)); } TEST_F(DdaAllReduceFabricLLMicrotest, LLTwoShotEligible_SharedShapeChecks) { - ExpectShapeRejections(ddaLLArTwoShotEligible); + ExpectShapeRejections(ddaLLArTwoShotEligible, true); comm().ddaLLEpochDev = nullptr; EXPECT_TRUE(Eligible(ddaLLArTwoShotEligible, 64)); } TEST_F(DdaAllReduceFabricLLMicrotest, LL128OneShotEligible_SharedShapeChecksAndEpoch) { - ExpectShapeRejections(ddaLL128ArOneShotEligible); + ExpectShapeRejections(ddaLL128ArOneShotEligible, false); comm().ddaLLEpochLen = 0; EXPECT_FALSE(Eligible(ddaLL128ArOneShotEligible, 64)); comm().ddaLLEpochLen = 1; @@ -182,7 +183,7 @@ TEST_F(DdaAllReduceFabricLLMicrotest, LL128OneShotEligible_SharedShapeChecksAndE } TEST_F(DdaAllReduceFabricLLMicrotest, LL128TwoShotEligible_SharedShapeChecksAndEpoch) { - ExpectShapeRejections(ddaLL128ArTwoShotEligible); + ExpectShapeRejections(ddaLL128ArTwoShotEligible, false); comm().ddaLLEpochLen = 0; EXPECT_FALSE(Eligible(ddaLL128ArTwoShotEligible, 64)); comm().ddaLLEpochLen = 1; diff --git a/projects/rccl/test/host/algorithms/dda/alltoall/dda-alltoall-fabric-ll128-test.cc b/projects/rccl/test/host/algorithms/dda/alltoall/dda-alltoall-fabric-ll128-test.cc index 09a7b18a1196..d36f64be2fae 100644 --- a/projects/rccl/test/host/algorithms/dda/alltoall/dda-alltoall-fabric-ll128-test.cc +++ b/projects/rccl/test/host/algorithms/dda/alltoall/dda-alltoall-fabric-ll128-test.cc @@ -89,9 +89,10 @@ TEST_F(DdaAlltoallFabricLL128Microtest, Eligible_BaselineFp32) { EXPECT_TRUE(Eligible(4)); } -TEST_F(DdaAlltoallFabricLL128Microtest, Eligible_DdaLLZeroRejects) { +// LL128 is gated by RCCL_DDA_LL128 alone; RCCL_DDA_LL only controls the LL tier. +TEST_F(DdaAlltoallFabricLL128Microtest, Eligible_DdaLLZeroDoesNotGateLL128) { params_["RCCL_DDA_LL"] = 0; - EXPECT_FALSE(Eligible(4)); + EXPECT_TRUE(Eligible(4)); } TEST_F(DdaAlltoallFabricLL128Microtest, Eligible_NeedsCommAndBootstrap) { diff --git a/projects/rccl/test/host/algorithms/dda/reduce_scatter/dda-reduce-scatter-fabric-ll128-test.cc b/projects/rccl/test/host/algorithms/dda/reduce_scatter/dda-reduce-scatter-fabric-ll128-test.cc index 9800e2368e29..9b56cbb6e2c1 100644 --- a/projects/rccl/test/host/algorithms/dda/reduce_scatter/dda-reduce-scatter-fabric-ll128-test.cc +++ b/projects/rccl/test/host/algorithms/dda/reduce_scatter/dda-reduce-scatter-fabric-ll128-test.cc @@ -103,9 +103,10 @@ TEST_F(DdaReduceScatterFabricLL128Microtest, Eligible_BaselineFp32Sum) { EXPECT_TRUE(Eligible(4)); } -TEST_F(DdaReduceScatterFabricLL128Microtest, Eligible_DdaLLZeroRejects) { +// LL128 is gated by RCCL_DDA_LL128 alone; RCCL_DDA_LL only controls the LL tier. +TEST_F(DdaReduceScatterFabricLL128Microtest, Eligible_DdaLLZeroDoesNotGateLL128) { params_["RCCL_DDA_LL"] = 0; - EXPECT_FALSE(Eligible(4)); + EXPECT_TRUE(Eligible(4)); } TEST_F(DdaReduceScatterFabricLL128Microtest, Eligible_NeedsCommAndBootstrap) { diff --git a/projects/rccl/test/host/rocmwrap-test.cc b/projects/rccl/test/host/rocmwrap-test.cc index 86ca7f611196..7eb239b577af 100644 --- a/projects/rccl/test/host/rocmwrap-test.cc +++ b/projects/rccl/test/host/rocmwrap-test.cc @@ -450,7 +450,7 @@ TEST_F(RocmwrapMicrotest, CapabilityCheck_EachCheapGateFailureReturnsZeroWithout return hipSuccess; }; }, - "requires HIP_VERSION >= 7.2.0"}, + "requires ROCm >= 7.12 or the 7.0.2.x backport"}, {"no VMM", [] { SetVmmAttribute(0); }, "requires VMM RDMA support"}, }; for (const auto& c : cases) {