1
1

Move carto open/close/finalize to opal layer so that ORTE can get access to topo info. This will be used to support a topo grpcomm that optimizes communications in non-uniform topologies like RR.

This commit was SVN r17652.
Этот коммит содержится в:
Ralph Castain 2008-02-28 21:04:30 +00:00
родитель 4b26adef00
Коммит 8d819cf3d3
4 изменённых файлов: 16 добавлений и 14 удалений

Просмотреть файл

@ -42,7 +42,6 @@
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "opal/util/show_help.h" #include "opal/util/show_help.h"
#include "opal/sys/atomic.h" #include "opal/sys/atomic.h"
#include "opal/mca/carto/base/base.h"
#include "orte/util/proc_info.h" #include "orte/util/proc_info.h"
#include "orte/mca/oob/base/base.h" #include "orte/mca/oob/base/base.h"
@ -138,8 +137,6 @@ int ompi_mpi_finalize(void)
opal_maffinity_base_close(); opal_maffinity_base_close();
} }
opal_carto_base_close();
/* wait for everyone to reach this point /* wait for everyone to reach this point
This is a grpcomm barrier instead of an MPI barrier because an This is a grpcomm barrier instead of an MPI barrier because an
MPI barrier doesn't ensure that all messages have been transmitted MPI barrier doesn't ensure that all messages have been transmitted

Просмотреть файл

@ -39,7 +39,6 @@
#include "opal/util/num_procs.h" #include "opal/util/num_procs.h"
#include "opal/runtime/opal.h" #include "opal/runtime/opal.h"
#include "opal/event/event.h" #include "opal/event/event.h"
#include "opal/mca/carto/base/base.h"
#include "orte/util/sys_info.h" #include "orte/util/sys_info.h"
#include "orte/util/proc_info.h" #include "orte/util/proc_info.h"
@ -313,16 +312,6 @@ int ompi_mpi_init(int argc, char **argv, int requested, int *provided)
} }
} }
if (OPAL_SUCCESS != (ret = opal_carto_base_open())) {
error = "opal_carto_base_open";
goto error;
}
if (OPAL_SUCCESS != (ret = opal_carto_base_select())) {
error = "opal_carto_base_select";
goto error;
}
/* initialize datatypes. This step should be done early as it will /* initialize datatypes. This step should be done early as it will
* create the local convertor and local arch used in the proc * create the local convertor and local arch used in the proc
* init. * init.

Просмотреть файл

@ -40,6 +40,7 @@
#include "opal/mca/paffinity/base/base.h" #include "opal/mca/paffinity/base/base.h"
#include "opal/event/event.h" #include "opal/event/event.h"
#include "opal/runtime/opal_progress.h" #include "opal/runtime/opal_progress.h"
#include "opal/mca/carto/base/base.h"
#include "opal/runtime/opal_cr.h" #include "opal/runtime/opal_cr.h"
#include "opal/mca/crs/base/base.h" #include "opal/mca/crs/base/base.h"
@ -57,6 +58,9 @@ opal_finalize_util(void)
return OPAL_SUCCESS; return OPAL_SUCCESS;
} }
/* close the carto framework */
opal_carto_base_close();
/* Clear out all the registered MCA params */ /* Clear out all the registered MCA params */
mca_base_param_finalize(); mca_base_param_finalize();

Просмотреть файл

@ -37,6 +37,7 @@
#include "opal/mca/timer/base/base.h" #include "opal/mca/timer/base/base.h"
#include "opal/mca/memchecker/base/base.h" #include "opal/mca/memchecker/base/base.h"
#include "opal/dss/dss.h" #include "opal/dss/dss.h"
#include "opal/mca/carto/base/base.h"
#include "opal/runtime/opal_cr.h" #include "opal/runtime/opal_cr.h"
#include "opal/mca/crs/base/base.h" #include "opal/mca/crs/base/base.h"
@ -334,6 +335,17 @@ opal_init(void)
goto return_error; goto return_error;
} }
/* setup the carto framework */
if (OPAL_SUCCESS != (ret = opal_carto_base_open())) {
error = "opal_carto_base_open";
goto return_error;
}
if (OPAL_SUCCESS != (ret = opal_carto_base_select())) {
error = "opal_carto_base_select";
goto return_error;
}
/* /*
* Need to start the event and progress engines if noone else is. * Need to start the event and progress engines if noone else is.
* opal_cr_init uses the progress engine, so it is lumped together * opal_cr_init uses the progress engine, so it is lumped together