Move MSCCL algorithm loading to initialization to workaround HIP graph conflict (#982)

* MSCCL: pre-specify channels and pre-load algorithms

* add mutex

* fix bug

* clean include

* disable all-gathers temporarily

[ROCm/rccl commit: 4bb0b4a380]
This commit is contained in:
Ziyue Yang authored and GitHub committed 2023-11-30 09:47:20 -08:00
1 والد 5efe13655d
کامیت f0c47d085e
12 files changed
+85 -4504

No files matched your search

@@ -18,6 +18,8 @@ bool mscclIsCaller();
bool mscclAvailable();
ncclResult_t mscclSchedulerInit(ncclComm_t comm, int* numChannelsRequired);
ncclResult_t mscclInit(ncclComm_t comm);
ncclResult_t mscclGroupStart();
@@ -91,6 +91,8 @@ struct mscclAlgoMeta {
std::string filePath;
// number of chunks of input/output in each MSCCL algorithm loop
int nChunksPerLoop;
// number of channels needed by MSCCL algorithm
int nChannels;
// number of ranks required by this algorithm
int nRanks;
// need to times nRanks for all-gather, reduce-scatter and all-to-all