}
void smpi_execute_flops(double flops) {
- smx_action_t action;
+ smx_synchro_t action;
smx_host_t host;
host = SIMIX_host_self();
XBT_DEBUG("Handle real computation time: %f flops", flops);
{
smpi_switch_data_segment(smpi_process_index());
- if(MC_is_active())
+ if (MC_is_active() || MC_record_replay_is_active())
return;
xbt_os_threadtimer_start(smpi_process_timer());
void smpi_bench_end(void)
{
- if(MC_is_active())
+ if (MC_is_active() || MC_record_replay_is_active())
return;
xbt_os_timer_t timer = smpi_process_timer();
}
}
+ // FIXME, cross-process support (mmap across process when necessary)
int current = smpi_privatisation_regions[dest].file_descriptor;
XBT_DEBUG("Switching data frame to the one of process %d", dest);
void* tmp = mmap (TOPAGE(start_data_exe), size_data_exe, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_SHARED, current, 0);
#endif
}
+int smpi_is_privatisation_file(char* file)
+{
+ return strncmp("/dev/shm/my-buffer-", file, 19) == 0;
+}
+
void smpi_get_executable_global_size(){
int size_bss_binary=0;
int size_data_binary=0;