NCCL 2.4.7-1

Performance tweaks for PowerPC builds only;
      Set default NCCL_MIN_NRINGS to 4
      Disable PCI-E NUMA distance detection
This commit is contained in:
David Addison 2019-04-16 15:27:06 -07:00
parent 60a586ded9
commit 0ceaec9cee
3 changed files with 14 additions and 2 deletions

View File

@ -1,6 +1,6 @@
##### version ##### version
NCCL_MAJOR := 2 NCCL_MAJOR := 2
NCCL_MINOR := 4 NCCL_MINOR := 4
NCCL_PATCH := 6 NCCL_PATCH := 7
NCCL_SUFFIX := NCCL_SUFFIX :=
PKG_REVISION := 1 PKG_REVISION := 1

View File

@ -170,7 +170,13 @@ static ncclResult_t fillCoords(int nranks, int* matrix, int* coords, int* rankTo
} }
} }
NCCL_PARAM(MinNrings, "MIN_NRINGS", 0); #ifdef __PPC__
// Make the default NCCL_MIN_NRINGS=4 for IBM/Power nodes
#define DEFAULT_MIN_NRINGS 4
#else
#define DEFAULT_MIN_NRINGS 0
#endif
NCCL_PARAM(MinNrings, "MIN_NRINGS", DEFAULT_MIN_NRINGS);
NCCL_PARAM(MaxNrings, "MAX_NRINGS", 0); NCCL_PARAM(MaxNrings, "MAX_NRINGS", 0);
/* Users can force the number of threads with an environment variable */ /* Users can force the number of threads with an environment variable */

View File

@ -39,11 +39,17 @@ int pciDistance(char* path1, char* path2) {
} }
} }
if (score <= 3) { if (score <= 3) {
#ifdef __PPC__
// NUMA distance detection and PATH_SYS not supported on IBM/Power nodes
// nodes currently
return PATH_NODE;
#else
/* Split the former PATH_SOC distance into PATH_NODE and PATH_SYS based on numaId */ /* Split the former PATH_SOC distance into PATH_NODE and PATH_SYS based on numaId */
int numaId1 = getNumaId(path1); int numaId1 = getNumaId(path1);
int numaId2 = getNumaId(path2); int numaId2 = getNumaId(path2);
TRACE(NCCL_INIT, "depth %d score %d path1 %s numaId %d path2 %s numaId %d", depth, score, path1, numaId1, path2, numaId2); TRACE(NCCL_INIT, "depth %d score %d path1 %s numaId %d path2 %s numaId %d", depth, score, path1, numaId1, path2, numaId2);
return ((numaId1 == numaId2) ? PATH_NODE : PATH_SYS); return ((numaId1 == numaId2) ? PATH_NODE : PATH_SYS);
#endif
} }
if (score == 4) return PATH_PHB; if (score == 4) return PATH_PHB;
if (score == depth-1) return PATH_PIX; if (score == depth-1) return PATH_PIX;