X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/afb806d0615c22ac119575596b71691f4e2bc9d1..ba9a4cfeba4eb00e84cd17603fc9654e81445655:/teshsuite/simdag/platforms/flatifier.cpp diff --git a/teshsuite/simdag/platforms/flatifier.cpp b/teshsuite/simdag/platforms/flatifier.cpp index 1adbc2cec8..6b347b70bf 100644 --- a/teshsuite/simdag/platforms/flatifier.cpp +++ b/teshsuite/simdag/platforms/flatifier.cpp @@ -14,7 +14,7 @@ #include #include - +#include "src/surf/network_interface.hpp" #include "simgrid/simdag.h" #include "xbt/log.h" #include "xbt/dict.h" @@ -23,31 +23,19 @@ #include "surf/surf.h" #include "src/surf/surf_private.h" -static const char link_ctn_v2[] = "link:ctn"; -static const char link_ctn_v3[] = "link_ctn"; - -XBT_LOG_NEW_DEFAULT_CATEGORY(flatifier, - "Logging specific to this platform parsing tool"); +XBT_LOG_NEW_DEFAULT_CATEGORY(flatifier, "Logging specific to this platform parsing tool"); static int name_compare_hosts(const void *n1, const void *n2) { - char name1[80], name2[80]; - strcpy(name1, SD_workstation_get_name(*((SD_workstation_t *) n1))); - strcpy(name2, SD_workstation_get_name(*((SD_workstation_t *) n2))); - - return strcmp(name1, name2); + return strcmp(sg_host_get_name(*(sg_host_t *) n1), sg_host_get_name(*(sg_host_t *) n2)); } static int name_compare_links(const void *n1, const void *n2) { - char name1[80], name2[80]; - strcpy(name1, SD_link_get_name(*((SD_link_t *) n1))); - strcpy(name2, SD_link_get_name(*((SD_link_t *) n2))); - - return strcmp(name1, name2); + return strcmp(sg_link_name(*(SD_link_t *) n1),sg_link_name(*(SD_link_t *) n2)); } -static int parse_cmdline(int *timings, int *downgrade, char **platformFile, int argc, char **argv) +static int parse_cmdline(int *timings, char **platformFile, int argc, char **argv) { int wrong_option = 0; int i; @@ -56,12 +44,8 @@ static int parse_cmdline(int *timings, int *downgrade, char **platformFile, int if (!strcmp(argv[i], "--timings")) { *timings = 1; } else { - if (!strcmp(argv[i], "--downgrade")) { - *downgrade = 1; - } else { wrong_option = 1; break; - } } } else { *platformFile = argv[i]; @@ -88,9 +72,8 @@ int main(int argc, char **argv) char *platformFile = NULL; unsigned int totalHosts, totalLinks; int timings=0; - int downgrade = 0; - int version = 3; - const char *link_ctn = link_ctn_v3; + int version = 4; + const char *link_ctn = "link_ctn"; unsigned int i; xbt_dict_t props = NULL; xbt_dict_cursor_t cursor = NULL; @@ -100,55 +83,39 @@ int main(int argc, char **argv) sg_netcard_t value1; sg_netcard_t value2; - const SD_workstation_t *hosts; + const sg_host_t *hosts; const SD_link_t *links; xbt_os_timer_t parse_time = xbt_os_timer_new(); -#ifdef _XBT_WIN32 - setbuf(stderr, NULL); - setbuf(stdout, NULL); -#else - setvbuf(stdout, NULL, _IOLBF, 0); -#endif - SD_init(&argc, argv); - if (parse_cmdline(&timings, &downgrade, &platformFile, argc, argv) || !platformFile) { - xbt_die("Invalid command line arguments: expected [--timings|--downgrade] platformFile"); + if (parse_cmdline(&timings, &platformFile, argc, argv) || !platformFile) { + xbt_die("Invalid command line arguments: expected [--timings] platformFile"); } - XBT_DEBUG("%d,%d,%s", timings, downgrade, platformFile); - - if (downgrade) { - version = 2; - link_ctn = link_ctn_v2; - } + XBT_DEBUG("%d,%s", timings, platformFile); create_environment(parse_time, platformFile); if (timings) { - XBT_INFO("Parsing time: %fs (%d hosts, %d links)", - xbt_os_timer_elapsed(parse_time),SD_workstation_get_number(),SD_link_get_number()); + XBT_INFO("Parsing time: %fs (%zu hosts, %d links)", xbt_os_timer_elapsed(parse_time), + sg_host_count(), sg_link_count()); } else { printf("\n"); - printf("\n"); + printf("\n"); printf("\n", version); - if (!downgrade) - printf("\n"); + printf("\n"); // Hosts - totalHosts = SD_workstation_get_number(); - hosts = SD_workstation_get_list(); - qsort((void *) hosts, totalHosts, sizeof(SD_workstation_t), - name_compare_hosts); + totalHosts = sg_host_count(); + hosts = sg_host_list(); + qsort((void *) hosts, totalHosts, sizeof(sg_host_t), name_compare_hosts); for (i = 0; i < totalHosts; i++) { - printf(" 1) { - printf(" core=\"%d\"", SD_workstation_get_cores(hosts[i])); + printf(" 1) { + printf(" core=\"%d\"", sg_host_core_count(hosts[i])); } if (props && !xbt_dict_is_empty(props)) { printf(">\n"); @@ -163,27 +130,24 @@ int main(int argc, char **argv) // Routers xbt_lib_foreach(as_router_lib, cursor_src, key, value1) { - if(surf_routing_edge_get_rc_type((sg_netcard_t)xbt_lib_get_or_null(as_router_lib, key, - ROUTING_ASR_LEVEL)) == SURF_NETWORK_ELEMENT_ROUTER) - { + value1 = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib, key, ROUTING_ASR_LEVEL); + if(value1->getRcType() == SURF_NETWORK_ELEMENT_ROUTER) { printf(" \n",key); } } // Links - totalLinks = SD_link_get_number(); - links = SD_link_get_list(); + totalLinks = sg_link_count(); + links = sg_link_list(); qsort((void *) links, totalLinks, sizeof(SD_link_t), name_compare_links); for (i = 0; i < totalLinks; i++) { printf(" \n"); } else { printf(" sharing_policy=\"FATPIPE\"/>\n"); @@ -191,38 +155,15 @@ int main(int argc, char **argv) } sg_host_t host1, host2; - xbt_dict_foreach(host_list, cursor_src, src, host1) // Routes from host - { + xbt_dict_foreach(host_list, cursor_src, src, host1){ // Routes from host value1 = sg_host_by_name(src)->pimpl_netcard; - xbt_dict_foreach(host_list, cursor_dst, dst, host2) //to host - { - printf(" \n " - ,src - ,dst); + xbt_dict_foreach(host_list, cursor_dst, dst, host2){ //to host xbt_dynar_t route=NULL; value2 = sg_host_by_name(dst)->pimpl_netcard; - routing_get_route_and_latency(value1, value2, &route,NULL); - for(i=0;i",link_ctn,link_name); - free(link_name); - } - printf("\n \n"); - } - xbt_lib_foreach(as_router_lib, cursor_dst, dst, value2) //to router - { - if(routing_get_network_element_type(dst) == SURF_NETWORK_ELEMENT_ROUTER){ - printf(" \n " - ,src - ,dst); - xbt_dynar_t route=NULL; - value2 = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib,dst,ROUTING_ASR_LEVEL); - routing_get_route_and_latency((sg_netcard_t)value1,(sg_netcard_t)value2,&route,NULL); - for(i=0;igetRouteAndLatency(value1, value2, &route,NULL); + if (!xbt_dynar_is_empty(route)){ + printf(" \n ", src, dst); + for(i=0;i\n"); } } + xbt_lib_foreach(as_router_lib, cursor_dst, dst, value2){ //to router + value2 = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib,dst,ROUTING_ASR_LEVEL); + if(value2->getRcType() == SURF_NETWORK_ELEMENT_ROUTER){ + printf(" \n ", src, dst); + xbt_dynar_t route=NULL; + routing_platf->getRouteAndLatency((sg_netcard_t)value1,(sg_netcard_t)value2,&route,NULL); + for(i=0;i",link_ctn,surf_resource_name((surf_cpp_resource_t)link)); + } + printf("\n \n"); + } + } } - xbt_lib_foreach(as_router_lib, cursor_src, src, value1) // Routes from router - { + xbt_lib_foreach(as_router_lib, cursor_src, src, value1){ // Routes from router value1 = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib,src,ROUTING_ASR_LEVEL); - if(routing_get_network_element_type(src) == SURF_NETWORK_ELEMENT_ROUTER){ - xbt_lib_foreach(as_router_lib, cursor_dst, dst, value2) //to router - { - if(routing_get_network_element_type(dst) == SURF_NETWORK_ELEMENT_ROUTER){ - printf(" \n " - ,src - ,dst); + if (value1->getRcType() == SURF_NETWORK_ELEMENT_ROUTER){ + xbt_lib_foreach(as_router_lib, cursor_dst, dst, value2){ //to router + value2 = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib,dst,ROUTING_ASR_LEVEL); + if(value2->getRcType() == SURF_NETWORK_ELEMENT_ROUTER){ + printf(" \n ", src, dst); xbt_dynar_t route=NULL; - value2 = (sg_netcard_t)xbt_lib_get_or_null(as_router_lib,dst,ROUTING_ASR_LEVEL); - routing_get_route_and_latency((sg_netcard_t)value1,(sg_netcard_t)value2,&route,NULL); - for(i=0;igetRouteAndLatency((sg_netcard_t)value1,(sg_netcard_t)value2,&route,NULL); + for(i=0;i\n"); } - } - xbt_dict_foreach(host_list, cursor_dst, dst, value2) //to host - { - printf(" \n " - ,src, dst); + } + xbt_dict_foreach(host_list, cursor_dst, dst, value2){ //to host + printf(" \n ",src, dst); xbt_dynar_t route=NULL; value2 = sg_host_by_name(dst)->pimpl_netcard; - routing_get_route_and_latency((sg_netcard_t)value1,(sg_netcard_t)value2,&route, NULL); - for(i=0;igetRouteAndLatency((sg_netcard_t)value1,(sg_netcard_t)value2,&route, NULL); + for(i=0;i\n"); + printf("\n"); printf("\n"); } SD_exit();