X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b83ad9c88af4715987015ddc91ac93ad749df428..47fa64212246f06d6f2606de23ccba9809765e59:/src/smpi/smpi_global.cpp diff --git a/src/smpi/smpi_global.cpp b/src/smpi/smpi_global.cpp index ff2da6f47d..b7a827cd73 100644 --- a/src/smpi/smpi_global.cpp +++ b/src/smpi/smpi_global.cpp @@ -12,7 +12,6 @@ #include "src/smpi/SmpiHost.hpp" #include "xbt/config.hpp" #include "src/smpi/private.h" -#include "smpi/smpi_shared_malloc.hpp" #include "src/smpi/smpi_coll.hpp" #include "src/smpi/smpi_comm.hpp" #include "src/smpi/smpi_group.hpp" @@ -80,7 +79,7 @@ simgrid::smpi::Process* smpi_process() smx_actor_t me = SIMIX_process_self(); if (me == nullptr) // This happens sometimes (eg, when linking against NS3 because it pulls openMPI...) return nullptr; - simgrid::MsgActorExt* msgExt = static_cast(me->data); + simgrid::msg::ActorExt* msgExt = static_cast(me->data); return static_cast(msgExt->data); } @@ -145,7 +144,8 @@ static void check_blocks(std::vector> &private_blocks, void smpi_comm_copy_buffer_callback(smx_activity_t synchro, void *buff, size_t buff_size) { - simgrid::kernel::activity::Comm *comm = dynamic_cast(synchro); + simgrid::kernel::activity::CommImplPtr comm = + boost::dynamic_pointer_cast(synchro); int src_shared = 0; int dst_shared = 0; size_t src_offset = 0; @@ -180,7 +180,7 @@ void smpi_comm_copy_buffer_callback(smx_activity_t synchro, void *buff, size_t b XBT_DEBUG("Privatization : We are copying from a zone inside global memory... Saving data to temp buffer !"); smpi_switch_data_segment( - static_cast((static_cast(comm->src_proc->data)->data)) + static_cast((static_cast(comm->src_proc->data)->data)) ->index()); tmpbuff = static_cast(xbt_malloc(buff_size)); memcpy_private(tmpbuff, buff, private_blocks); @@ -190,7 +190,7 @@ void smpi_comm_copy_buffer_callback(smx_activity_t synchro, void *buff, size_t b && ((char*)comm->dst_buff < smpi_start_data_exe + smpi_size_data_exe )){ XBT_DEBUG("Privatization : We are copying to a zone inside global memory - Switch data segment"); smpi_switch_data_segment( - static_cast((static_cast(comm->dst_proc->data)->data)) + static_cast((static_cast(comm->dst_proc->data)->data)) ->index()); } XBT_DEBUG("Copying %zu bytes from %p to %p", buff_size, tmpbuff,comm->dst_buff); @@ -238,15 +238,15 @@ void smpi_global_init() { MPI_Group group; - if (!MC_is_active()) { + if (not MC_is_active()) { global_timer = xbt_os_timer_new(); xbt_os_walltimer_start(global_timer); } - if (xbt_cfg_get_string("smpi/comp-adjustment-file")[0] != '\0') { + if (xbt_cfg_get_string("smpi/comp-adjustment-file")[0] != '\0') { std::string filename {xbt_cfg_get_string("smpi/comp-adjustment-file")}; std::ifstream fstream(filename); - if (!fstream.is_open()) { + if (not fstream.is_open()) { xbt_die("Could not open file %s. Does it exist?", filename.c_str()); } @@ -394,7 +394,7 @@ void smpi_global_destroy() MPI_COMM_WORLD = MPI_COMM_NULL; - if (!MC_is_active()) { + if (not MC_is_active()) { xbt_os_timer_free(global_timer); } @@ -471,11 +471,12 @@ static void smpi_init_options(){ smpi_cpu_threshold = DBL_MAX; char* val = xbt_cfg_get_string("smpi/shared-malloc"); - if (!strcasecmp(val, "yes") || !strcmp(val, "1") || !strcasecmp(val, "on") || !strcasecmp(val, "global")) { + if (not strcasecmp(val, "yes") || not strcmp(val, "1") || not strcasecmp(val, "on") || + not strcasecmp(val, "global")) { smpi_cfg_shared_malloc = shmalloc_global; - } else if (!strcasecmp(val, "local")) { + } else if (not strcasecmp(val, "local")) { smpi_cfg_shared_malloc = shmalloc_local; - } else if (!strcasecmp(val, "no") || !strcmp(val, "0") || !strcasecmp(val, "off")) { + } else if (not strcasecmp(val, "no") || not strcmp(val, "0") || not strcasecmp(val, "off")) { smpi_cfg_shared_malloc = shmalloc_none; } else { xbt_die("Invalid value '%s' for option smpi/shared-malloc. Possible values: 'on' or 'global', 'local', 'off'", @@ -611,7 +612,7 @@ int smpi_main(const char* executable, int argc, char *argv[]) if (handle == nullptr) xbt_die("dlopen failed: %s (errno: %d -- %s)", dlerror(), errno, strerror(errno)); smpi_entry_point_type entry_point = smpi_resolve_function(handle); - if (!entry_point) + if (not entry_point) xbt_die("Could not resolve entry point"); smpi_run_entry_point(entry_point, args); @@ -626,7 +627,7 @@ int smpi_main(const char* executable, int argc, char *argv[]) if (handle == nullptr) xbt_die("dlopen failed for %s: %s (errno: %d -- %s)", executable, dlerror(), errno, strerror(errno)); smpi_entry_point_type entry_point = smpi_resolve_function(handle); - if (!entry_point) + if (not entry_point) xbt_die("main not found in %s", executable); // TODO, register the executable for SMPI privatization @@ -650,7 +651,7 @@ int smpi_main(const char* executable, int argc, char *argv[]) if (MC_is_active()) { MC_run(); } else { - + SIMIX_run(); xbt_os_walltimer_stop(global_timer); @@ -660,7 +661,7 @@ int smpi_main(const char* executable, int argc, char *argv[]) "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."); @@ -698,7 +699,7 @@ void SMPI_finalize(){ } void smpi_mpi_init() { - if(smpi_init_sleep > 0) + if(smpi_init_sleep > 0) simcall_process_sleep(smpi_init_sleep); } @@ -713,7 +714,7 @@ double smpi_mpi_wtime(){ // } // because the time will not normally advance when only calls to MPI_Wtime // are made -> deadlock (MPI_Wtime never reaches the time limit) - if(smpi_wtime_sleep > 0) + if(smpi_wtime_sleep > 0) simcall_process_sleep(smpi_wtime_sleep); smpi_bench_begin(); } else {