1
1
openmpi/orte/mca/rml/base/rml_base_open.c
Josh Hursey dadca7da88 Merging in the jjhursey-ft-cr-stable branch (r13912 : HEAD).
This merge adds Checkpoint/Restart support to Open MPI. The initial
frameworks and components support a LAM/MPI-like implementation.

This commit follows the risk assessment presented to the Open MPI core
development group on Feb. 22, 2007.

This commit closes trac:158

More details to follow.

This commit was SVN r14051.

The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
  r13912

The following Trac tickets were found above:
  Ticket 158 --> https://svn.open-mpi.org/trac/ompi/ticket/158
2007-03-16 23:11:45 +00:00

98 строки
3.0 KiB
C

/*
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
* 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.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "orte_config.h"
#include <stdio.h>
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "opal/mca/base/mca_base_param.h"
#include "opal/util/output.h"
#include "orte/mca/oob/oob.h"
#include "orte/mca/oob/base/base.h"
#include "orte/mca/rml/base/base.h"
/*
* The following file was created by configure. It contains extern
* statements and the definition of an array of pointers to each
* component's public mca_base_component_t struct.
*/
#include "orte/mca/rml/base/static-components.h"
/*
* Global variables
*/
orte_rml_base_t orte_rml_base;
orte_rml_module_t orte_rml;
orte_rml_component_t orte_rml_component;
/**
* Function for finding and opening either all MCA components, or the one
* that was specifically requested via a MCA parameter.
*/
int orte_rml_base_open(void)
{
int id;
int int_value;
int rc;
char *rml_wrapper = NULL;
/* Initialize globals */
OBJ_CONSTRUCT(&orte_rml_base.rml_components, opal_list_t);
/* lookup common parameters */
id = mca_base_param_reg_int_name("rml_base", "debug",
"Verbosity level for the rml famework",
false, false, 0, &int_value);
if (0 != int_value) {
orte_rml_base.rml_output = opal_output_open(NULL);
} else {
orte_rml_base.rml_output = -1;
}
orte_rml_base.rml_debug = int_value;
opal_output_set_verbosity(orte_rml_base.rml_output, int_value);
/*
* Which RML Wrapper component to use, if any
* - NULL or "" = No wrapper
* - ow. select that specific wrapper component
*/
mca_base_param_reg_string_name("rml", "wrapper",
"Use a Wrapper component around the selected RML component",
false, false,
NULL, &rml_wrapper);
if( NULL != rml_wrapper) {
free(rml_wrapper);
}
/* Open up all available components */
if (ORTE_SUCCESS != (rc = mca_base_components_open("rml",
orte_rml_base.rml_output,
mca_rml_base_static_components,
&orte_rml_base.rml_components,
true)) ) {
return rc;
}
return ORTE_SUCCESS;
}