[RAS] Add support for RAS client (#1748)

Enable RAS client binary `rcclras`
This commit is contained in:
Nilesh M Negi
2025-06-29 18:53:16 -05:00
committed by GitHub
parent 75d22b47cb
commit 8d3a5542fb
5 changed files with 40 additions and 9 deletions
+1 -1
View File
@@ -84,7 +84,7 @@ static void parseArgs(int argc, char** argv) {
printUsage(argv[0]);
exit(0);
case 'r':
fprintf(stderr, "NCCL RAS client version " STR(NCCL_MAJOR) "." STR(NCCL_MINOR) "."
fprintf(stderr, "RCCL RAS client version " STR(NCCL_MAJOR) "." STR(NCCL_MINOR) "."
STR(NCCL_PATCH) NCCL_SUFFIX "\n");
exit(0);
default:
+10 -8
View File
@@ -487,18 +487,20 @@ static ncclResult_t rasClientRunInit(struct rasClient* client) {
int firstIdx, nPeers;
struct rasValCount valCounts[NCCL_MAX_LOCAL_RANKS];
int nValCounts;
static int cudaDriver = -1, cudaRuntime = -1;
static int hipRuntime = -1, amdgpuDriver = -1;
TRACE(NCCL_RAS, "RAS: rasClientRunInit: starting");
rasOutReset();
rasOutAppend("NCCL version " STR(NCCL_MAJOR) "." STR(NCCL_MINOR) "." STR(NCCL_PATCH) NCCL_SUFFIX
" compiled with CUDA " STR(CUDA_MAJOR) "." STR(CUDA_MINOR) "\n");
if (cudaRuntime == -1)
cudaRuntimeGetVersion(&cudaRuntime);
if (cudaDriver == -1)
cudaDriverGetVersion(&cudaDriver);
rasOutAppend("CUDA runtime version %d, driver version %d\n\n", cudaRuntime, cudaDriver);
rasOutAppend("RCCL version " STR(NCCL_MAJOR) "." STR(NCCL_MINOR) "." STR(NCCL_PATCH) NCCL_SUFFIX
" compiled with ROCm " STR(ROCM_BUILD_INFO) "\n");
if (hipRuntime == -1)
hipRuntimeGetVersion(&hipRuntime);
if (amdgpuDriver == -1)
hipDriverGetVersion(&amdgpuDriver);
//Find a better way to query amdgpu driver version, as hipDriverGetVersion() reports the same as hipRuntimeGetVersion()
//Else, cudaRuntimeGetVersion() and cudaDriverGetVersion() are anyways hipified, so no need of this mod
rasOutAppend("HIP runtime version %d, amdgpu driver version %d\n\n", hipRuntime, amdgpuDriver);
msgLen = rasOutLength();
NCCLCHECKGOTO(rasClientAllocMsg(&msg, msgLen), ret, fail);
rasOutExtract(msg);
+1
View File
@@ -22,6 +22,7 @@
#include "ras.h"
#include "socket.h"
#include "utils.h"
#include "hip_rocm_version_info.h"
// Type of a RAS network or client message.
typedef enum {