- int endpoint = 0;
- int send_size = 0;
- std::shared_ptr<std::vector<int>> sendcounts = nullptr;
- int recv_size = 0;
- std::shared_ptr<std::vector<int>> recvcounts = nullptr;
- std::string send_type = "";
- std::string recv_type = "";
-
- // NoOpTI: init, finalize, test, wait, barrier
- explicit TIData(std::string name) : name_(std::move(name)){};
- // CPuTI: compute, sleep (+ waitAny and waitall out of laziness)
- explicit TIData(std::string name, double amount) : name_(std::move(name)), amount_(amount){};
- // Pt2PtTI: send, isend, sssend, issend, recv, irecv
- explicit TIData(std::string name, int endpoint, int size, std::string datatype)
- : name_(std::move(name)), endpoint(endpoint), send_size(size), send_type(std::move(datatype)){};
- // CollTI: bcast, reduce, allreduce, gather, scatter, allgather, alltoall
- explicit TIData(std::string name, int root, double amount, int send_size, int recv_size, std::string send_type,
- std::string recv_type)
- : name_(std::move(name))
- , amount_(amount)
- , endpoint(root)
- , send_size(send_size)
- , recv_size(recv_size)
- , send_type(std::move(send_type))
- , recv_type(std::move(recv_type)){};
- // VarCollTI: gatherv, scatterv, allgatherv, alltoallv (+ reducescatter out of laziness)
- explicit TIData(std::string name, int root, int send_size, std::vector<int>* sendcounts, int recv_size,
- std::vector<int>* recvcounts, std::string send_type, std::string recv_type)
- : TIData(std::move(name), root, send_size, std::shared_ptr<std::vector<int>>(sendcounts), recv_size,
- std::shared_ptr<std::vector<int>>(recvcounts), std::move(send_type), std::move(recv_type)){};
-
- explicit TIData(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, std::string send_type,
- std::string recv_type)
- : name_(std::move(name))
- , endpoint(root)
- , send_size(send_size)
- , sendcounts(sendcounts)
- , recv_size(recv_size)
- , recvcounts(recvcounts)
- , send_type(std::move(send_type))
- , recv_type(std::move(recv_type)){};
-
- virtual ~TIData() {}
-
- const std::string& getName() const { return name_; }
- double getAmount() { return amount_; }