2004-01-19 17:43:50 +00:00
|
|
|
//
|
2007-03-16 23:11:45 +00:00
|
|
|
// Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
|
2005-11-05 19:57:48 +00:00
|
|
|
// University Research and Technology
|
|
|
|
// Corporation. All rights reserved.
|
|
|
|
// Copyright (c) 2004-2005 The University of Tennessee and The University
|
|
|
|
// of Tennessee Research Foundation. All rights
|
|
|
|
// reserved.
|
2004-11-28 20:09:25 +00:00
|
|
|
// Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
|
|
// University of Stuttgart. All rights reserved.
|
2005-03-24 12:43:37 +00:00
|
|
|
// Copyright (c) 2004-2005 The Regents of the University of California.
|
|
|
|
// All rights reserved.
|
2007-04-21 00:15:05 +00:00
|
|
|
// Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
2004-11-22 01:38:40 +00:00
|
|
|
// $COPYRIGHT$
|
|
|
|
//
|
|
|
|
// Additional copyrights may follow
|
|
|
|
//
|
2004-01-19 17:43:50 +00:00
|
|
|
// $HEADER$
|
|
|
|
//
|
|
|
|
|
2007-04-21 00:51:31 +00:00
|
|
|
#include "ompi_config.h"
|
|
|
|
|
2004-01-19 17:43:50 +00:00
|
|
|
#include <iostream>
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
2005-07-03 12:07:29 +00:00
|
|
|
#include "ompi/runtime/params.h"
|
|
|
|
#include "orte/runtime/runtime.h"
|
2007-04-21 00:51:31 +00:00
|
|
|
#include "ompi/tools/ompi_info/ompi_info.h"
|
2005-08-13 16:07:37 +00:00
|
|
|
|
2006-07-27 01:51:18 +00:00
|
|
|
#include "opal/event/event.h"
|
2005-08-13 16:07:37 +00:00
|
|
|
#include "opal/mca/base/base.h"
|
|
|
|
#include "opal/mca/memory/memory.h"
|
2006-07-27 03:48:12 +00:00
|
|
|
#include "opal/mca/backtrace/backtrace.h"
|
|
|
|
#include "opal/mca/backtrace/base/base.h"
|
2005-08-13 16:07:37 +00:00
|
|
|
#include "opal/mca/paffinity/paffinity.h"
|
|
|
|
#include "opal/mca/paffinity/base/base.h"
|
2005-08-26 10:56:39 +00:00
|
|
|
#include "opal/mca/maffinity/maffinity.h"
|
|
|
|
#include "opal/mca/maffinity/base/base.h"
|
2005-08-13 20:19:24 +00:00
|
|
|
#include "opal/mca/memory/memory.h"
|
|
|
|
#include "opal/mca/memory/base/base.h"
|
2005-08-21 19:14:49 +00:00
|
|
|
#include "opal/mca/timer/timer.h"
|
|
|
|
#include "opal/mca/timer/base/base.h"
|
2007-04-21 00:15:05 +00:00
|
|
|
#include "opal/mca/installdirs/installdirs.h"
|
|
|
|
#include "opal/mca/installdirs/base/base.h"
|
2007-03-16 23:11:45 +00:00
|
|
|
#if OPAL_ENABLE_FT == 1
|
|
|
|
#include "opal/mca/crs/crs.h"
|
|
|
|
#include "opal/mca/crs/base/base.h"
|
|
|
|
#endif
|
2006-01-11 04:36:39 +00:00
|
|
|
#include "opal/runtime/opal.h"
|
2005-08-21 19:14:49 +00:00
|
|
|
|
2005-08-13 16:07:37 +00:00
|
|
|
#include "ompi/mca/allocator/allocator.h"
|
|
|
|
#include "ompi/mca/allocator/base/base.h"
|
|
|
|
#include "ompi/mca/coll/coll.h"
|
|
|
|
#include "ompi/mca/coll/base/base.h"
|
|
|
|
#include "ompi/mca/io/io.h"
|
|
|
|
#include "ompi/mca/io/base/base.h"
|
|
|
|
#include "ompi/mca/mpool/mpool.h"
|
|
|
|
#include "ompi/mca/mpool/base/base.h"
|
|
|
|
#include "ompi/mca/pml/pml.h"
|
|
|
|
#include "ompi/mca/pml/base/base.h"
|
2006-02-11 00:14:44 +00:00
|
|
|
#include "ompi/mca/bml/bml.h"
|
|
|
|
#include "ompi/mca/bml/base/base.h"
|
|
|
|
#include "ompi/mca/rcache/rcache.h"
|
|
|
|
#include "ompi/mca/rcache/base/base.h"
|
2005-08-13 16:07:37 +00:00
|
|
|
#include "ompi/mca/btl/btl.h"
|
|
|
|
#include "ompi/mca/btl/base/base.h"
|
2006-07-04 01:20:20 +00:00
|
|
|
#include "ompi/mca/mtl/mtl.h"
|
|
|
|
#include "ompi/mca/mtl/base/base.h"
|
2005-08-13 16:07:37 +00:00
|
|
|
#include "ompi/mca/topo/topo.h"
|
|
|
|
#include "ompi/mca/topo/base/base.h"
|
2006-01-28 15:38:37 +00:00
|
|
|
#include "ompi/mca/osc/osc.h"
|
|
|
|
#include "ompi/mca/osc/base/base.h"
|
2007-03-16 23:11:45 +00:00
|
|
|
#if OPAL_ENABLE_FT == 1
|
|
|
|
#include "ompi/mca/crcp/crcp.h"
|
|
|
|
#include "ompi/mca/crcp/base/base.h"
|
|
|
|
#endif
|
2005-08-13 16:07:37 +00:00
|
|
|
|
|
|
|
#include "orte/mca/errmgr/errmgr.h"
|
|
|
|
#include "orte/mca/errmgr/base/base.h"
|
|
|
|
#include "orte/mca/gpr/gpr.h"
|
|
|
|
#include "orte/mca/gpr/base/base.h"
|
|
|
|
#include "orte/mca/iof/iof.h"
|
|
|
|
#include "orte/mca/iof/base/base.h"
|
|
|
|
#include "orte/mca/ns/ns.h"
|
|
|
|
#include "orte/mca/ns/base/base.h"
|
|
|
|
#include "orte/mca/oob/oob.h"
|
|
|
|
#include "orte/mca/oob/base/base.h"
|
2006-11-29 16:24:49 +00:00
|
|
|
#include "orte/mca/odls/odls.h"
|
|
|
|
#include "orte/mca/odls/base/base.h"
|
2005-08-13 16:07:37 +00:00
|
|
|
#include "orte/mca/ras/ras.h"
|
|
|
|
#include "orte/mca/ras/base/base.h"
|
|
|
|
#include "orte/mca/rds/rds.h"
|
|
|
|
#include "orte/mca/rds/base/base.h"
|
|
|
|
#include "orte/mca/rmaps/rmaps.h"
|
|
|
|
#include "orte/mca/rmaps/base/base.h"
|
|
|
|
#include "orte/mca/rmgr/rmgr.h"
|
|
|
|
#include "orte/mca/rmgr/base/base.h"
|
|
|
|
#include "orte/mca/rml/rml.h"
|
|
|
|
#include "orte/mca/rml/base/base.h"
|
|
|
|
#include "orte/mca/pls/pls.h"
|
|
|
|
#include "orte/mca/pls/base/base.h"
|
2007-01-25 08:37:36 +00:00
|
|
|
#include "orte/mca/odls/odls.h"
|
|
|
|
#include "orte/mca/odls/base/base.h"
|
2006-08-16 16:35:09 +00:00
|
|
|
#include "orte/mca/smr/smr.h"
|
|
|
|
#include "orte/mca/smr/base/base.h"
|
2005-08-13 16:07:37 +00:00
|
|
|
#include "orte/mca/sds/sds.h"
|
|
|
|
#include "orte/mca/sds/base/base.h"
|
2007-03-16 23:11:45 +00:00
|
|
|
#if OPAL_ENABLE_FT == 1
|
|
|
|
#include "orte/mca/snapc/snapc.h"
|
|
|
|
#include "orte/mca/snapc/base/base.h"
|
|
|
|
#endif
|
|
|
|
#include "orte/mca/filem/filem.h"
|
|
|
|
#include "orte/mca/filem/base/base.h"
|
2004-01-19 17:43:50 +00:00
|
|
|
|
|
|
|
using namespace std;
|
2004-06-07 15:33:53 +00:00
|
|
|
using namespace ompi_info;
|
2004-01-19 17:43:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
// Public variables
|
|
|
|
//
|
|
|
|
|
2004-07-13 20:25:12 +00:00
|
|
|
ompi_info::component_map_t ompi_info::component_map;
|
2004-01-19 17:43:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
// Private variables
|
|
|
|
//
|
|
|
|
|
2004-07-13 20:25:12 +00:00
|
|
|
static bool opened_components = false;
|
2004-01-19 17:43:50 +00:00
|
|
|
|
|
|
|
|
|
|
|
//
|
2004-07-13 20:25:12 +00:00
|
|
|
// Open all MCA components so that they can register their MCA
|
2004-01-19 17:43:50 +00:00
|
|
|
// parameters. Take a shotgun approach here and indiscriminately open
|
2004-07-13 20:25:12 +00:00
|
|
|
// all components -- don't be selective. To this end, we need to clear
|
2004-08-09 15:40:40 +00:00
|
|
|
// out the environment of all OMPI_MCA_<type> variables to ensure
|
2004-07-13 20:25:12 +00:00
|
|
|
// that the open algorithms don't try to only open one component.
|
2004-01-19 17:43:50 +00:00
|
|
|
//
|
2004-07-13 20:25:12 +00:00
|
|
|
void ompi_info::open_components()
|
2004-01-19 17:43:50 +00:00
|
|
|
{
|
2004-06-07 15:33:53 +00:00
|
|
|
ompi_info::type_vector_t::size_type i;
|
2004-01-19 17:43:50 +00:00
|
|
|
string env;
|
2007-05-24 21:30:38 +00:00
|
|
|
char *target, *save;
|
|
|
|
vector<std::string> env_save;
|
|
|
|
vector<std::string>::iterator esi;
|
2004-01-19 17:43:50 +00:00
|
|
|
|
2007-05-24 21:30:38 +00:00
|
|
|
if (opened_components) {
|
|
|
|
return;
|
|
|
|
}
|
2004-01-19 17:43:50 +00:00
|
|
|
|
|
|
|
// Clear out the environment. Use strdup() to orphan the resulting
|
|
|
|
// strings because items are placed in the environment by reference,
|
|
|
|
// not by value.
|
|
|
|
|
|
|
|
for (i = 0; i < mca_types.size(); ++i) {
|
2004-08-09 15:40:40 +00:00
|
|
|
env = "OMPI_MCA_" + mca_types[i];
|
2007-05-24 21:30:38 +00:00
|
|
|
if (NULL != (save = getenv(env.c_str()))) {
|
2004-01-19 17:43:50 +00:00
|
|
|
env += "=";
|
2007-05-24 21:30:38 +00:00
|
|
|
env_save.push_back(env + save);
|
2004-01-19 17:43:50 +00:00
|
|
|
target = strdup(env.c_str());
|
|
|
|
putenv(target);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2006-07-27 01:51:18 +00:00
|
|
|
// some components require the event library be active, so activate
|
|
|
|
// it.
|
|
|
|
opal_event_init();
|
|
|
|
|
2005-05-04 00:11:36 +00:00
|
|
|
// Open the DPS
|
|
|
|
|
2006-02-07 03:32:36 +00:00
|
|
|
if (ORTE_SUCCESS != orte_dss_open()) {
|
|
|
|
printf( "Unable to initialize the DSS\n" );
|
2005-05-04 00:11:36 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2004-08-31 09:49:56 +00:00
|
|
|
// Open up the MCA
|
|
|
|
|
|
|
|
mca_base_open();
|
|
|
|
|
2006-01-11 04:36:39 +00:00
|
|
|
// Register the OPAL layer's MCA parameters
|
|
|
|
|
|
|
|
opal_register_params();
|
|
|
|
|
2005-08-26 20:13:35 +00:00
|
|
|
// Register the ORTE layer's MCA parameters
|
|
|
|
|
|
|
|
orte_register_params(false);
|
|
|
|
|
2004-08-14 01:56:05 +00:00
|
|
|
// Register the MPI layer's MCA parameters
|
|
|
|
|
|
|
|
ompi_mpi_register_params();
|
|
|
|
|
2004-07-11 04:35:31 +00:00
|
|
|
// Find / open all components
|
2004-01-19 17:43:50 +00:00
|
|
|
|
2004-07-13 20:25:12 +00:00
|
|
|
component_map["base"] = NULL;
|
2004-01-19 17:43:50 +00:00
|
|
|
|
2005-08-13 16:07:37 +00:00
|
|
|
// OPAL frameworks
|
|
|
|
|
2006-07-27 03:48:12 +00:00
|
|
|
opal_backtrace_base_open();
|
|
|
|
component_map["backtrace"] = &opal_backtrace_base_components_opened;
|
|
|
|
|
2005-08-13 20:19:24 +00:00
|
|
|
opal_memory_base_open();
|
|
|
|
component_map["memory"] = &opal_memory_base_components_opened;
|
|
|
|
|
2005-08-13 16:07:37 +00:00
|
|
|
opal_paffinity_base_open();
|
|
|
|
component_map["paffinity"] = &opal_paffinity_base_components_opened;
|
|
|
|
|
2005-08-26 10:56:39 +00:00
|
|
|
opal_maffinity_base_open();
|
|
|
|
component_map["maffinity"] = &opal_maffinity_base_components_opened;
|
|
|
|
|
2005-08-21 19:14:49 +00:00
|
|
|
opal_timer_base_open();
|
|
|
|
component_map["timer"] = &opal_timer_base_components_opened;
|
2007-03-16 23:11:45 +00:00
|
|
|
#if OPAL_ENABLE_FT == 1
|
|
|
|
opal_crs_base_open();
|
|
|
|
component_map["crs"] = &opal_crs_base_components_available;
|
|
|
|
#endif
|
2005-08-21 19:14:49 +00:00
|
|
|
|
2007-04-21 00:15:05 +00:00
|
|
|
// OPAL's installdirs base open has already been called as part of
|
|
|
|
// opal_init_util() back in main().
|
|
|
|
component_map["installdirs"] = &opal_installdirs_components;
|
|
|
|
|
2005-03-14 20:57:21 +00:00
|
|
|
// ORTE frameworks
|
|
|
|
|
2005-03-18 03:43:59 +00:00
|
|
|
mca_oob_base_open();
|
|
|
|
component_map["oob"] = &mca_oob_base_components;
|
|
|
|
|
2006-11-29 16:24:49 +00:00
|
|
|
orte_odls_base_open();
|
|
|
|
component_map["odls"] = &orte_odls_base.available_components;
|
|
|
|
|
2005-03-14 20:57:21 +00:00
|
|
|
orte_errmgr_base_open();
|
|
|
|
component_map["errmgr"] = &orte_errmgr_base_components_available;
|
|
|
|
|
|
|
|
orte_gpr_base_open();
|
|
|
|
component_map["gpr"] = &orte_gpr_base_components_available;
|
|
|
|
|
|
|
|
orte_iof_base_open();
|
|
|
|
component_map["iof"] = &orte_iof_base.iof_components_opened;
|
|
|
|
|
|
|
|
orte_ns_base_open();
|
|
|
|
component_map["ns"] = &mca_ns_base_components_available;
|
2004-01-19 17:43:50 +00:00
|
|
|
|
2005-03-14 20:57:21 +00:00
|
|
|
orte_ras_base_open();
|
|
|
|
component_map["ras"] = &orte_ras_base.ras_opened;
|
2004-07-11 04:35:31 +00:00
|
|
|
|
2005-03-14 20:57:21 +00:00
|
|
|
orte_rds_base_open();
|
|
|
|
component_map["rds"] = &orte_rds_base.rds_components;
|
2004-07-11 04:35:31 +00:00
|
|
|
|
2005-03-14 20:57:21 +00:00
|
|
|
orte_rmaps_base_open();
|
|
|
|
component_map["rmaps"] = &orte_rmaps_base.rmaps_opened;
|
2004-08-17 22:24:17 +00:00
|
|
|
|
2005-03-14 20:57:21 +00:00
|
|
|
orte_rmgr_base_open();
|
|
|
|
component_map["rmgr"] = &orte_rmgr_base.rmgr_components;
|
2004-01-19 17:43:50 +00:00
|
|
|
|
2005-03-14 20:57:21 +00:00
|
|
|
orte_rml_base_open();
|
|
|
|
component_map["rml"] = &orte_rml_base.rml_components;
|
2004-01-19 17:43:50 +00:00
|
|
|
|
2005-03-14 20:57:21 +00:00
|
|
|
orte_pls_base_open();
|
2006-09-14 21:29:51 +00:00
|
|
|
component_map["pls"] = &orte_pls_base.available_components;
|
2004-12-16 18:52:33 +00:00
|
|
|
|
2007-01-25 08:37:36 +00:00
|
|
|
orte_odls_base_open();
|
|
|
|
component_map["odls"] = &orte_odls_base.available_components;
|
|
|
|
|
2005-07-28 16:16:13 +00:00
|
|
|
orte_sds_base_open();
|
|
|
|
component_map["sds"] = &orte_sds_base_components_available;
|
|
|
|
|
2006-08-16 16:35:09 +00:00
|
|
|
orte_smr_base_open();
|
|
|
|
component_map["smr"] = &orte_smr_base.smr_components;
|
2004-01-19 17:43:50 +00:00
|
|
|
|
2007-03-16 23:11:45 +00:00
|
|
|
#if OPAL_ENABLE_FT == 1
|
|
|
|
orte_snapc_base_open();
|
|
|
|
component_map["snapc"] = &orte_snapc_base_components_available;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
orte_filem_base_open();
|
|
|
|
component_map["filem"] = &orte_filem_base_components_available;
|
|
|
|
|
2005-03-18 03:43:59 +00:00
|
|
|
// MPI frameworks
|
|
|
|
|
|
|
|
mca_allocator_base_open();
|
|
|
|
component_map["allocator"] = &mca_allocator_base_components;
|
|
|
|
|
|
|
|
mca_coll_base_open();
|
|
|
|
component_map["coll"] = &mca_coll_base_components_opened;
|
|
|
|
|
|
|
|
mca_io_base_open();
|
|
|
|
component_map["io"] = &mca_io_base_components_opened;
|
|
|
|
|
2006-02-11 00:14:44 +00:00
|
|
|
mca_rcache_base_open();
|
2006-03-08 22:50:10 +00:00
|
|
|
component_map["rcache"] = &mca_rcache_base_components;
|
2006-02-11 00:14:44 +00:00
|
|
|
|
2005-03-18 03:43:59 +00:00
|
|
|
mca_mpool_base_open();
|
|
|
|
component_map["mpool"] = &mca_mpool_base_components;
|
|
|
|
|
|
|
|
mca_pml_base_open();
|
|
|
|
component_map["pml"] = &mca_pml_base_components_available;
|
|
|
|
|
2006-02-11 00:14:44 +00:00
|
|
|
// No need to call the bml_base_open() because the ob1 pml calls it.
|
|
|
|
//mca_bml_base_open();
|
|
|
|
component_map["bml"] = &mca_bml_base_components_available;
|
|
|
|
|
2006-01-28 15:38:37 +00:00
|
|
|
ompi_osc_base_open();
|
|
|
|
component_map["osc"] = &ompi_osc_base_open_components;
|
|
|
|
|
2005-07-28 16:31:29 +00:00
|
|
|
mca_btl_base_open();
|
2005-07-14 18:05:30 +00:00
|
|
|
component_map["btl"] = &mca_btl_base_components_opened;
|
|
|
|
|
2006-07-04 01:20:20 +00:00
|
|
|
ompi_mtl_base_open();
|
|
|
|
component_map["mtl"] = &ompi_mtl_base_components_opened;
|
|
|
|
|
2005-03-18 03:43:59 +00:00
|
|
|
mca_topo_base_open();
|
|
|
|
component_map["topo"] = &mca_topo_base_components_opened;
|
|
|
|
|
2007-03-16 23:11:45 +00:00
|
|
|
#if OPAL_ENABLE_FT == 1
|
|
|
|
ompi_crcp_base_open();
|
|
|
|
component_map["crcp"] = &ompi_crcp_base_components_available;
|
|
|
|
#endif
|
|
|
|
|
2007-05-24 21:30:38 +00:00
|
|
|
// Restore the environment to what it was before we started so that
|
|
|
|
// if users setenv OMPI_MCA_<framework name> to some value, they'll
|
|
|
|
// see that value when it is shown via --param output.
|
|
|
|
|
|
|
|
if (!env_save.empty()) {
|
|
|
|
for (esi = env_save.begin(); esi != env_save.end(); ++esi) {
|
|
|
|
target = strdup(esi->c_str());
|
|
|
|
putenv(target);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2004-01-19 17:43:50 +00:00
|
|
|
// All done
|
|
|
|
|
2004-07-13 20:25:12 +00:00
|
|
|
opened_components = true;
|
2004-01-19 17:43:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2004-07-13 20:25:12 +00:00
|
|
|
void ompi_info::close_components()
|
2004-01-19 17:43:50 +00:00
|
|
|
{
|
2005-03-18 03:43:59 +00:00
|
|
|
if (opened_components) {
|
|
|
|
|
|
|
|
// Note that the order of shutdown here doesn't matter because
|
|
|
|
// we aren't *using* any components -- none were selected, so
|
|
|
|
// there are no dependencies between the frameworks. We list
|
|
|
|
// them generally "in order", but it doesn't really matter.
|
|
|
|
|
2007-03-16 23:11:45 +00:00
|
|
|
#if OPAL_ENABLE_FT == 1
|
|
|
|
ompi_crcp_base_close();
|
|
|
|
#endif
|
2005-03-18 03:43:59 +00:00
|
|
|
mca_topo_base_close();
|
2005-07-14 18:05:30 +00:00
|
|
|
// the PML has to call the base PTL close function.
|
2005-07-28 16:31:29 +00:00
|
|
|
mca_btl_base_close();
|
2006-07-04 01:20:20 +00:00
|
|
|
ompi_mtl_base_close();
|
2005-03-18 03:43:59 +00:00
|
|
|
mca_pml_base_close();
|
|
|
|
mca_mpool_base_close();
|
2006-02-11 00:14:44 +00:00
|
|
|
mca_rcache_base_close();
|
2005-03-18 03:43:59 +00:00
|
|
|
mca_io_base_close();
|
|
|
|
mca_coll_base_close();
|
|
|
|
mca_allocator_base_close();
|
2006-01-28 15:38:37 +00:00
|
|
|
ompi_osc_base_close();
|
2005-03-18 03:43:59 +00:00
|
|
|
|
2007-03-16 23:11:45 +00:00
|
|
|
#if OPAL_ENABLE_FT == 1
|
|
|
|
orte_snapc_base_close();
|
|
|
|
#endif
|
|
|
|
orte_filem_base_close();
|
2005-03-18 03:43:59 +00:00
|
|
|
orte_iof_base_close();
|
2005-07-28 16:16:13 +00:00
|
|
|
orte_sds_base_close();
|
2006-08-16 16:35:09 +00:00
|
|
|
orte_smr_base_close();
|
2005-03-18 03:43:59 +00:00
|
|
|
orte_pls_base_close();
|
2007-01-25 08:37:36 +00:00
|
|
|
orte_odls_base_close();
|
2005-03-18 03:43:59 +00:00
|
|
|
orte_rmgr_base_close();
|
|
|
|
orte_rmaps_base_close();
|
|
|
|
orte_rds_base_close();
|
|
|
|
orte_ras_base_close();
|
|
|
|
orte_ns_base_close();
|
|
|
|
orte_gpr_base_close();
|
|
|
|
orte_errmgr_base_close();
|
2005-03-31 23:26:02 +00:00
|
|
|
orte_rml_base_close();
|
2005-03-18 03:43:59 +00:00
|
|
|
mca_oob_base_close();
|
2006-11-29 16:24:49 +00:00
|
|
|
orte_odls_base_close();
|
|
|
|
|
2006-07-27 03:48:12 +00:00
|
|
|
opal_backtrace_base_close();
|
2005-08-13 20:19:24 +00:00
|
|
|
opal_memory_base_close();
|
2005-08-13 16:07:37 +00:00
|
|
|
opal_paffinity_base_close();
|
2005-08-26 10:56:39 +00:00
|
|
|
opal_maffinity_base_close();
|
2005-08-21 19:14:49 +00:00
|
|
|
opal_timer_base_close();
|
2007-03-16 23:11:45 +00:00
|
|
|
#if OPAL_ENABLE_FT == 1
|
|
|
|
opal_crs_base_close();
|
|
|
|
#endif
|
2007-04-21 00:15:05 +00:00
|
|
|
// Do not call OPAL's installdirs close; it will be handled in
|
|
|
|
// opal_finalize_util().
|
|
|
|
|
2005-03-18 03:43:59 +00:00
|
|
|
component_map.clear();
|
|
|
|
}
|
2004-01-19 17:43:50 +00:00
|
|
|
|
2005-03-18 03:43:59 +00:00
|
|
|
opened_components = false;
|
2004-01-19 17:43:50 +00:00
|
|
|
}
|