From 113cc4086067c6d6f0624c8c08999cdb2d8815a9 Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Wed, 25 Apr 2018 15:50:12 +0200 Subject: [PATCH] move this file out of src/surf --- .../instr_platform.cpp} | 81 +++++++++---------- tools/cmake/DefinePackages.cmake | 2 +- 2 files changed, 41 insertions(+), 42 deletions(-) rename src/{surf/instr_routing.cpp => instr/instr_platform.cpp} (89%) diff --git a/src/surf/instr_routing.cpp b/src/instr/instr_platform.cpp similarity index 89% rename from src/surf/instr_routing.cpp rename to src/instr/instr_platform.cpp index 07a62ca514..b7b6375549 100644 --- a/src/surf/instr_routing.cpp +++ b/src/instr/instr_platform.cpp @@ -14,48 +14,47 @@ #include "surf/surf.hpp" #include "xbt/graph.h" -XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_routing, instr, "Tracing platform hierarchy"); +XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_routing, instr, "Tracing platform hierarchy"); static std::vector currentContainer; /* push and pop, used only in creation */ -static const char *instr_node_name (xbt_node_t node) +static const char* instr_node_name(xbt_node_t node) { - void *data = xbt_graph_node_get_data(node); - return static_cast(data); + return static_cast(xbt_graph_node_get_data(node)); } -static container_t lowestCommonAncestor (container_t a1, container_t a2) +static container_t lowestCommonAncestor(container_t a1, container_t a2) { - //this is only an optimization (since most of a1 and a2 share the same parent) + // this is only an optimization (since most of a1 and a2 share the same parent) if (a1->father_ == a2->father_) return a1->father_; - //create an array with all ancestors of a1 + // create an array with all ancestors of a1 std::vector ancestors_a1; container_t p = a1->father_; - while (p){ + while (p) { ancestors_a1.push_back(p); p = p->father_; } - //create an array with all ancestors of a2 + // create an array with all ancestors of a2 std::vector ancestors_a2; p = a2->father_; - while (p){ + while (p) { ancestors_a2.push_back(p); p = p->father_; } - //find the lowest ancestor - p = nullptr; + // find the lowest ancestor + p = nullptr; int i = ancestors_a1.size() - 1; int j = ancestors_a2.size() - 1; - while (i >= 0 && j >= 0){ + while (i >= 0 && j >= 0) { container_t a1p = ancestors_a1.at(i); container_t a2p = ancestors_a2.at(j); - if (a1p == a2p){ + if (a1p == a2p) { p = a1p; - }else{ + } else { break; } i--; @@ -66,16 +65,16 @@ static container_t lowestCommonAncestor (container_t a1, container_t a2) static void linkContainers(container_t src, container_t dst, std::set* filter) { - //ignore loopback + // ignore loopback if (src->get_name() == "__loopback__" || dst->get_name() == "__loopback__") { - XBT_DEBUG (" linkContainers: ignoring loopback link"); + XBT_DEBUG(" linkContainers: ignoring loopback link"); return; } - //find common father - container_t father = lowestCommonAncestor (src, dst); + // find common father + container_t father = lowestCommonAncestor(src, dst); if (not father) { - xbt_die ("common father unknown, this is a tracing problem"); + xbt_die("common father unknown, this is a tracing problem"); } // check if we already register this pair (we only need one direction) @@ -94,17 +93,17 @@ static void linkContainers(container_t src, container_t dst, std::setinsert(aux1); filter->insert(aux2); - //declare type + // declare type std::string link_typename = father->type_->get_name() + "-" + src->type_->get_name() + std::to_string(src->type_->get_id()) + "-" + dst->type_->get_name() + std::to_string(dst->type_->get_id()); simgrid::instr::LinkType* link = father->type_->getOrCreateLinkType(link_typename, src->type_, dst->type_); link->setCallingContainer(father); - //register EDGE types for triva configuration + // register EDGE types for triva configuration trivaEdgeTypes.insert(link->get_name()); - //create the link + // create the link static long long counter = 0; std::string key = std::to_string(counter); @@ -125,14 +124,14 @@ static void recursiveGraphExtraction(simgrid::s4u::NetZone* netzone, container_t } XBT_DEBUG("Graph extraction for NetZone = %s", netzone->get_cname()); if (not netzone->getChildren()->empty()) { - //bottom-up recursion + // bottom-up recursion for (auto const& nz_son : *netzone->getChildren()) { container_t child_container = container->children_.at(nz_son->get_cname()); recursiveGraphExtraction(nz_son, child_container, filter); } } - xbt_graph_t graph = xbt_graph_new_graph (0, nullptr); + xbt_graph_t graph = xbt_graph_new_graph(0, nullptr); std::map* nodes = new std::map; std::map* edges = new std::map; @@ -166,13 +165,13 @@ static void instr_netzone_on_creation(simgrid::s4u::NetZone& netzone) mpi->getOrCreateStateType("MIGRATE_STATE"); } - if (TRACE_needs_platform()){ + if (TRACE_needs_platform()) { currentContainer.push_back(root); } return; } - if (TRACE_needs_platform()){ + if (TRACE_needs_platform()) { simgrid::instr::NetZoneContainer* container = new simgrid::instr::NetZoneContainer(id, currentContainer.size(), currentContainer.back()); currentContainer.push_back(container); @@ -181,7 +180,7 @@ static void instr_netzone_on_creation(simgrid::s4u::NetZone& netzone) static void instr_netzone_on_seal(simgrid::s4u::NetZone& /*netzone*/) { - if (TRACE_needs_platform()){ + if (TRACE_needs_platform()) { currentContainer.pop_back(); } } @@ -264,10 +263,10 @@ static void instr_on_platform_created() { currentContainer.clear(); std::set* filter = new std::set; - XBT_DEBUG ("Starting graph extraction."); + XBT_DEBUG("Starting graph extraction."); recursiveGraphExtraction(simgrid::s4u::Engine::getInstance()->getNetRoot(), simgrid::instr::Container::getRoot(), filter); - XBT_DEBUG ("Graph extraction finished."); + XBT_DEBUG("Graph extraction finished."); delete filter; TRACE_paje_dump_buffer(true); } @@ -357,7 +356,7 @@ static void recursiveXBTGraphExtraction(xbt_graph_t graph, std::mapgetChildren()->empty()) { - //bottom-up recursion + // bottom-up recursion for (auto const& netzone_child : *netzone->getChildren()) { container_t child_container = container->children_.at(netzone_child->get_cname()); recursiveXBTGraphExtraction(graph, nodes, edges, netzone_child, child_container); @@ -367,9 +366,9 @@ static void recursiveXBTGraphExtraction(xbt_graph_t graph, std::map(netzone)->get_graph(graph, nodes, edges); } -xbt_graph_t instr_routing_platform_graph () +xbt_graph_t instr_routing_platform_graph() { - xbt_graph_t ret = xbt_graph_new_graph (0, nullptr); + xbt_graph_t ret = xbt_graph_new_graph(0, nullptr); std::map* nodes = new std::map; std::map* edges = new std::map; recursiveXBTGraphExtraction(ret, nodes, edges, simgrid::s4u::Engine::getInstance()->getNetRoot(), @@ -379,13 +378,13 @@ xbt_graph_t instr_routing_platform_graph () return ret; } -void instr_routing_platform_graph_export_graphviz (xbt_graph_t g, const char *filename) +void instr_routing_platform_graph_export_graphviz(xbt_graph_t g, const char* filename) { unsigned int cursor = 0; - xbt_node_t node = nullptr; - xbt_edge_t edge = nullptr; + xbt_node_t node = nullptr; + xbt_edge_t edge = nullptr; - FILE *file = fopen(filename, "w"); + FILE* file = fopen(filename, "w"); xbt_assert(file, "Failed to open %s \n", filename); if (g->directed) @@ -398,12 +397,12 @@ void instr_routing_platform_graph_export_graphviz (xbt_graph_t g, const char *fi fprintf(file, " node [shape=box, style=filled]\n"); fprintf(file, " node [width=.3, height=.3, style=filled, color=skyblue]\n\n"); - xbt_dynar_foreach(g->nodes, cursor, node) { + xbt_dynar_foreach (g->nodes, cursor, node) { fprintf(file, " \"%s\";\n", instr_node_name(node)); } - xbt_dynar_foreach(g->edges, cursor, edge) { - const char *src_s = instr_node_name (edge->src); - const char *dst_s = instr_node_name (edge->dst); + xbt_dynar_foreach (g->edges, cursor, edge) { + const char* src_s = instr_node_name(edge->src); + const char* dst_s = instr_node_name(edge->dst); if (g->directed) fprintf(file, " \"%s\" -> \"%s\";\n", src_s, dst_s); else diff --git a/tools/cmake/DefinePackages.cmake b/tools/cmake/DefinePackages.cmake index 9b8a85d5d6..ba4852daaa 100644 --- a/tools/cmake/DefinePackages.cmake +++ b/tools/cmake/DefinePackages.cmake @@ -327,7 +327,6 @@ set(SURF_SRC src/surf/cpu_cas01.cpp src/surf/cpu_interface.cpp src/surf/cpu_ti.cpp - src/surf/instr_routing.cpp src/surf/network_cm02.cpp src/surf/network_constant.cpp src/surf/network_interface.cpp @@ -552,6 +551,7 @@ set(TRACING_SRC src/instr/instr_paje_types.hpp src/instr/instr_paje_values.cpp src/instr/instr_paje_values.hpp + src/instr/instr_platform.cpp src/instr/instr_private.hpp src/instr/instr_smpi.hpp src/instr/instr_resource_utilization.cpp -- 2.20.1