Select sendrecv path based on collective data size (#391)

* Select sendrecv path based on collective data size

* Add comments on packing and unpacking group field

* Toggling RCCL_P2P_NET_DISABLE in combined calls unit tests
This commit is contained in:
Wenkai Du
2021-06-10 17:51:04 -07:00
gecommit door GitHub
bovenliggende f6f5e16fe6
commit 6dcae8a459
17 gewijzigde bestanden met toevoegingen van 102 en 45 verwijderingen
+8 -5
Bestand weergeven
@@ -163,7 +163,6 @@ struct ncclDirect {
int down[NCCL_MAX_DIRECT_ARITY];
};
#define NCCL_CONN_IDX_P2P (*(comm->p2pNet)*2)
#define NCCL_CONN_IDX_P2P_NET 2
#define NCCL_MAX_CONNS 3
struct ncclPeer {
@@ -208,7 +207,14 @@ struct ncclWorkElem {
int sendChunkSize;
int recvChunkSize;
int32_t delta;
uint16_t nThreads;
union {
struct {
uint16_t nThreads:12;
uint16_t sendIdx:2;
uint16_t recvIdx:2;
};
uint16_t padding;
};
} p2p;
struct {
uint16_t padding[15];
@@ -357,9 +363,6 @@ struct ncclDevComm {
// Channels, device side
struct ncclChannel* channels;
// Flags for enable P2P NET
uint32_t *p2pNet;
#ifdef ENABLE_PROFILING
// Profiling counters
struct ncclProf* devProf;