#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"
void TRACE_smpi_set_category(const char *category)
{
//need to end bench otherwise categories for execution tasks are wrong
- smpi_bench_end();
+ const SmpiBenchGuard suspend_bench;
+
if (category != nullptr) {
// declare category
TRACE_category(category);
smpi_process()->set_tracing_category(category);
}
- //begin bench after changing process's category
- smpi_bench_begin();
}
/* PMPI User level calls */
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<bool>("smpi/finalization-barrier"))
+ simgrid::smpi::colls::barrier(MPI_COMM_WORLD);
+
smpi_process()->finalize();
TRACE_smpi_comm_out(rank_traced);