void smpi_execute_flops(double flops) {
smx_synchro_t action;
XBT_DEBUG("Handle real computation time: %f flops", flops);
- action = simcall_process_execute("computation", flops, 1, 0, 0);
+ action = simcall_execution_start("computation", flops, 1, 0, 0);
simcall_set_category (action, TRACE_internal_smpi_get_category());
- simcall_process_execution_wait(action);
+ simcall_execution_wait(action);
smpi_switch_data_segment(smpi_process_index());
}
#ifdef HAVE_PRIVATIZATION
int i;
if(smpi_loaded_page==-1){//initial switch, do the copy from the real page here
- for (i=0; i< SIMIX_process_count(); i++){
+ for (i=0; i< smpi_process_count(); i++){
memcpy(smpi_privatisation_regions[i].address,
TOPAGE(smpi_start_data_exe), smpi_size_data_exe);
}
#ifndef HAVE_PRIVATIZATION
smpi_privatize_global_variables=0;
+ xbt_die("You are trying to use privatization on a system that does not support it. Don't.");
return;
#else
smpi_privatisation_regions = (smpi_privatisation_region_t) malloc(
smpi_process_count() * sizeof(struct s_smpi_privatisation_region));
- for (i=0; i< SIMIX_process_count(); i++){
+ for (i=0; i< smpi_process_count(); i++){
//create SIMIX_process_count() mappings of this size with the same data inside
void *address = NULL;
char path[] = "/dev/shm/my-buffer-XXXXXX";
int file_descriptor= mkstemp (path);
if (file_descriptor < 0) {
- if (errno==EMFILE) {
- xbt_die("Impossible to create temporary file for memory mapping: %s\n\
+ if (errno==EMFILE) {
+ xbt_die("Impossible to create temporary file for memory mapping: %s\n\
The open() system call failed with the EMFILE error code (too many files). \n\n\
This means that you reached the system limits concerning the amount of files per process. \
This is not a surprise if you are trying to virtualize many processes on top of SMPI. \
If one of these values is less than the amount of MPI processes that you try to run, then you got the explanation of this error. \
Ask the Internet about tutorials on how to increase the files limit such as: https://rtcamp.com/tutorials/linux/increase-open-files-limit/",
strerror(errno));
- }
+ }
xbt_die("Impossible to create temporary file for memory mapping: %s",
- strerror(errno));
+ strerror(errno));
}
status = unlink (path);