1
1

mca/base: add priority output to mca_base_select

The mca_base_select function uses returned priorities to select the
best component/module. This priority may be of use to the caller so
pass that information back in an optional argument. If the priority is
not needed pass NULL.

Signed-off-by: Nathan Hjelm <hjelmn@lanl.gov>
Этот коммит содержится в:
Nathan Hjelm 2015-10-19 10:39:35 -06:00
родитель bedd80214e
Коммит 8b5810f7f7
24 изменённых файлов: 87 добавлений и 35 удалений

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

@ -162,7 +162,7 @@ int ompi_crcp_base_select(void)
if( OPAL_SUCCESS != mca_base_select("crcp", ompi_crcp_base_framework.framework_output,
&ompi_crcp_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
return OMPI_ERROR;
}

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
@ -9,6 +10,8 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2006 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -34,7 +37,8 @@ BEGIN_C_DECLS
OMPI_DECLSPEC extern mca_mtl_base_component_t* ompi_mtl_base_selected_component;
OMPI_DECLSPEC int ompi_mtl_base_select(bool enable_progress_threads,
bool enable_mpi_threads);
bool enable_mpi_threads,
int *priority);
OMPI_DECLSPEC extern mca_base_framework_t ompi_mtl_base_framework;

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
@ -54,6 +55,7 @@ ompi_mtl_base_select(bool enable_progress_threads,
int ret = OMPI_ERR_NOT_FOUND;
mca_mtl_base_component_t *best_component = NULL;
mca_mtl_base_module_t *best_module = NULL;
int best_priority;
/*
* Select the best component
@ -61,7 +63,8 @@ ompi_mtl_base_select(bool enable_progress_threads,
if( OPAL_SUCCESS != mca_base_select("mtl", ompi_mtl_base_framework.framework_output,
&ompi_mtl_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component,
&best_priority) ) {
/* notify caller that no available component found */
return ret;
}

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

@ -134,7 +134,8 @@ OPAL_DECLSPEC int mca_base_close(void);
OPAL_DECLSPEC int mca_base_select(const char *type_name, int output_id,
opal_list_t *components_available,
mca_base_module_t **best_module,
mca_base_component_t **best_component);
mca_base_component_t **best_component,
int *priority_out);
/**
* A function for component query functions to discover if they have

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
* University Research and Technology
@ -33,7 +34,8 @@
int mca_base_select(const char *type_name, int output_id,
opal_list_t *components_available,
mca_base_module_t **best_module,
mca_base_component_t **best_component)
mca_base_component_t **best_component,
int *priority_out)
{
mca_base_component_list_item_t *cli = NULL;
mca_base_component_t *component = NULL;
@ -108,6 +110,9 @@ int mca_base_select(const char *type_name, int output_id,
}
}
if (priority_out) {
*priority_out = best_priority;
}
/*
* Finished querying all components.

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

@ -1,9 +1,12 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2010 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
*
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -43,7 +46,7 @@ int opal_compress_base_select(void)
if( OPAL_SUCCESS != mca_base_select("compress", opal_compress_base_framework.framework_output,
&opal_compress_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
exit_status = OPAL_ERROR;
goto cleanup;

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

@ -58,7 +58,7 @@ int opal_crs_base_select(void)
if( OPAL_SUCCESS != mca_base_select("crs", opal_crs_base_framework.framework_output,
&opal_crs_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
return OPAL_ERROR;
}

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

@ -1,9 +1,12 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2010 The Trustees of Indiana University.
* All rights reserved.
*
* Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
*
* Additional copyrights may follow
*
@ -37,7 +40,7 @@ int opal_dl_base_select(void)
opal_dl_base_framework.framework_output,
&opal_dl_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
exit_status = OPAL_ERROR;
goto cleanup;

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

@ -1,8 +1,11 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2007 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2008 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -40,7 +43,7 @@ int opal_memchecker_base_select(void)
if( OPAL_SUCCESS != mca_base_select("memchecker", opal_memchecker_base_framework.framework_output,
&opal_memchecker_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
exit_status = OPAL_ERR_NOT_FOUND;
goto cleanup;

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

@ -1,5 +1,8 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -31,7 +34,7 @@ int opal_pmix_base_select(void)
if( OPAL_SUCCESS != mca_base_select("pmix", opal_pmix_base_framework.framework_output,
&opal_pmix_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* notify caller that no available component found */
return OPAL_ERR_NOT_FOUND;
}

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
* University Research and Technology
@ -10,6 +11,8 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -42,7 +45,7 @@ int opal_pstat_base_select(void)
if( OPAL_SUCCESS != mca_base_select("pstat", opal_pstat_base_framework.framework_output,
&opal_pstat_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* It is okay if we don't find a runnable component - default
* to the unsupported default.
*/

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

@ -1,5 +1,8 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2014 Intel, Inc. All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -32,7 +35,7 @@ int opal_reachable_base_select(void)
if( OPAL_SUCCESS != mca_base_select("reachable", opal_reachable_base_framework.framework_output,
&opal_reachable_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* notify caller that no available component found */
return OPAL_ERR_NOT_FOUND;
}

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

@ -1,5 +1,7 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2012 Los Alamos National Security, Inc. All rights reserved.
* Copyright (c) 2012-2015 Los Alamos National Security, Inc. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -31,7 +33,7 @@ int orte_dfs_base_select(void)
if (OPAL_SUCCESS != mca_base_select("dfs", orte_dfs_base_framework.framework_output,
&orte_dfs_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component)) {
(mca_base_component_t **) &best_component, NULL)) {
/* This will only happen if no component was selected, which
* is okay - we don't have to select anything
*/

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana
* University Research and Technology
@ -10,7 +11,8 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2010 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
* Copyright (c) 2012-2015 Los Alamos National Security, Inc. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -43,7 +45,7 @@ int orte_errmgr_base_select(void)
if( OPAL_SUCCESS != mca_base_select("errmgr", orte_errmgr_base_framework.framework_output,
&orte_errmgr_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
exit_status = ORTE_ERROR;
goto cleanup;

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
* University Research and Technology
@ -10,7 +11,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved.
* Copyright (c) 2013-2015 Los Alamos National Security, LLC. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -39,7 +40,7 @@ orte_ess_base_select(void)
if( OPAL_SUCCESS != mca_base_select("ess", orte_ess_base_framework.framework_output,
&orte_ess_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* error message emitted by fn above */
return ORTE_ERR_SILENT;
}

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2008 The Trustees of Indiana University.
* All rights reserved.
@ -7,7 +8,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2012 Los Alamos National Security, LLC.
* Copyright (c) 2012-2015 Los Alamos National Security, LLC.
* All rights reserved
* $COPYRIGHT$
*
@ -42,7 +43,7 @@ int orte_filem_base_select(void)
if( OPAL_SUCCESS != mca_base_select("filem", orte_filem_base_framework.framework_output,
&orte_filem_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* It is okay to not select anything - we'll just retain
* the default none module
*/

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
@ -9,6 +10,8 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -45,7 +48,7 @@ int orte_iof_base_select(void)
if( OPAL_SUCCESS != mca_base_select("iof", orte_iof_base_framework.framework_output,
&orte_iof_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* it is okay to not find a module if we are a CM process */
if (ORTE_PROC_IS_CM) {
return ORTE_SUCCESS;

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
* University Research and Technology
@ -9,6 +10,8 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -42,7 +45,7 @@ int orte_odls_base_select(void)
if( OPAL_SUCCESS != mca_base_select("odls", orte_odls_base_framework.framework_output,
&orte_odls_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
return ORTE_ERR_NOT_FOUND;
}

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
* University Research and Technology
@ -9,9 +10,9 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* Copyright (c) 2011-2015 Los Alamos National Security, LLC.
* All rights reserved.
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -49,7 +50,7 @@ int orte_plm_base_select(void)
if (OPAL_SUCCESS == (rc = mca_base_select("plm", orte_plm_base_framework.framework_output,
&orte_plm_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component))) {
(mca_base_component_t **) &best_component, NULL))) {
/* Save the winner */
orte_plm = *best_module;
}

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
* University Research and Technology
@ -9,7 +10,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2011-2013 Los Alamos National Security, LLC. All rights
* Copyright (c) 2011-2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
@ -45,7 +46,7 @@ int orte_ras_base_select(void)
if( OPAL_SUCCESS != mca_base_select("ras", orte_ras_base_framework.framework_output,
&orte_ras_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
/* If we didn't find one to select, that is okay */
return ORTE_SUCCESS;

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

@ -1,6 +1,7 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2007-2013 Los Alamos National Security, LLC.
* All rights reserved.
* Copyright (c) 2007-2015 Los Alamos National Security, LLC. All rights
* reserved.
* Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
* Copyright (c) 2004-2010 The Trustees of Indiana University.
* All rights reserved.
@ -130,7 +131,7 @@ int orte_routed_base_select(void)
if( OPAL_SUCCESS != mca_base_select("routed", orte_routed_base_framework.framework_output,
&orte_routed_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
exit_status = ORTE_ERR_NOT_FOUND;
goto cleanup;

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

@ -1,3 +1,4 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2004-2010 The Trustees of Indiana University.
* All rights reserved.
@ -7,7 +8,8 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2013 Los Alamos National Security, LLC. All rights reserved.
* Copyright (c) 2013-2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -79,7 +81,7 @@ int orte_snapc_base_select(bool seed, bool app)
if( OPAL_SUCCESS != mca_base_select("snapc", orte_snapc_base_framework.framework_output,
&orte_snapc_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
exit_status = ORTE_ERROR;
goto cleanup;

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

@ -1,6 +1,9 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2010 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -34,7 +37,7 @@ int orte_sstore_base_select(void)
if( OPAL_SUCCESS != mca_base_select("sstore", orte_sstore_base_framework.framework_output,
&orte_sstore_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
exit_status = ORTE_ERROR;
goto cleanup;

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

@ -1,5 +1,6 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2011-2013 Los Alamos National Security, LLC.
* Copyright (c) 2011-2015 Los Alamos National Security, LLC.
* All rights reserved.
* $COPYRIGHT$
*
@ -33,7 +34,7 @@ int orte_state_base_select(void)
if( OPAL_SUCCESS != mca_base_select("state", orte_state_base_framework.framework_output,
&orte_state_base_framework.framework_components,
(mca_base_module_t **) &best_module,
(mca_base_component_t **) &best_component) ) {
(mca_base_component_t **) &best_component, NULL) ) {
/* This will only happen if no component was selected */
exit_status = ORTE_ERROR;
goto cleanup;