Add pthread_detach()'s for threads we never pthread_join(). Helps
reduce diagnostic noise for ThreadSanitizer. Fixes https://github.com/NVIDIA/nccl/issues/649
This commit is contained in:
parent
3c223c105a
commit
44eb40da0e
@ -165,6 +165,7 @@ ncclResult_t bootstrapCreateRoot(ncclUniqueId* id, bool idFromEnv) {
|
||||
memcpy(id, &listenSock->addr, sizeof(union ncclSocketAddress));
|
||||
pthread_t thread;
|
||||
pthread_create(&thread, NULL, bootstrapRoot, (void*)listenSock);
|
||||
pthread_detach(thread); // will not be pthread_join()'d
|
||||
ncclSetThreadName(thread, "NCCL BootstrapR");
|
||||
return ncclSuccess;
|
||||
}
|
||||
|
@ -1073,6 +1073,7 @@ ncclResult_t ncclProxyInit(struct ncclComm* comm, struct ncclSocket* sock, union
|
||||
}
|
||||
|
||||
ncclResult_t ncclProxyCreate(struct ncclComm* comm) {
|
||||
// comm->proxyState.thread is pthread_join()'d by commFree() in init.cc
|
||||
pthread_create(&comm->proxyState.thread, NULL, ncclProxyService, comm);
|
||||
return ncclSuccess;
|
||||
}
|
||||
|
@ -223,6 +223,7 @@ ncclResult_t ncclIbInit(ncclDebugLogger_t logFunction) {
|
||||
ncclIbDevs[ncclNIbDevs].mrCache.slots = NULL;
|
||||
|
||||
pthread_create(&ncclIbAsyncThread, NULL, ncclIbAsyncThreadMain, context);
|
||||
pthread_detach(ncclIbAsyncThread); // will not be pthread_join()'d
|
||||
ncclSetThreadName(ncclIbAsyncThread, "NCCL IbAsync %2d", ncclNIbDevs);
|
||||
ncclNIbDevs++;
|
||||
nPorts++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user