update build rccl-tests infrastructure and add getAlgoProtoChannels support (#2212)

This commit is contained in:
habajpai-amd
2025-12-11 18:29:06 +05:30
committed by GitHub
parent 10635483ad
commit 6b45657493
17 changed files with 408 additions and 120 deletions
@@ -7,6 +7,7 @@
#include "common.h"
#include "cuda_runtime.h"
#include "rccl_compat.h"
void
BroadcastGetCollByteCount(size_t* sendcount, size_t* recvcount, size_t* paramcount,
@@ -41,6 +42,16 @@ BroadcastInitData(struct threadArgs* args, ncclDataType_t type, ncclRedOp_t op,
return testSuccess;
}
testResult_t
BroadcastGetAlgoProtoChannels(ncclComm_t comm, size_t count, ncclDataType_t type,
int* algo, int* proto, int* nchannels)
{
if(rcclTestsGetAlgoInfo == NULL) return testInternalError;
NCCLCHECK(rcclTestsGetAlgoInfo(comm, ncclFuncBroadcast, count, type, 0, 0, 1, algo,
proto, nchannels));
return testSuccess;
}
void
BroadcastGetBw(size_t count, int typesize, double sec, double* algBw, double* busBw,
int nranks)
@@ -54,8 +65,10 @@ BroadcastGetBw(size_t count, int typesize, double sec, double* algBw, double* bu
testResult_t
BroadcastRunColl(void* sendbuff, void* recvbuff, size_t count, ncclDataType_t type,
ncclRedOp_t op, int root, ncclComm_t comm, cudaStream_t stream)
ncclRedOp_t op, int root, ncclComm_t comm, cudaStream_t stream,
void* bias = nullptr)
{
(void) bias;
int rank;
NCCLCHECK(ncclCommUserRank(comm, &rank));
#if NCCL_MAJOR >= 2 && NCCL_MINOR >= 2
@@ -73,8 +86,9 @@ BroadcastRunColl(void* sendbuff, void* recvbuff, size_t count, ncclDataType_t ty
return testSuccess;
}
struct testColl broadcastTest = { "Broadcast", BroadcastGetCollByteCount,
BroadcastInitData, BroadcastGetBw, BroadcastRunColl };
struct testColl broadcastTest = { "Broadcast", BroadcastGetCollByteCount,
BroadcastInitData, BroadcastGetBw,
BroadcastRunColl, BroadcastGetAlgoProtoChannels };
void
BroadcastGetBuffSize(size_t* sendcount, size_t* recvcount, size_t count, int nranks)