X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a1b9570ff3273725b1843dfadc6c13d229ac3dbb..be9df0b83ffac70c7adcd066b34882d81de75a19:/src/smpi/smpi_global.c diff --git a/src/smpi/smpi_global.c b/src/smpi/smpi_global.c index 6f92d0fdab..92ab45b1fb 100644 --- a/src/smpi/smpi_global.c +++ b/src/smpi/smpi_global.c @@ -20,6 +20,7 @@ typedef struct s_smpi_process_data { xbt_fifo_t pending_sent; xbt_fifo_t pending_recv; xbt_os_timer_t timer; + double simulated; MPI_Comm comm_self; } s_smpi_process_data_t; @@ -52,6 +53,18 @@ xbt_os_timer_t smpi_process_timer(void) { return data->timer; } +void smpi_process_simulated_start(void) { + smpi_process_data_t data = smpi_process_data(); + + data->simulated = SIMIX_get_clock(); +} + +double smpi_process_simulated_elapsed(void) { + smpi_process_data_t data = smpi_process_data(); + + return SIMIX_get_clock() - data->simulated; +} + MPI_Comm smpi_process_comm_self(void) { smpi_process_data_t data = smpi_process_data(); @@ -146,6 +159,7 @@ void smpi_global_destroy(void) { int count = smpi_process_count(); int i; + smpi_bench_destroy(); smpi_comm_destroy(MPI_COMM_WORLD); MPI_COMM_WORLD = MPI_COMM_NULL; for(i = 0; i < count; i++) { @@ -183,8 +197,16 @@ int main(int argc, char **argv) "Minimal computation time (in seconds) not discarded.", xbt_cfgelm_double, &default_threshold, 1, 1, NULL, NULL); +#ifdef HAVE_TRACING + TRACE_global_init (&argc, argv); +#endif + SIMIX_global_init(&argc, argv); +#ifdef HAVE_TRACING + TRACE_smpi_start (); +#endif + // parse the platform file: get the host list SIMIX_create_environment(argv[1]); @@ -212,6 +234,10 @@ int main(int argc, char **argv) SIMIX_message_sizes_output("toto.txt"); +#ifdef HAVE_TRACING + TRACE_smpi_end (); +#endif + SIMIX_clean(); return 0; }