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.
Dieser Commit ist enthalten in:
Sylvain Jeaugey committed 2023-11-13 10:36:12 -08:00
1 Ursprung 0e35f5d390
Commit 88d44d777f
11 Dateien geändert
+174 -183

Keine Dateien entsprechen Ihrer Suche

+1 -3
Datei anzeigen
@@ -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
Datei anzeigen
@@ -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
Datei anzeigen
@@ -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 */