void smpi_process_mark_as_initialized(void)
{
int index = smpi_process_index();
- if(index != -100)process_data[index]->initialized=1;
+ if((index != -100)&& (index!=MPI_UNDEFINED))process_data[index]->initialized=1;
}
process_data[i]->mailbox = simcall_rdv_create(get_mailbox_name(name, i));
process_data[i]->mailbox_small = simcall_rdv_create(get_mailbox_name_small(name, i));
process_data[i]->timer = xbt_os_timer_new();
+ if(MC_is_active())
+ MC_ignore_heap(process_data[i]->timer, xbt_os_timer_size());
group = smpi_group_new(1);
process_data[i]->comm_self = smpi_comm_new(group);
process_data[i]->initialized =0;
for (i = 0; i < process_count; i++) {
smpi_group_set_mapping(group, i, i);
}
+
+ //check correctness of MPI parameters
+
+ xbt_assert(sg_cfg_get_int("smpi/async_small_thres")<=sg_cfg_get_int("smpi/send_is_detached_thres"));
}
void smpi_global_destroy(void)
fflush(stderr);
if (MC_is_active())
- MC_modelcheck_safety();
+ MC_do_the_modelcheck_for_real();
else
SIMIX_run();