Merge remote-tracking branch 'nccl/master' into 2.7.8
This commit is contained in:
-30
@@ -291,7 +291,6 @@ static ncclResult_t commFree(ncclComm_t comm) {
|
||||
free(comm->intraCC);
|
||||
}
|
||||
CUDACHECK(hipHostFree((void *)comm->abortFlag));
|
||||
CUDACHECK(hipHostFree((void *)comm->fatalDevError));
|
||||
|
||||
// Poison comm to try and catch a double free
|
||||
commPoison(comm);
|
||||
@@ -334,10 +333,6 @@ static ncclResult_t commAlloc(ncclComm_t* comret, int ndev, int rank) {
|
||||
#endif
|
||||
comm->fatalError = ncclSuccess;
|
||||
|
||||
NCCLCHECK(ncclCudaHostCalloc((ncclDevError_t**)&comm->fatalDevError, 1));
|
||||
comm->hostDevComm.fatalDevError = comm->fatalDevError;
|
||||
STORE(comm->fatalDevError, ncclDevSuccess);
|
||||
|
||||
NCCLCHECK(ncclCudaHostCalloc((uint32_t**)&comm->abortFlag, 1));
|
||||
comm->hostDevComm.abortFlag = comm->abortFlag;
|
||||
STORE(comm->abortFlag, 0);
|
||||
@@ -1149,31 +1144,6 @@ NCCL_API(ncclResult_t, ncclCommGetAsyncError, ncclComm_t comm, ncclResult_t *asy
|
||||
ncclResult_t ncclCommGetAsyncError(ncclComm_t comm, ncclResult_t *asyncError) {
|
||||
NCCLCHECK(PtrCheck(comm, "ncclGetAsyncError", "comm"));
|
||||
NCCLCHECK(PtrCheck(asyncError, "ncclGetAsyncError", "asyncError"));
|
||||
|
||||
// Check device reported error
|
||||
static ncclDevError_t printedDevErr = ncclDevSuccess;
|
||||
switch(LOAD(comm->fatalDevError)) {
|
||||
case ncclDevSuccess :
|
||||
break;
|
||||
case ncclDevAssertedMismatch :
|
||||
if (printedDevErr != ncclDevAssertedMismatch) {
|
||||
WARN("Mismatched collective detected, please check your collective calls at and around rank %d. You can use NCCL_DEBUG=INFO and NCCL_DEBUG_SUBSYS=COLL to see the collective logs", comm->rank);
|
||||
printedDevErr = ncclDevAssertedMismatch;
|
||||
}
|
||||
if (comm->fatalError == ncclSuccess) {
|
||||
comm->fatalError = ncclInvalidUsage;
|
||||
}
|
||||
break;
|
||||
case ncclDevSuspectedMismatch :
|
||||
if (printedDevErr != ncclDevSuspectedMismatch) {
|
||||
WARN("Your program may be hanging, this may be caused by a collective mismatch around rank %d. Please check your collective calls at and around this rank. You can use NCCL_DEBUG=INFO and NCCL_DEBUG_SUBSYS=COLL to see the collective logs", comm->rank);
|
||||
printedDevErr = ncclDevSuspectedMismatch;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
WARN("Unknown device error %d", *comm->fatalDevError);
|
||||
return ncclInternalError;
|
||||
}
|
||||
*asyncError = comm->fatalError;
|
||||
return ncclSuccess;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user