X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ca83a7925a912ffd5cd5cbfee5dfa189aebafee4..22cae46149e1fb4988ad9e46060c3e7ecd4e0e44:/src/smpi/instr_smpi.cpp diff --git a/src/smpi/instr_smpi.cpp b/src/smpi/instr_smpi.cpp index a4a7b2d23c..3a7525eb2c 100644 --- a/src/smpi/instr_smpi.cpp +++ b/src/smpi/instr_smpi.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2010, 2012-2015. The SimGrid Team. +/* Copyright (c) 2010, 2012-2017. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -61,20 +61,20 @@ static const char *smpi_colors[] ={ static char *str_tolower (const char *str) { - char *ret = xbt_strdup (str); - int i, n = strlen (ret); - for (i = 0; i < n; i++) + char* ret = xbt_strdup(str); + int n = strlen(ret); + for (int i = 0; i < n; i++) ret[i] = tolower (str[i]); return ret; } static const char *instr_find_color (const char *state) { - char *target = str_tolower (state); - const char *ret = nullptr; - unsigned int i = 0; - const char *current = smpi_colors[i]; - while ((current != nullptr)){ + char* target = str_tolower(state); + const char* ret = nullptr; + unsigned int i = 0; + const char* current = smpi_colors[i]; + while (current != nullptr) { if (strcmp (state, current) == 0 //exact match || strstr(target, current) != 0 ){//as substring ret = smpi_colors[i+1]; @@ -151,7 +151,7 @@ static void cleanup_extra_data (instr_extra_data extra){ void TRACE_internal_smpi_set_category (const char *category) { - if (!TRACE_smpi_is_enabled()) + if (not TRACE_smpi_is_enabled()) return; //declare category @@ -167,7 +167,7 @@ void TRACE_internal_smpi_set_category (const char *category) const char *TRACE_internal_smpi_get_category () { - if (!TRACE_smpi_is_enabled()) + if (not TRACE_smpi_is_enabled()) return nullptr; char processid[INSTR_DEFAULT_STR_SIZE]; @@ -189,7 +189,7 @@ void TRACE_smpi_release() void TRACE_smpi_init(int rank) { - if (!TRACE_smpi_is_enabled()) + if (not TRACE_smpi_is_enabled()) return; char str[INSTR_DEFAULT_STR_SIZE]; @@ -224,7 +224,7 @@ void TRACE_smpi_init(int rank) void TRACE_smpi_finalize(int rank) { - if (!TRACE_smpi_is_enabled()) + if (not TRACE_smpi_is_enabled()) return; char str[INSTR_DEFAULT_STR_SIZE]; @@ -235,9 +235,9 @@ void TRACE_smpi_finalize(int rank) void TRACE_smpi_collective_in(int rank, int root, const char *operation, instr_extra_data extra) { - if (!TRACE_smpi_is_enabled()) { - cleanup_extra_data(extra); - return; + if (not TRACE_smpi_is_enabled()) { + cleanup_extra_data(extra); + return; } char str[INSTR_DEFAULT_STR_SIZE]; @@ -246,12 +246,12 @@ void TRACE_smpi_collective_in(int rank, int root, const char *operation, instr_e type_t type = PJ_type_get ("MPI_STATE", container->type); const char *color = instr_find_color (operation); val_t value = PJ_value_get_or_new (operation, color, type); - PushStateEvent (SIMIX_get_clock(), container, type, value, static_cast(extra)); + new PushStateEvent (SIMIX_get_clock(), container, type, value, static_cast(extra)); } void TRACE_smpi_collective_out(int rank, int root, const char *operation) { - if (!TRACE_smpi_is_enabled()) + if (not TRACE_smpi_is_enabled()) return; char str[INSTR_DEFAULT_STR_SIZE]; @@ -259,30 +259,30 @@ void TRACE_smpi_collective_out(int rank, int root, const char *operation) container_t container = PJ_container_get (str); type_t type = PJ_type_get ("MPI_STATE", container->type); - PopStateEvent (SIMIX_get_clock(), container, type); + new PopStateEvent (SIMIX_get_clock(), container, type); } void TRACE_smpi_computing_init(int rank) { //first use, initialize the color in the trace - if (!TRACE_smpi_is_enabled() || !TRACE_smpi_is_computing()) - return; - - char str[INSTR_DEFAULT_STR_SIZE]; - smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE); - container_t container = PJ_container_get (str); - type_t type = PJ_type_get ("MPI_STATE", container->type); - const char *color = instr_find_color ("computing"); - val_t value = PJ_value_get_or_new ("computing", color, type); - PushStateEvent (SIMIX_get_clock(), container, type, value); + if (not TRACE_smpi_is_enabled() || not TRACE_smpi_is_computing()) + return; + + char str[INSTR_DEFAULT_STR_SIZE]; + smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE); + container_t container = PJ_container_get(str); + type_t type = PJ_type_get("MPI_STATE", container->type); + const char* color = instr_find_color("computing"); + val_t value = PJ_value_get_or_new("computing", color, type); + new PushStateEvent(SIMIX_get_clock(), container, type, value); } void TRACE_smpi_computing_in(int rank, instr_extra_data extra) { //do not forget to set the color first, otherwise this will explode - if (!TRACE_smpi_is_enabled()|| !TRACE_smpi_is_computing()) { - cleanup_extra_data(extra); - return; + if (not TRACE_smpi_is_enabled() || not TRACE_smpi_is_computing()) { + cleanup_extra_data(extra); + return; } char str[INSTR_DEFAULT_STR_SIZE]; @@ -290,24 +290,24 @@ void TRACE_smpi_computing_in(int rank, instr_extra_data extra) container_t container = PJ_container_get (str); type_t type = PJ_type_get ("MPI_STATE", container->type); val_t value = PJ_value_get_or_new ("computing", nullptr, type); - PushStateEvent (SIMIX_get_clock(), container, type, value, static_cast(extra)); + new PushStateEvent (SIMIX_get_clock(), container, type, value, static_cast(extra)); } void TRACE_smpi_computing_out(int rank) { - if (!TRACE_smpi_is_enabled()|| !TRACE_smpi_is_computing()) + if (not TRACE_smpi_is_enabled() || not TRACE_smpi_is_computing()) return; char str[INSTR_DEFAULT_STR_SIZE]; smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE); container_t container = PJ_container_get (str); type_t type = PJ_type_get ("MPI_STATE", container->type); - PopStateEvent (SIMIX_get_clock(), container, type); + new PopStateEvent (SIMIX_get_clock(), container, type); } void TRACE_smpi_sleeping_init(int rank) { //first use, initialize the color in the trace - if (!TRACE_smpi_is_enabled() || !TRACE_smpi_is_sleeping()) + if (not TRACE_smpi_is_enabled() || not TRACE_smpi_is_sleeping()) return; char str[INSTR_DEFAULT_STR_SIZE]; @@ -316,15 +316,15 @@ void TRACE_smpi_sleeping_init(int rank) type_t type = PJ_type_get ("MPI_STATE", container->type); const char *color = instr_find_color ("sleeping"); val_t value = PJ_value_get_or_new ("sleeping", color, type); - PushStateEvent (SIMIX_get_clock(), container, type, value); + new PushStateEvent (SIMIX_get_clock(), container, type, value); } void TRACE_smpi_sleeping_in(int rank, instr_extra_data extra) { //do not forget to set the color first, otherwise this will explode - if (!TRACE_smpi_is_enabled()|| !TRACE_smpi_is_sleeping()) { - cleanup_extra_data(extra); - return; + if (not TRACE_smpi_is_enabled() || not TRACE_smpi_is_sleeping()) { + cleanup_extra_data(extra); + return; } char str[INSTR_DEFAULT_STR_SIZE]; @@ -332,26 +332,26 @@ void TRACE_smpi_sleeping_in(int rank, instr_extra_data extra) container_t container = PJ_container_get (str); type_t type = PJ_type_get ("MPI_STATE", container->type); val_t value = PJ_value_get_or_new ("sleeping", nullptr, type); - PushStateEvent (SIMIX_get_clock(), container, type, value, static_cast(extra)); + new PushStateEvent (SIMIX_get_clock(), container, type, value, static_cast(extra)); } void TRACE_smpi_sleeping_out(int rank) { - if (!TRACE_smpi_is_enabled()|| !TRACE_smpi_is_sleeping()) + if (not TRACE_smpi_is_enabled() || not TRACE_smpi_is_sleeping()) return; char str[INSTR_DEFAULT_STR_SIZE]; smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE); container_t container = PJ_container_get (str); type_t type = PJ_type_get ("MPI_STATE", container->type); - PopStateEvent (SIMIX_get_clock(), container, type); + new PopStateEvent (SIMIX_get_clock(), container, type); } void TRACE_smpi_testing_in(int rank, instr_extra_data extra) { //do not forget to set the color first, otherwise this will explode - if (!TRACE_smpi_is_enabled()) { - cleanup_extra_data(extra); - return; + if (not TRACE_smpi_is_enabled()) { + cleanup_extra_data(extra); + return; } char str[INSTR_DEFAULT_STR_SIZE]; @@ -359,25 +359,25 @@ void TRACE_smpi_testing_in(int rank, instr_extra_data extra) container_t container = PJ_container_get (str); type_t type = PJ_type_get ("MPI_STATE", container->type); val_t value = PJ_value_get_or_new ("test", nullptr, type); - PushStateEvent (SIMIX_get_clock(), container, type, value, static_cast(extra)); + new PushStateEvent (SIMIX_get_clock(), container, type, value, static_cast(extra)); } void TRACE_smpi_testing_out(int rank) { - if (!TRACE_smpi_is_enabled()) + if (not TRACE_smpi_is_enabled()) return; char str[INSTR_DEFAULT_STR_SIZE]; smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE); container_t container = PJ_container_get (str); type_t type = PJ_type_get ("MPI_STATE", container->type); - PopStateEvent (SIMIX_get_clock(), container, type); + new PopStateEvent (SIMIX_get_clock(), container, type); } void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation, instr_extra_data extra) { - if (!TRACE_smpi_is_enabled()) { - cleanup_extra_data(extra); - return; + if (not TRACE_smpi_is_enabled()) { + cleanup_extra_data(extra); + return; } char str[INSTR_DEFAULT_STR_SIZE]; @@ -386,12 +386,12 @@ void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation, instr_ type_t type = PJ_type_get ("MPI_STATE", container->type); const char *color = instr_find_color (operation); val_t value = PJ_value_get_or_new (operation, color, type); - PushStateEvent (SIMIX_get_clock(), container, type, value, static_cast(extra)); + new PushStateEvent (SIMIX_get_clock(), container, type, value, static_cast(extra)); } void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation) { - if (!TRACE_smpi_is_enabled()) + if (not TRACE_smpi_is_enabled()) return; char str[INSTR_DEFAULT_STR_SIZE]; @@ -399,12 +399,12 @@ void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation) container_t container = PJ_container_get (str); type_t type = PJ_type_get ("MPI_STATE", container->type); - PopStateEvent (SIMIX_get_clock(), container, type); + new PopStateEvent (SIMIX_get_clock(), container, type); } void TRACE_smpi_send(int rank, int src, int dst, int tag, int size) { - if (!TRACE_smpi_is_enabled()) + if (not TRACE_smpi_is_enabled()) return; char key[INSTR_DEFAULT_STR_SIZE] = {0}; @@ -415,12 +415,12 @@ void TRACE_smpi_send(int rank, int src, int dst, int tag, int size) container_t container = PJ_container_get (str); type_t type = PJ_type_get ("MPI_LINK", PJ_type_get_root()); XBT_DEBUG("Send tracing from %d to %d, tag %d, with key %s", src, dst, tag, key); - StartLinkEvent (SIMIX_get_clock(), PJ_container_get_root(), type, container, "PTP", key, size); + new StartLinkEvent (SIMIX_get_clock(), PJ_container_get_root(), type, container, "PTP", key, size); } void TRACE_smpi_recv(int rank, int src, int dst, int tag) { - if (!TRACE_smpi_is_enabled()) + if (not TRACE_smpi_is_enabled()) return; char key[INSTR_DEFAULT_STR_SIZE] = {0}; @@ -431,5 +431,5 @@ void TRACE_smpi_recv(int rank, int src, int dst, int tag) container_t container = PJ_container_get (str); type_t type = PJ_type_get ("MPI_LINK", PJ_type_get_root()); XBT_DEBUG("Recv tracing from %d to %d, tag %d, with key %s", src, dst, tag, key); - EndLinkEvent (SIMIX_get_clock(), PJ_container_get_root(), type, container, "PTP", key); + new EndLinkEvent (SIMIX_get_clock(), PJ_container_get_root(), type, container, "PTP", key); }