} else if (siginfo->si_signo == SIGSEGV) {
fprintf(stderr, "Segmentation fault.\n");
#if HAVE_SMPI
- if (smpi_enabled() && smpi_cfg_privatization() == SmpiPrivStrategies::NONE) {
+ if (SMPI_is_inited() && smpi_cfg_privatization() == SmpiPrivStrategies::NONE) {
#if HAVE_PRIVATIZATION
fprintf(stderr, "Try to enable SMPI variable privatization with --cfg=smpi/privatization:yes.\n");
#else
if (XBT_LOG_ISENABLED(mc_client, xbt_log_priority_debug))
kernel::EngineImpl::get_instance()->display_all_actor_status();
#if HAVE_SMPI
- XBT_DEBUG("Smpi_enabled: %d", (int)smpi_enabled());
- if (smpi_enabled())
+ XBT_DEBUG("Smpi_enabled: %d", SMPI_is_inited());
+ if (SMPI_is_inited())
SMPI_finalize();
#endif
}
XBT_PRIVATE void smpi_comm_null_copy_buffer_callback(simgrid::kernel::activity::CommImpl* comm, void* buff,
size_t buff_size);
-XBT_PRIVATE int smpi_enabled();
XBT_PRIVATE double smpi_mpi_wtime();
XBT_PRIVATE void smpi_mpi_init();
/* nothing done in this version */
}
-int smpi_enabled() {
- return MPI_COMM_WORLD != MPI_COMM_UNINITIALIZED;
-}
-
static void smpi_init_papi()
{
#if HAVE_PAPI
return smpi_exit_status;
}
-static bool smpi_inited = false;
int SMPI_is_inited()
{
- return smpi_inited;
+ return MPI_COMM_WORLD != MPI_COMM_UNINITIALIZED;
}
+
// Called either directly from the user code, or from the code called by smpirun
void SMPI_init(){
smpi_init_options_internal(false);
}
smpi_init_papi();
smpi_check_options();
- smpi_inited = true;
}
void SMPI_finalize()