- Container(std::string name, simgrid::instr::e_container_types kind, Container* father);
- virtual ~Container();
-
- sg_netpoint_t netpoint_;
- std::string name_; /* Unique name of this container */
- std::string id_; /* Unique id of this container */
- Type* type_; /* Type of this container */
- int level_ = 0; /* Level in the hierarchy, root level is 0 */
- e_container_types kind_; /* This container is of what kind */
- Container* father_;
- std::map<std::string, Container*> children_;
-};
-
-//--------------------------------------------------
-class PajeEvent {
- public:
- double timestamp_;
- e_event_type eventType_;
- virtual void print() = 0;
- virtual ~PajeEvent();
-};
-
-//--------------------------------------------------
-class SetVariableEvent : public PajeEvent {
- private:
- Container* container;
- Type* type;
- double value;
-
- public:
- SetVariableEvent(double timestamp, Container* container, Type* type, double value);
- void print() override;
-};
-
-class AddVariableEvent:public PajeEvent {
- private:
- Container* container;
- Type* type;
- double value;
-
- public:
- AddVariableEvent(double timestamp, Container* container, Type* type, double value);
- void print() override;
-};
-//--------------------------------------------------
-
-
-class SubVariableEvent : public PajeEvent {
- private:
- Container* container;
- Type* type;
- double value;
- public:
- SubVariableEvent(double timestamp, Container* container, Type* type, double value);
- void print() override;
-};
-//--------------------------------------------------
-
-class SetStateEvent : public PajeEvent {
- private:
- Container* container;
- Type* type;
- Value* value;
- const char* filename;
- int linenumber;
-
- public:
- SetStateEvent(double timestamp, Container* container, Type* type, Value* val);
- void print() override;
-};
-
-
-class PushStateEvent : public PajeEvent {
- public:
- Container* container;
- Type* type;
- Value* value;
- int size;
- const char* filename;
- int linenumber;
- void* extra_;
-
- public:
- PushStateEvent(double timestamp, Container* container, Type* type, Value* val);
- PushStateEvent(double timestamp, Container* container, Type* type, Value* val, void* extra);
- void print() override;
+ 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_(name){};
+ // CPuTI: compute, sleep (+ waitAny and waitAll out of laziness)
+ explicit TIData(std::string name, double amount) : name_(name), amount_(amount){};
+ // Pt2PtTI: send, isend, sssend, issend, recv, irecv
+ explicit TIData(std::string name, int endpoint, int size, std::string datatype)
+ : name_(name), endpoint(endpoint), send_size(size), send_type(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_(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(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(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(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_(name)
+ , endpoint(root)
+ , send_size(send_size)
+ , sendcounts(sendcounts)
+ , recv_size(recv_size)
+ , recvcounts(recvcounts)
+ , send_type(send_type)
+ , recv_type(recv_type){};
+
+ virtual ~TIData() {}
+
+ std::string getName() { return name_; }
+ double getAmount() { return amount_; }
+ virtual std::string print() = 0;
+ virtual std::string display_size() = 0;