- // Pt2PtTI: send, isend, ssend, issend, recv, irecv
- explicit TIData(const std::string& name, int endpoint, int size, const std::string& datatype)
- : name_(name), endpoint(endpoint), send_size(size), send_type(datatype){};
- // CollTI: bcast, reduce, allreduce, gather, scatter, allgather, alltoall
- explicit TIData(const std::string& name, int root, double amount, int send_size, int recv_size,
- const std::string& send_type, const std::string& recv_type)
- : name_(name)
- , amount_(amount)
- , endpoint(root)
- , send_size(send_size)
- , recv_size(recv_size)
- , send_type(send_type)
- , recv_type(recv_type){};
- // VarCollTI: gatherv, scatterv, allgatherv, alltoallv (+ reducescatter out of laziness)
- explicit TIData(const std::string& name, int root, int send_size, std::vector<int>* sendcounts, int recv_size,
- std::vector<int>* recvcounts, const std::string& send_type, const std::string& recv_type)
- : TIData(name, root, send_size, std::shared_ptr<std::vector<int>>(sendcounts), recv_size,
- std::shared_ptr<std::vector<int>>(recvcounts), send_type, recv_type){};
-
- explicit TIData(const std::string& name, int root, int send_size, std::shared_ptr<std::vector<int>> sendcounts,
- int recv_size, std::shared_ptr<std::vector<int>> recvcounts, const std::string& send_type,
- const std::string& recv_type)
- : name_(name)
- , endpoint(root)
- , send_size(send_size)
- , sendcounts(sendcounts)
- , recv_size(recv_size)
- , recvcounts(recvcounts)
- , send_type(send_type)
- , recv_type(recv_type){};