Add datatype validation for MSCCLPP AllGather (#1816)

Signed-off-by: rahulvaidya20 <ravaidya@amd.com>

[ROCm/rccl commit: c28d3d26a3]
This commit is contained in:
Rahul Vaidya
2025-07-21 11:50:45 -05:00
committed by GitHub
parent c94fb7c58e
commit bd63518944
@@ -562,6 +562,18 @@ static inline bool isMscclppAllReduceSupported(ncclDataType_t dataType, ncclRedO
return (op == ncclSum);
}
static inline bool isMscclppAllGatherSupported(ncclDataType_t dataType) {
switch (dataType) {
#ifdef RCCL_FLOAT8
case ncclFloat8e4m3:
case ncclFloat8e5m2:
return false;
#endif
default:
return true;
}
}
#endif
ncclResult_t mscclEnqueueCheck(
@@ -606,7 +618,7 @@ ncclResult_t mscclEnqueueCheck(
threadLocalStatus.savedSchedulerParams.clear();
break;
}
else if (func == mscclFuncAllGather && nBytes * comm->nRanks <= comm->mscclpp_threshold) {
else if (func == mscclFuncAllGather && nBytes * comm->nRanks <= comm->mscclpp_threshold && isMscclppAllGatherSupported(dataType)) {
INFO(NCCL_COLL,"%s: opCount %lx sendbuff %p recvbuff %p count %zi datatype %d op %d root %d comm %p [nranks=%d] stream %p graphMode %d ubr %d",
"mscclpp_ncclAllGather", comm->opCount, sendBuff, recvBuff, count, dataType, op, root, comm, comm->nRanks, stream,
graphMode, buffsRegistered);
@@ -652,7 +664,7 @@ ncclResult_t mscclEnqueueCheck(
threadLocalStatus.savedSchedulerParams.clear();
break;
}
else if (func == mscclFuncAllGather && nBytes * comm->nRanks <= comm->mscclpp_threshold) {
else if (func == mscclFuncAllGather && nBytes * comm->nRanks <= comm->mscclpp_threshold && isMscclppAllGatherSupported(dataType)) {
INFO(NCCL_COLL,"%s: opCount %lx sendbuff %p recvbuff %p count %zi datatype %d op %d root %d comm %p [nranks=%d] stream %p graphMode %d ubr %d" ,
"mscclpp_ncclAllGather", comm->opCount, sendBuff, recvBuff, count, dataType, op, root, comm, comm->nRanks, stream,
graphMode, buffsRegistered);