Add LL128 Protocol.

Rewrite the topology detection and tree/ring creation (#179). Improve
tree performance by sending/receiving from different GPUs. Add
model-based tuning to switch between the different algorithms and
protocols.

Rework P2P/SHM detection in containers (#155, #248).

Detect duplicated devices and return an error (#231).

Add tuning for GCP

[ROCm/rccl commit: 299c554dcc]
This commit is contained in:
Sylvain Jeaugey
2019-11-19 14:57:39 -08:00
committed by GitHub
parent 221b65bee1
commit 71560fd67b
65 changed files with 4783 additions and 2832 deletions
+6 -1
View File
@@ -8,6 +8,7 @@
#define NCCL_INFO_H_
#include "nccl.h"
#include "core.h"
typedef enum {
ncclPatternRing,
@@ -21,7 +22,7 @@ typedef enum {
// Used to pass NCCL call information between functions
struct ncclInfo {
ncclColl_t coll;
ncclFunc_t coll;
const char* opName;
// NCCL Coll Args
const void* sendbuff;
@@ -36,7 +37,11 @@ struct ncclInfo {
int chunkSteps;
int sliceSteps;
// Computed later
int algorithm;
int protocol;
ncclPattern_t pattern;
int nChannels;
int nThreads;
size_t nBytes;
int nstepsPerLoop;
int nchunksPerLoop;