int main(int argc, char* argv[]) { SIMIX_global_init(&argc, argv); xbt_assert(argc == 2, "Usage: %s platform.xml\n", argv[0]); simgrid_load_platform(argv[1]); simcall_process_create("master", example::master, NULL, sg_host_by_name("Tremblay"), NULL); SIMIX_run(); return 0; }
void Engine::run() { /* Clean IO before the run */ fflush(stdout); fflush(stderr); if (MC_is_active()) { MC_run(); } else { SIMIX_run(); } }
/** \ingroup msg_simulation * \brief Launch the MSG simulation */ msg_error_t MSG_main() { /* Clean IO before the run */ fflush(stdout); fflush(stderr); if (MC_is_active()) { MC_run(); } else { SIMIX_run(); } return MSG_OK; }
/** \ingroup msg_simulation * \brief Launch the MSG simulation */ msg_error_t MSG_main(void) { /* Clean IO before the run */ fflush(stdout); fflush(stderr); if (MC_is_active()) { MC_do_the_modelcheck_for_real(); } else { SIMIX_run(); } return MSG_OK; }
/** \ingroup msg_simulation * \brief Launch the MSG simulation */ MSG_error_t MSG_main(void) { /* Clean IO before the run */ fflush(stdout); fflush(stderr); if (MC_IS_ENABLED) { MC_modelcheck(); } else { SIMIX_run(); } return MSG_OK; }
int main(int argc, char *argv[]) { SIMIX_global_init(&argc, argv); if (argc != 2) { printf("Usage: %s platform_and_deployment.xml\n", argv[0]); exit(EXIT_FAILURE); } SIMIX_function_register("master", master); SIMIX_create_environment(argv[1]); SIMIX_launch_application(argv[1]); SIMIX_run(); return 0; }
int smpi_main(int (*realmain) (int argc, char *argv[]), int argc, char *argv[]) { srand(SMPI_RAND_SEED); if (getenv("SMPI_PRETEND_CC") != NULL) { /* Hack to ensure that smpicc can pretend to be a simple compiler. Particularly handy to pass it to the * configuration tools */ return 0; } smpi_init_logs(); TRACE_global_init(&argc, argv); TRACE_add_start_function(TRACE_smpi_alloc); TRACE_add_end_function(TRACE_smpi_release); SIMIX_global_init(&argc, argv); MSG_init(&argc,argv); SMPI_switch_data_segment = smpi_switch_data_segment; smpi_init_options(); // parse the platform file: get the host list SIMIX_create_environment(argv[1]); SIMIX_comm_set_copy_data_callback(&smpi_comm_copy_buffer_callback); SIMIX_function_register_default(realmain); SIMIX_launch_application(argv[2]); smpi_global_init(); smpi_check_options(); if(smpi_privatize_global_variables) smpi_initialize_global_memory_segments(); /* Clean IO before the run */ fflush(stdout); fflush(stderr); if (MC_is_active()) { MC_run(); } else { SIMIX_run(); xbt_os_walltimer_stop(global_timer); if (xbt_cfg_get_boolean("smpi/display-timing")){ double global_time = xbt_os_timer_elapsed(global_timer); XBT_INFO("Simulated time: %g seconds. \n\n" "The simulation took %g seconds (after parsing and platform setup)\n" "%g seconds were actual computation of the application", SIMIX_get_clock(), global_time , smpi_total_benched_time); if (smpi_total_benched_time/global_time>=0.75) XBT_INFO("More than 75%% of the time was spent inside the application code.\n" "You may want to use sampling functions or trace replay to reduce this."); } } int count = smpi_process_count(); int i, ret=0; for (i = 0; i < count; i++) { if(process_data[i]->return_value!=0){ ret=process_data[i]->return_value;//return first non 0 value break; } } smpi_global_destroy(); TRACE_end(); return ret; }