X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/37f5b9a91a456e44ca9a312f84201b3c562e90c6..cd37de87d7609dfe0b73aee81f3dd8c571b6f2db:/src/smpi/smpi_bench.c diff --git a/src/smpi/smpi_bench.c b/src/smpi/smpi_bench.c index b97f86e4e8..4138cac7e6 100644 --- a/src/smpi/smpi_bench.c +++ b/src/smpi/smpi_bench.c @@ -69,12 +69,12 @@ xbt_dict_t allocs = NULL; /* Allocated on first use */ xbt_dict_t allocs_metadata = NULL; /* Allocated on first use */ xbt_dict_t samples = NULL; /* Allocated on first use */ xbt_dict_t calls = NULL; /* Allocated on first use */ -__thread int smpi_current_rank = 0; /* Updated after each MPI call */ double smpi_cpu_threshold; double smpi_running_power; int* fds; +size_t mappings_count = 0; void** mappings; int loaded_page = -1; char* start_data_exe = NULL; @@ -118,7 +118,7 @@ static void* shm_map(int fd, size_t size, shared_data_t* data) { xbt_die("Could not map fd %d: %s", fd, strerror(errno)); } if(!allocs_metadata) { - allocs_metadata = xbt_dict_new_homogeneous(xbt_free); + allocs_metadata = xbt_dict_new_homogeneous(xbt_free_f); } snprintf(loc, PTR_STRLEN, "%p", mem); meta = xbt_new(shared_metadata_t, 1); @@ -192,7 +192,6 @@ void smpi_bench_begin(void) { switch_data_segment(smpi_process_index()); xbt_os_threadtimer_start(smpi_process_timer()); - smpi_current_rank = smpi_process_index(); } void smpi_bench_end(void) @@ -206,7 +205,10 @@ void smpi_bench_end(void) xbt_backtrace_display_current(); xbt_die("Aborting."); } - smpi_execute(xbt_os_timer_elapsed(timer)); + // Simulate the benchmarked computation unless disabled via command-line argument + if (sg_cfg_get_boolean("smpi/simulate_computation")) { + smpi_execute(xbt_os_timer_elapsed(timer)); + } } /* Private sleep function used by smpi_sleep() and smpi_usleep() */ @@ -609,7 +611,6 @@ void switch_data_segment(int dest){ if (loaded_page==dest)//no need to switch either return; - #ifdef HAVE_MMAP int i; if(loaded_page==-1){//initial switch, do the copy from the real page here