2.18.1-1
Add support for IB SHARP to NVLS (NVLink SHARP algorithm). Add NVLS+Tree algorithm. Add support for memory management using cuMem* functions. Use all NICs for Send/Receive operations on systems with more than one NIC per GPU (#804). Add ncclCommSplit primitive, with resource sharing option in config. Fix alltoallv hang (#788) Increase number of channels on H100 when we're not limited by NVLink. Improve error reporting in case of IB failure, printing local and remote ID (#779). Add build option to allow compilation against RDMA includes instead of dynamically loading IB verbs symbols (#802). Fix context creation for progress thread (#803). NET/IB: add option to use multiple QPs in round-robin mode. Fix tree performance issue when NVB is disabled on HCM topologies.
Este commit está contenido en:
@@ -14,6 +14,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <utils.h>
|
||||
|
||||
struct shmHandleInternal {
|
||||
int fd;
|
||||
@@ -86,17 +87,13 @@ ncclResult_t ncclShmOpen(char* shmPath, size_t shmSize, void** shmPtr, void** de
|
||||
if (create) {
|
||||
*(int*)(hptr + shmSize) = refcount;
|
||||
} else {
|
||||
int remref = __atomic_sub_fetch((int*)(hptr + shmSize), 1, __ATOMIC_RELAXED);
|
||||
int remref = ncclAtomicRefCountDecrement((int*)(hptr + shmSize));
|
||||
if (remref == 0) {
|
||||
/* the last peer has completed attachment, it should unlink the shm mem file. */
|
||||
if (unlink(shmPath) != 0) {
|
||||
WARN("unlink shared memory %s failed, error: %s", shmPath, strerror(errno));
|
||||
}
|
||||
}
|
||||
|
||||
if (refcount != -1) {
|
||||
WARN("attaching memory should only reduce refcount by 1 but %d is passed", refcount);
|
||||
}
|
||||
}
|
||||
|
||||
if (devShmPtr) {
|
||||
@@ -133,8 +130,8 @@ ncclResult_t ncclShmClose(ncclShmHandle_t handle) {
|
||||
WARN("unlink shared memory %s failed, error: %s", tmphandle->shmPath, strerror(errno));
|
||||
ret = ncclSystemError;
|
||||
}
|
||||
free(tmphandle->shmPath);
|
||||
}
|
||||
free(tmphandle->shmPath);
|
||||
}
|
||||
|
||||
if (tmphandle->shmPtr) {
|
||||
|
||||
Referencia en una nueva incidencia
Block a user