Merge remote-tracking branch 'remotes/nccl/master' into HEAD

[ROCm/rccl commit: 7c38da0939]
This commit is contained in:
Wenkai Du
2019-08-16 16:13:34 -07:00
5 changed files with 18 additions and 7 deletions
+7
View File
@@ -7,6 +7,7 @@ Group: Development/Libraries
License: BSD
URL: http://developer.nvidia.com/nccl
Source0: nccl_${nccl:Major}.${nccl:Minor}.${nccl:Patch}${nccl:Suffix}-${pkg:Revision}+cuda${cuda:Major}.${cuda:Minor}_${pkg:Arch}.txz
Prereq: /sbin/ldconfig
%description
NCCL (pronounced "Nickel") is a stand-alone library of standard collective
@@ -50,6 +51,12 @@ ln -s libnccl.so.${nccl:Major} $RPM_BUILD_ROOT/%{_libdir}/libnccl.so
# static
install -m 644 lib/libnccl_static.a $RPM_BUILD_ROOT/%{_libdir}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post devel -p /sbin/ldconfig
%postun devel -p /sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
+4
View File
@@ -327,7 +327,11 @@ static ncclResult_t createListenSocket(int *fd, union socketAddress *localAddr)
if (socketToPort(&localAddr->sa)) {
// Port is forced by env. Make sure we get the port.
int opt = 1;
#if defined(SO_REUSEPORT)
SYSCHECK(setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt)), "setsockopt");
#else
SYSCHECK(setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)), "setsockopt");
#endif
}
// localAddr port should be 0 (Any port)
+1 -1
View File
@@ -12,7 +12,7 @@
#include <stdint.h>
ncclResult_t getHostName(char* hostname, int maxlen, const char delim);
uint64_t getnHash(const char* string, int n);
uint64_t getHash(const char* string, int n);
uint64_t getHostHash();
uint64_t getPidHash();
+2 -2
View File
@@ -765,8 +765,8 @@ static ncclResult_t initTransportsRank(struct ncclComm* comm, ncclUniqueId* comm
int rank = comm->rank;
int nranks = comm->nRanks;
uint64_t commHash = getnHash(commId->internal, NCCL_UNIQUE_ID_BYTES);
TRACE(NCCL_INIT, "comm %p, commHash %lu, rank %d nranks %d - BEGIN", comm, commHash, rank, nranks);
uint64_t commHash = getHash(commId->internal, NCCL_UNIQUE_ID_BYTES);
TRACE(NCCL_INIT, "comm %p, commHash %lx, rank %d nranks %d - BEGIN", comm, commHash, rank, nranks);
NCCLCHECK(bootstrapInit(commId, rank, nranks, &comm->bootstrap));
// AllGather1 - begin
+4 -4
View File
@@ -88,10 +88,10 @@ void ncclDebugLog(ncclDebugLogLevel level, unsigned long flags, const char *file
}
}
uint64_t getHash(const char* string) {
uint64_t getHash(const char* string, int n) {
// Based on DJB2, result = result * 33 + char
uint64_t result = 5381;
for (int c = 0; string[c] != '\0'; c++) {
for (int c = 0; c < n; c++) {
result = ((result << 5) + result) + string[c];
}
return result;
@@ -130,7 +130,7 @@ uint64_t getHostHash(void) {
uname[offset]='\0';
TRACE(NCCL_INIT,"unique hostname '%s'", uname);
return getHash(uname);
return getHash(uname, strlen(uname));
}
/* Generate a hash of the unique identifying string for this process
@@ -150,7 +150,7 @@ uint64_t getPidHash(void) {
pname[plen+len]='\0';
TRACE(NCCL_INIT,"unique PID '%s'", pname);
return getHash(pname);
return getHash(pname, strlen(pname));
}
int parseStringList(const char* string, struct netIf* ifList, int maxList) {