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]
Этот коммит содержится в:
Ziyue Yang
2023-12-01 01:47:20 +08:00
коммит произвёл GitHub
родитель 5efe13655d
Коммит f0c47d085e
12 изменённых файлов: 85 добавлений и 4504 удалений
+2
Просмотреть файл
@@ -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();
+2
Просмотреть файл
@@ -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