Enable multi-threading for MSCCL (#1203)

MSCCL can now run in a multi-threaded configuration. To test in the unit tests, added the ENABLE_OPENMP compile definition flag and the --openmp-test-enable flag to the unit test build script. To activate, set the environment variables UT_MULTITHREADED=1 and UT_PROCESS_MASK=1. Set Jenkins to use this mode.
Этот коммит содержится в:
corey-derochie-amd authored and GitHub committed 2024-07-04 09:34:38 -06:00
1 родитель 45f3fbc52f
Коммит 0c36d571ea
19 files changed
+279 -148

No files matched your search

+2 -2
Просмотреть файл
@@ -1738,7 +1738,7 @@ static ncclResult_t initTransportsRank(struct ncclComm* comm, struct ncclComm* p
if (mscclEnabled() && (comm->topo->mscclEnabled || mscclForceEnabled())) {
NCCLCHECK(mscclInit(comm));
mscclStatus& status = mscclGetStatus();
mscclStatus& status = mscclGetStatus(comm->rank);
status.needsProxy |= mscclNeedsProxy;
}
@@ -2351,7 +2351,7 @@ static ncclResult_t commCleanup(ncclComm_t comm) {
#endif
if (mscclEnabled() && (mscclEnabledForTopo || mscclForceEnabled())) {
NCCLCHECK(mscclTeardown());
NCCLCHECK(mscclTeardown(comm->rank));
}
return ncclSuccess;