X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/befbbbe1fbb31663a8f91e24ce12df271cf4ae79..0dda9bcd2d7df2c8141a8170a7cb8fe20746b4a9:/src/smpi/smpi_global.cpp diff --git a/src/smpi/smpi_global.cpp b/src/smpi/smpi_global.cpp index 66a8f26d7a..015834fee8 100644 --- a/src/smpi/smpi_global.cpp +++ b/src/smpi/smpi_global.cpp @@ -79,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); } @@ -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); @@ -550,8 +550,6 @@ int smpi_main(const char* executable, int argc, char *argv[]) SIMIX_create_environment(argv[1]); SIMIX_comm_set_copy_data_callback(smpi_comm_copy_buffer_callback); - static std::size_t rank = 0; - smpi_init_options(); if (smpi_privatize_global_variables == SMPI_PRIVATIZE_DLOPEN) { @@ -562,6 +560,7 @@ int smpi_main(const char* executable, int argc, char *argv[]) struct stat fdin_stat; stat(executable_copy.c_str(), &fdin_stat); off_t fdin_size = fdin_stat.st_size; + static std::size_t rank = 0; simix_global->default_function = [executable_copy, fdin_size](std::vector args) { return std::function([executable_copy, fdin_size, args] {