Add datatype validation for MSCCLPP AllGather (#1816)
Signed-off-by: rahulvaidya20 <ravaidya@amd.com>
[ROCm/rccl commit: c28d3d26a3]
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user