1
1
openmpi/ompi/mca/bcol/base/bcol_base_init.c
Pavel Shamis b89f8fabc9 Adding Hierarchical Collectives project to the Open MPI trunk.
The project includes following components and frameworks: 
- ML Collective component
- NETPATTERNS and COMMPATTERNS common components
- BCOL framework
- SBGP framework

Note: By default the ML collective component is disabled. In order to enable
new collectives user should bump up the priority of ml component (coll_ml_priority)

=============================================

Primary Contributors (in alphabetical order):

Ishai Rabinovich (Mellanox)
Joshua S. Ladd (ORNL / Mellanox)
Manjunath Gorentla Venkata (ORNL)
Mike Dubman (Mellanox)
Noam Bloch (Mellanox)
Pavel (Pasha) Shamis (ORNL / Mellanox)
Richard Graham (ORNL / Mellanox)
Vasily Filipov (Mellanox)

This commit was SVN r27078.
2012-08-16 19:11:35 +00:00

47 строки
1.2 KiB
C

/*
* Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved.
* Copyright (c) 2009-2012 Mellanox Technologies. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "ompi_config.h"
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "ompi/mca/bcol/bcol.h"
#include "ompi/mca/bcol/base/base.h"
#include "ompi/include/ompi/constants.h"
int mca_bcol_base_init(bool enable_progress_threads, bool enable_mpi_threads)
{
mca_bcol_base_component_t *bcol_component;
mca_base_component_list_item_t *cli;
opal_list_item_t *item;
int ret;
for (item = opal_list_get_first((opal_list_t *) &mca_bcol_base_components_in_use);
opal_list_get_end((opal_list_t *) &mca_bcol_base_components_in_use) != item;
item = opal_list_get_next(item)) {
cli = (mca_base_component_list_item_t *) item;
bcol_component = (mca_bcol_base_component_t *) cli->cli_component;
if (false == bcol_component->init_done) {
ret = bcol_component->collm_init_query(true, true);
if (OMPI_SUCCESS != ret) {
return ret;
}
bcol_component->init_done = true;
}
}
return OMPI_SUCCESS;
}