add binary tree

In addition, introduce the ability to have 2 trees at the same time.
Only for allreduce at the moment.
This commit is contained in:
Edgar Gabriel
2022-08-22 21:17:51 +00:00
parent dd56135a9a
commit 65e2ae20e5
6 changed files with 122 additions and 4 deletions
+1
View File
@@ -277,6 +277,7 @@ struct ncclChannel {
struct {
struct ncclRing ring;
struct ncclTree tree;
struct ncclTree binTree;
struct ncclDirect collTree;
int id;
+2
View File
@@ -115,6 +115,8 @@ ncclResult_t ncclTopoPostset(struct ncclComm* comm, int* firstRanks, int* treePa
ncclResult_t ncclTreeBasePostset(struct ncclComm* comm, struct ncclTopoGraph* treeGraph);
ncclResult_t ncclBinaryTreePostset(struct ncclComm* comm, struct ncclTopoGraph* treeGraph);
ncclResult_t ncclTopoTuneModel(struct ncclComm* comm, int minCompCap, int maxCompCap, struct ncclTopoGraph* treeGraph, struct ncclTopoGraph* ringGraph, struct ncclTopoGraph* collNetGraph);
#include "info.h"
ncclResult_t ncclTopoGetAlgoTime(struct ncclInfo* info, int algorithm, int protocol, int numPipeOps, float* time);