X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1d9d174e0e416ffd7be66189889a18bf3e21639b..62534c29d0fe83dbec6b7e7642d2ecbe100f3d7b:/src/instr/instr_private.hpp diff --git a/src/instr/instr_private.hpp b/src/instr/instr_private.hpp index 52c6aaa8f2..f31fd92d8c 100644 --- a/src/instr/instr_private.hpp +++ b/src/instr/instr_private.hpp @@ -10,12 +10,10 @@ #include "simgrid/instr.h" #include "simgrid/s4u/Actor.hpp" -#include "simgrid_config.h" #include "src/instr/instr_paje_containers.hpp" #include "src/instr/instr_paje_events.hpp" #include "src/instr/instr_paje_types.hpp" #include "src/instr/instr_paje_values.hpp" -#include "src/internal_config.h" #include "xbt/graph.h" #include @@ -62,12 +60,12 @@ public: // NoOpTI: init, finalize, test, wait, barrier explicit TIData(std::string name) : name_(name){}; - // CPuTI: compute, sleep (+ waitAny and waitAll out of laziness) + // 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 + // 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) @@ -77,7 +75,7 @@ public: , recv_size(recv_size) , send_type(send_type) , recv_type(recv_type){}; - // VarCollTI: gatherV, scatterV, allGatherV, allToAllV (+ reduceScatter out of laziness) + // VarCollTI: gatherv, scatterv, allgatherv, alltoallv (+ reducescatter out of laziness) explicit TIData(std::string name, int root, int send_size, std::vector* sendcounts, int recv_size, std::vector* recvcounts, std::string send_type, std::string recv_type) : TIData(name, root, send_size, std::shared_ptr>(sendcounts), recv_size, @@ -197,6 +195,45 @@ public: } std::string display_size() override { return std::to_string(send_size > 0 ? send_size : recv_size); } }; + +/** + * If we want to wait for a request of asynchronous communication, we need to be able + * to identify this request. We do this by searching for a request identified by (src, dest, tag). + */ +class WaitTIData : public TIData { + int src; + int dest; + int tag; + +public: + explicit WaitTIData(int src, int dest, int tag) : TIData("wait"), src(src), dest(dest), tag(tag){}; + + std::string print() override + { + std::stringstream stream; + stream << getName() << " " << src << " " << dest << " " << tag; + + return stream.str(); + } + + std::string display_size() override { return ""; } +}; + +class AmpiMigrateTIData : public TIData { + size_t memory_consumption; +public: + explicit AmpiMigrateTIData(size_t memory_conso) : TIData("migrate"), memory_consumption(memory_conso) { }; + + std::string print() override + { + std::stringstream stream; + stream << getName() << " " << memory_consumption; + + return stream.str(); + } + + std::string display_size() override { return ""; } +}; } } @@ -236,7 +273,7 @@ XBT_PUBLIC bool TRACE_smpi_is_sleeping(); XBT_PUBLIC bool TRACE_smpi_view_internals(); XBT_PRIVATE void TRACE_surf_resource_set_utilization(const char* type, const char* name, const char* resource, - const char* category, double value, double now, double delta); + std::string category, double value, double now, double delta); /* instr_paje.c */ extern XBT_PRIVATE std::set trivaNodeTypes; @@ -257,4 +294,8 @@ XBT_PRIVATE void dump_comment(std::string comment); XBT_PRIVATE std::string TRACE_get_filename(); +/* instr_platform */ +xbt_graph_t instr_routing_platform_graph(); +void instr_routing_platform_graph_export_graphviz(xbt_graph_t g, const char* filename); + #endif