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.
This commit is contained in:
1 parent
45f3fbc52f
commit
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;
|
||||
|
||||
Reference in new issue
Block a user