X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6b01c1856641f3a79c1eec8f4f0f02e941302090..4f73307dec9bb2568a4fc8df9fd8ea5c988a2b2a:/src/smpi/bindings/smpi_pmpi.cpp diff --git a/src/smpi/bindings/smpi_pmpi.cpp b/src/smpi/bindings/smpi_pmpi.cpp index 72cb977927..ffe62aadef 100644 --- a/src/smpi/bindings/smpi_pmpi.cpp +++ b/src/smpi/bindings/smpi_pmpi.cpp @@ -11,6 +11,7 @@ #include "smpi_comm.hpp" #include "smpi_datatype_derived.hpp" #include "smpi_status.hpp" +#include "smpi_coll.hpp" #include "src/kernel/actor/ActorImpl.hpp" #include "src/smpi/include/smpi_actor.hpp" @@ -51,8 +52,7 @@ int PMPI_Init(int*, char***) } simgrid::smpi::ActorExt::init(); - int rank_traced = simgrid::s4u::this_actor::get_pid(); - TRACE_smpi_init(rank_traced, __func__); + TRACE_smpi_init(simgrid::s4u::this_actor::get_pid(), __func__); smpi_bench_begin(); smpi_process()->mark_as_initialized(); @@ -64,9 +64,12 @@ int PMPI_Init(int*, char***) int PMPI_Finalize() { smpi_bench_end(); - int rank_traced = simgrid::s4u::this_actor::get_pid(); + aid_t rank_traced = simgrid::s4u::this_actor::get_pid(); TRACE_smpi_comm_in(rank_traced, __func__, new simgrid::instr::NoOpTIData("finalize")); + if(simgrid::config::get_value("smpi/finalization-barrier")) + simgrid::smpi::colls::barrier(MPI_COMM_WORLD); + smpi_process()->finalize(); TRACE_smpi_comm_out(rank_traced);