1
1

first version of coll_hierarch which does not crash the rest of the

library as long as its not selected :-)

This commit was SVN r7707.
Этот коммит содержится в:
Edgar Gabriel 2005-10-11 22:05:24 +00:00
родитель ef51608a81
Коммит 25518b63c5
3 изменённых файлов: 11 добавлений и 14 удалений

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

@ -104,15 +104,12 @@ static const mca_coll_base_module_1_0_0_t intra = {
* Initial query function that is invoked during MPI_INIT, allowing * Initial query function that is invoked during MPI_INIT, allowing
* this module to indicate what level of thread support it provides. * this module to indicate what level of thread support it provides.
*/ */
int mca_coll_hierarch_init_query(bool *allow_hierarch_user_threads, int mca_coll_hierarch_init_query(bool allow_hierarch_user_threads,
bool *have_hidden_user_threads) bool have_hidden_user_threads)
{ {
*allow_hierarch_user_threads = true;
*have_hidden_user_threads = false;
/* All done */ /* Don't ask. All done */
return OMPI_SUCCESS;
return OMPI_SUCCESS;
} }
@ -458,11 +455,11 @@ mca_coll_hierarch_checkfor_component ( struct ompi_communicator_t *comm,
*key=MPI_UNDEFINED; *key=MPI_UNDEFINED;
/* Shall we check the the rdma list instead of send-list in the endpoint-structure? */ /* Shall we check the the rdma list instead of send-list in the endpoint-structure? */
/* if (OMPI_SUCCESS != mca_base_param_lookup_int(mca_coll_hierarch_rdma_param, if (OMPI_SUCCESS != mca_base_param_lookup_int(mca_coll_hierarch_use_rdma_param,
&use_rdma)) { &use_rdma)) {
return; return;
} }
*/
size = ompi_comm_size ( comm ); size = ompi_comm_size ( comm );
rank = ompi_comm_rank ( comm ); rank = ompi_comm_rank ( comm );
@ -473,6 +470,7 @@ mca_coll_hierarch_checkfor_component ( struct ompi_communicator_t *comm,
return; return;
} }
procs = comm->c_local_group->grp_proc_pointers;
rc = mca_bml.bml_add_procs ( rc = mca_bml.bml_add_procs (
size, size,
procs, procs,

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

@ -36,8 +36,7 @@ extern const mca_coll_base_component_1_0_0_t mca_coll_hierarch_component;
extern int mca_coll_hierarch_priority_param; extern int mca_coll_hierarch_priority_param;
extern int mca_coll_hierarch_verbose_param; extern int mca_coll_hierarch_verbose_param;
extern int mca_coll_hierarch_verbose; extern int mca_coll_hierarch_verbose;
extern int mca_coll_hierarch_walk_through_list_param; extern int mca_coll_hierarch_use_rdma_param;
extern int mca_coll_hierarch_use_next_param;
#define HIER_DEFAULT_NUM_LLEAD 5 #define HIER_DEFAULT_NUM_LLEAD 5
@ -251,8 +250,8 @@ struct ompi_communicator_t* mca_coll_hierarch_get_llcomm (int rank, struct mca_
int* lrank); int* lrank);
int mca_coll_hierarch_init_query(bool *allow_hierarch_user_threads, int mca_coll_hierarch_init_query(bool allow_hierarch_user_threads,
bool *have_hidden_threads); bool have_hidden_threads);
const struct mca_coll_base_module_1_0_0_t * const struct mca_coll_base_module_1_0_0_t *
mca_coll_hierarch_comm_query(struct ompi_communicator_t *comm, mca_coll_hierarch_comm_query(struct ompi_communicator_t *comm,
int *priority, struct mca_coll_base_comm_t **data); int *priority, struct mca_coll_base_comm_t **data);

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

@ -98,7 +98,7 @@ static int hierarch_open(void)
mca_coll_hierarch_verbose_param = mca_coll_hierarch_verbose_param =
mca_base_param_register_int("coll", "hierarch", "verbose", NULL, mca_base_param_register_int("coll", "hierarch", "verbose", NULL,
mca_coll_hierarch_verbose); mca_coll_hierarch_verbose);
mca_coll_hierarch_use_next_param = mca_coll_hierarch_use_rdma_param =
mca_base_param_register_int("coll", "hierarch", "use_rdma", NULL, 0); mca_base_param_register_int("coll", "hierarch", "use_rdma", NULL, 0);
return OMPI_SUCCESS; return OMPI_SUCCESS;