communicator_size = parse_double(action[2]);
- XBT_VERB("%s %f", xbt_str_join_array(action, " "),
- smpi_process_simulated_elapsed()-clock);
+ if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
+ char *name = xbt_str_join_array(action, " ");
+ XBT_VERB("%s %f", name, smpi_process_simulated_elapsed()-clock);
+ free(name);
+ }
}
double clock = smpi_process_simulated_elapsed();
smpi_execute_flops(parse_double(action[2]));
- XBT_VERB("%s %f", xbt_str_join_array(action, " "),
- smpi_process_simulated_elapsed()-clock);
+ if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
+ char *name = xbt_str_join_array(action, " ");
+ XBT_VERB("%s %f", name, smpi_process_simulated_elapsed()-clock);
+ free(name);
+ }
}
static void action_send(const char *const *action)
#endif
smpi_mpi_send(NULL, size, MPI_BYTE, to , 0, MPI_COMM_WORLD);
- XBT_VERB("%s %f", xbt_str_join_array(action, " "),
- smpi_process_simulated_elapsed()-clock);
-#ifdef HAVE_TRACING
+
+ if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
+ char *name = xbt_str_join_array(action, " ");
+ XBT_VERB("%s %f", name, smpi_process_simulated_elapsed()-clock);
+ free(name);
+ }
+
+ #ifdef HAVE_TRACING
TRACE_smpi_ptp_out(rank, rank, dst_traced, __FUNCTION__);
TRACE_smpi_computing_in(rank);
#endif
xbt_dynar_push(globals->isends,&request);
//TODO do the asynchronous cleanup
- XBT_VERB("%s %f", xbt_str_join_array(action, " "),
- smpi_process_simulated_elapsed()-clock);
+ if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
+ char *name = xbt_str_join_array(action, " ");
+ XBT_VERB("%s %f", name, smpi_process_simulated_elapsed()-clock);
+ free(name);
+ }
}
static void action_recv(const char *const *action) {
TRACE_smpi_computing_in(rank);
#endif
- XBT_VERB("%s %f", xbt_str_join_array(action, " "),
- smpi_process_simulated_elapsed()-clock);
+ if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
+ char *name = xbt_str_join_array(action, " ");
+ XBT_VERB("%s %f", name, smpi_process_simulated_elapsed()-clock);
+ free(name);
+ }
}
static void action_Irecv(const char *const *action)
xbt_dynar_push(globals->irecvs,&request);
//TODO do the asynchronous cleanup
- XBT_VERB("%s %f", xbt_str_join_array(action, " "),
- smpi_process_simulated_elapsed()-clock);
+ if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
+ char *name = xbt_str_join_array(action, " ");
+ XBT_VERB("%s %f", name, smpi_process_simulated_elapsed()-clock);
+ free(name);
+ }
}
static void action_wait(const char *const *action){
TRACE_smpi_computing_in(rank);
#endif
- XBT_VERB("%s %f", xbt_str_join_array(action, " "),
- smpi_process_simulated_elapsed()-clock);
+ if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
+ char *name = xbt_str_join_array(action, " ");
+ XBT_VERB("%s %f", name, smpi_process_simulated_elapsed()-clock);
+ free(name);
+ }
}
static void action_barrier(const char *const *action){
TRACE_smpi_computing_in(rank);
#endif
- XBT_VERB("%s %f", xbt_str_join_array(action, " "),
- smpi_process_simulated_elapsed()-clock);
+ if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
+ char *name = xbt_str_join_array(action, " ");
+ XBT_VERB("%s %f", name, smpi_process_simulated_elapsed()-clock);
+ free(name);
+ }
}
static void action_bcast(const char *const *action)
{
double size = parse_double(action[2]);
double clock = smpi_process_simulated_elapsed();
+#ifdef HAVE_TRACING
+ int rank = smpi_comm_rank(MPI_COMM_WORLD);
+ TRACE_smpi_computing_out(rank);
+ int root_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), 0);
+ TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__);
+#endif
smpi_mpi_bcast(NULL, size, MPI_BYTE, 0, MPI_COMM_WORLD);
+#ifdef HAVE_TRACING
+ TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
+ TRACE_smpi_computing_in(rank);
+#endif
- XBT_VERB("%s %f", xbt_str_join_array(action, " "),
- smpi_process_simulated_elapsed()-clock);
+ if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
+ char *name = xbt_str_join_array(action, " ");
+ XBT_VERB("%s %f", name, smpi_process_simulated_elapsed()-clock);
+ free(name);
+ }
}
static void action_reduce(const char *const *action)
{
double size = parse_double(action[2]);
double clock = smpi_process_simulated_elapsed();
- smpi_mpi_reduce(NULL, NULL, size, MPI_BYTE, MPI_OP_NULL, 0, MPI_COMM_WORLD);
+#ifdef HAVE_TRACING
+ int rank = smpi_comm_rank(MPI_COMM_WORLD);
+ TRACE_smpi_computing_out(rank);
+ int root_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), 0);
+ TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__);
+#endif
+ smpi_mpi_reduce(NULL, NULL, size, MPI_BYTE, MPI_OP_NULL, 0, MPI_COMM_WORLD);
+#ifdef HAVE_TRACING
+ TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
+ TRACE_smpi_computing_in(rank);
+#endif
- XBT_VERB("%s %f", xbt_str_join_array(action, " "),
- smpi_process_simulated_elapsed()-clock);
+ if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
+ char *name = xbt_str_join_array(action, " ");
+ XBT_VERB("%s %f", name, smpi_process_simulated_elapsed()-clock);
+ free(name);
+ }
}
static void action_allReduce(const char *const *action) {
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
TRACE_smpi_computing_in(rank);
#endif
- XBT_VERB("%s %f", xbt_str_join_array(action, " "),
- smpi_process_simulated_elapsed()-clock);
+
+ if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
+ char *name = xbt_str_join_array(action, " ");
+ XBT_VERB("%s %f", name, smpi_process_simulated_elapsed()-clock);
+ free(name);
+ }
}
void smpi_replay_init(int *argc, char***argv){