Split transport connect phase into multiple steps to avoid port
exhaustion when connecting alltoall at large scale. Defaults to 128
peers per round.
Fix memory leaks on CUDA graph capture.
Fix alltoallv crash on self-sendrecv.
Make topology detection more deterministic when PCI speeds are not
available (fix issue #1020).
Properly close shared memory in NVLS resources.
Revert proxy detach after 5 seconds.
Add option to print progress during transport connect.
Add option to set NCCL_DEBUG to INFO on first WARN.
Tá an tiomantas seo le fáil i:
Sylvain Jeaugey tiomanta 2023-11-13 10:36:12 -08:00
1 tuismitheoir 0e35f5d390
tiomantas 88d44d777f
11 comhad athraithe
+174 -183

Níor tháinig aon chomhaid le do chuardach

+1 -3
Féach ar an gComhad
@@ -299,7 +299,7 @@ struct ncclComm {
// Flag to ask NCCL kernels to abort
volatile uint32_t *abortFlag;
volatile uint32_t *childAbortFlag;
volatile uint32_t *abortFlagRefCount;
uint32_t *abortFlagRefCount;
// Device side of the communicator (for cudaFree's)
struct ncclDevComm* devComm; // actually = &ncclDevCommAndChannels::comm
@@ -342,8 +342,6 @@ struct ncclComm {
int nvlsRegSupport;
/* sharable NVLS resource. */
struct ncclNvlsSharedRes* nvlsResources;
struct ncclShmemCollBuff nvlsShmem;
void *nvlsShmemHandle;
ssize_t channelSize; // User requested work size (bytes) for channel partitions
+2 -5
Féach ar an gComhad
@@ -194,7 +194,6 @@ struct ncclProxyRpcResponseHeader {
};
struct ncclProxyState {
int internalRefCount;
int refCount;
int tpRank;
int tpnRanks;
@@ -209,11 +208,10 @@ struct ncclProxyState {
ncclNet_t* ncclNet;
ncclCollNet_t* ncclCollNet;
volatile uint32_t* abortFlag;
volatile uint32_t* abortFlagRefCount;
// Service thread
pthread_t thread;
struct ncclSocket* listenSock;
volatile int stop;
int stop;
CUcontext cudaCtx;
ncclResult_t asyncResult;
@@ -294,6 +292,5 @@ ncclResult_t ncclProxyClientGetFdBlocking(struct ncclComm* comm, struct ncclProx
ncclResult_t ncclProxyStop(struct ncclComm* comm);
ncclResult_t ncclProxyShmUnlink(struct ncclComm* comm);
ncclResult_t ncclProxyDestroy(struct ncclProxyState *proxyState);
ncclResult_t ncclProxyTryDetach(struct ncclProxyState *proxyState);
ncclResult_t ncclProxyDestroy(struct ncclComm* comm);
#endif
+2
Féach ar an gComhad
@@ -67,6 +67,8 @@ struct ncclNvlsSharedRes {
char shareableHandle[NVLS_HANDLE_SIZE];
size_t ucGran;
int nChannels;
struct ncclShmemCollBuff nvlsShmem;
void *nvlsShmemHandle;
};
#endif /* CUDART_VERSION >= 12010 */