X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/43f7ca1cac5ab1858e318fdd6239d0a0c3b3d893..c5418e2f161ecfa4af596fb3d25e8ac696935af3:/src/instr/instr_paje_trace.cpp diff --git a/src/instr/instr_paje_trace.cpp b/src/instr/instr_paje_trace.cpp index cfaf78f6fe..84c6059dea 100644 --- a/src/instr/instr_paje_trace.cpp +++ b/src/instr/instr_paje_trace.cpp @@ -68,14 +68,14 @@ void TRACE_paje_dump_buffer (int force) return; XBT_DEBUG("%s: dump until %f. starts", __FUNCTION__, TRACE_last_timestamp_to_dump); if (force){ - for (auto event : buffer){ + for (auto const& event : buffer) { event->print(); delete event; } buffer.clear(); }else{ std::vector::iterator i = buffer.begin(); - for (auto event :buffer){ + for (auto const& event : buffer) { double head_timestamp = event->timestamp; if (head_timestamp > TRACE_last_timestamp_to_dump) break; @@ -92,7 +92,7 @@ void buffer_debug(std::vector *buf); void buffer_debug(std::vector *buf) { return; XBT_DEBUG(">>>>>> Dump the state of the buffer. %zu events", buf->size()); - for (auto event :*buf){ + for (auto const& event : *buf) { event->print(); XBT_DEBUG("%p %s", event, stream.str().c_str()); stream.str(""); @@ -192,7 +192,7 @@ void TRACE_paje_end() { XBT_DEBUG("Filename %s is closed", filename); } -void DefineContainerEvent(type_t type) +void DefineContainerEvent(Type* type) { XBT_DEBUG("%s: event_type=%d", __FUNCTION__, PAJE_DefineContainerType); //print it @@ -210,9 +210,7 @@ void DefineContainerEvent(type_t type) //-- } - - -void LogVariableTypeDefinition(type_t type) +void LogVariableTypeDefinition(Type* type) { XBT_DEBUG("%s: event_type=%d", __FUNCTION__, PAJE_DefineVariableType); @@ -233,8 +231,7 @@ if (instr_fmt_type == instr_fmt_paje) { } } - -void LogStateTypeDefinition(type_t type) +void LogStateTypeDefinition(Type* type) { //print it if (instr_fmt_type == instr_fmt_paje) { @@ -250,8 +247,7 @@ if (instr_fmt_type == instr_fmt_paje) { } } - -void LogDefineEventType(type_t type) +void LogDefineEventType(Type* type) { //print it if (instr_fmt_type == instr_fmt_paje) { @@ -267,7 +263,7 @@ void LogDefineEventType(type_t type) } } -void LogLinkTypeDefinition(type_t type, type_t source, type_t dest) +void LogLinkTypeDefinition(Type* type, Type* source, Type* dest) { XBT_DEBUG("%s: event_type=%d", __FUNCTION__, PAJE_DefineLinkType); //print it @@ -284,16 +280,16 @@ if (instr_fmt_type == instr_fmt_paje) { } } -void LogEntityValue (val_t value) +void LogEntityValue(Value* val) { XBT_DEBUG("%s: event_type=%d", __FUNCTION__, PAJE_DefineEntityValue); //print it if (instr_fmt_type == instr_fmt_paje) { stream << std::fixed << std::setprecision(TRACE_precision()); stream << PAJE_DefineEntityValue; - stream << " " << value->id << " " << value->father->id << " " << value->name; - if (value->color) - stream << " \"" << value->color << "\""; + stream << " " << val->id << " " << val->father->id << " " << val->name; + if (val->color) + stream << " \"" << val->color << "\""; print_row(); } else if (instr_fmt_type == instr_fmt_TI) { /* Nothing to do */ @@ -383,7 +379,7 @@ if (instr_fmt_type == instr_fmt_paje) { } -SetVariableEvent::SetVariableEvent (double timestamp, container_t container, type_t type, double value) +SetVariableEvent::SetVariableEvent (double timestamp, container_t container, Type* type, double value) { this->event_type = PAJE_SetVariable; this->timestamp = timestamp; @@ -411,7 +407,7 @@ void SetVariableEvent::print() { } } -AddVariableEvent::AddVariableEvent (double timestamp, container_t container, type_t type, double value) +AddVariableEvent::AddVariableEvent (double timestamp, container_t container, Type* type, double value) { this->event_type = PAJE_AddVariable; this->timestamp = timestamp; @@ -439,7 +435,7 @@ void AddVariableEvent::print() { } } -SubVariableEvent::SubVariableEvent (double timestamp, container_t container, type_t type, double value) +SubVariableEvent::SubVariableEvent (double timestamp, container_t container, Type* type, double value) { this->event_type = PAJE_SubVariable; this->timestamp = timestamp; @@ -467,13 +463,13 @@ void SubVariableEvent::print() { } } -SetStateEvent::SetStateEvent (double timestamp, container_t container, type_t type, val_t value) +SetStateEvent::SetStateEvent(double timestamp, container_t container, Type* type, Value* val) { this->event_type = PAJE_SetState; this->timestamp = timestamp; this->type = type; this->container = container; - this->value = value; + this->val = val; #if HAVE_SMPI if (xbt_cfg_get_boolean("smpi/trace-call-location")) { @@ -495,7 +491,7 @@ void SetStateEvent::print() { stream << (int)this->event_type; print_timestamp(this); stream << " " << type->id << " " << container->id; - stream << " " << value->id; + stream << " " << val->id; #if HAVE_SMPI if (xbt_cfg_get_boolean("smpi/trace-call-location")) { stream << " \"" << filename << "\" " << linenumber; @@ -509,13 +505,13 @@ void SetStateEvent::print() { } } -PushStateEvent::PushStateEvent (double timestamp, container_t container, type_t type, val_t value, void* extra) +PushStateEvent::PushStateEvent(double timestamp, container_t container, Type* type, Value* val, void* extra) { this->event_type = PAJE_PushState; this->timestamp = timestamp; this->type = type; this->container = container; - this->value = value; + this->val = val; this->extra_ = extra; #if HAVE_SMPI @@ -531,8 +527,8 @@ PushStateEvent::PushStateEvent (double timestamp, container_t container, type_t insert_into_buffer (this); } -PushStateEvent::PushStateEvent (double timestamp, container_t container, type_t type, val_t value) - : PushStateEvent(timestamp, container, type, value, nullptr) +PushStateEvent::PushStateEvent(double timestamp, container_t container, Type* type, Value* val) + : PushStateEvent(timestamp, container, type, val, nullptr) {} void PushStateEvent::print() { if (instr_fmt_type == instr_fmt_paje) { @@ -541,7 +537,7 @@ void PushStateEvent::print() { stream << (int)this->event_type; print_timestamp(this); stream << " " << type->id << " " << container->id; - stream << " " << value->id; + stream << " " << val->id; if (TRACE_display_sizes()) { stream << " "; @@ -667,11 +663,13 @@ void PushStateEvent::print() { fprintf(trace_file, "%d ", extra->recvcounts[i]); fprintf(trace_file, "%d %s %s\n", extra->root, extra->datatype1, extra->datatype2); break; + case TRACING_ALLGATHER: // rank allgather sendcount recvcounts (sendtype) (recvtype) + fprintf(trace_file, "%s allGather %d %d %s %s", process_id, extra->send_size, extra->recv_size, extra->datatype1, extra->datatype2); + break; case TRACING_WAITANY: case TRACING_SENDRECV: case TRACING_SCATTER: case TRACING_SCATTERV: - case TRACING_ALLGATHER: case TRACING_SCAN: case TRACING_EXSCAN: case TRACING_COMM_SIZE: @@ -680,7 +678,7 @@ void PushStateEvent::print() { case TRACING_SSEND: case TRACING_ISSEND: default: - XBT_WARN("Call from %s impossible to translate into replay command : Not implemented (yet)", value->name); + XBT_WARN("Call from %s impossible to translate into replay command : Not implemented (yet)", val->name); break; } @@ -697,7 +695,7 @@ void PushStateEvent::print() { } -PopStateEvent::PopStateEvent (double timestamp, container_t container, type_t type) +PopStateEvent::PopStateEvent (double timestamp, container_t container, Type* type) { this->event_type = PAJE_PopState; this->timestamp = timestamp; @@ -724,7 +722,7 @@ void PopStateEvent::print() { } } -ResetStateEvent::ResetStateEvent (double timestamp, container_t container, type_t type) +ResetStateEvent::ResetStateEvent (double timestamp, container_t container, Type* type) { this->event_type = PAJE_ResetState; this->timestamp = timestamp; @@ -758,11 +756,11 @@ StartLinkEvent::~StartLinkEvent() free(key); } StartLinkEvent::StartLinkEvent (double timestamp, container_t container, - type_t type, container_t sourceContainer, const char *value, const char *key) + Type* type, container_t sourceContainer, const char *value, const char *key) : StartLinkEvent(timestamp, container, type, sourceContainer, value, key, -1) {} -StartLinkEvent::StartLinkEvent (double timestamp, container_t container, type_t type, container_t sourceContainer, +StartLinkEvent::StartLinkEvent (double timestamp, container_t container, Type* type, container_t sourceContainer, const char *value, const char *key, int size) { event_type = PAJE_StartLink; @@ -800,7 +798,7 @@ void StartLinkEvent::print() { } } -EndLinkEvent::EndLinkEvent (double timestamp, container_t container, type_t type, container_t destContainer, +EndLinkEvent::EndLinkEvent (double timestamp, container_t container, Type* type, container_t destContainer, const char *value, const char *key) { this->event_type = PAJE_EndLink; @@ -837,13 +835,13 @@ void EndLinkEvent::print() { } } -NewEvent::NewEvent (double timestamp, container_t container, type_t type, val_t value) +NewEvent::NewEvent(double timestamp, container_t container, Type* type, Value* val) { this->event_type = PAJE_NewEvent; this->timestamp = timestamp; this->type = type; this->container = container; - this->value = value; + this->val = val; XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event_type, this->timestamp); @@ -856,7 +854,7 @@ void NewEvent::print () { stream << std::fixed << std::setprecision(TRACE_precision()); stream << (int)this->event_type; print_timestamp(this); - stream << " " << type->id << " " << container->id << " " << value->id; + stream << " " << type->id << " " << container->id << " " << val->id; print_row(); } else if (instr_fmt_type == instr_fmt_TI) { /* Nothing to do */