From b7f06539e6732f81fa6ec70488b6da3e8a5e6b4b Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Thu, 13 Apr 2017 00:07:39 +0200 Subject: [PATCH] make smpirun use SMPI_init to unify call paths --- src/smpi/smpi_global.cpp | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/src/smpi/smpi_global.cpp b/src/smpi/smpi_global.cpp index b20dd692c2..f08bea57c8 100644 --- a/src/smpi/smpi_global.cpp +++ b/src/smpi/smpi_global.cpp @@ -500,17 +500,12 @@ int smpi_main(const char* executable, int argc, char *argv[]) } TRACE_global_init(&argc, argv); - TRACE_smpi_alloc(); - simgrid::surf::surfExitCallbacks.connect(TRACE_smpi_release); SIMIX_global_init(&argc, argv); MSG_init(&argc,argv); SMPI_switch_data_segment = &smpi_switch_data_segment; - smpi_init_logs(); - smpi_init_options(); - // parse the platform file: get the host list SIMIX_create_environment(argv[1]); SIMIX_comm_set_copy_data_callback(smpi_comm_copy_buffer_callback); @@ -575,12 +570,7 @@ int smpi_main(const char* executable, int argc, char *argv[]) SIMIX_launch_application(argv[2]); - smpi_global_init(); - - smpi_check_options(); - - if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP) - smpi_initialize_global_memory_segments(); + SMPI_init(); /* Clean IO before the run */ fflush(stdout); @@ -620,15 +610,14 @@ int smpi_main(const char* executable, int argc, char *argv[]) return ret; } -// This function can be called from extern file, to initialize logs, options, and processes of smpi -// without the need of smpirun +// Called either directly from the user code, or from the code called by smpirun void SMPI_init(){ smpi_init_logs(); smpi_init_options(); smpi_global_init(); smpi_check_options(); - if (TRACE_is_enabled() && TRACE_is_configured()) - TRACE_smpi_alloc(); + TRACE_smpi_alloc(); + simgrid::surf::surfExitCallbacks.connect(TRACE_smpi_release); if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP) smpi_initialize_global_memory_segments(); } -- 2.20.1