coll/ml: do not access group proc pointers directly. use ompi_comm_peer_lookup instead.
Resolves an issue seen with --enable-sparse-groups. cmr=v1.7.5:reviewer=manjugv This commit was SVN r30945.
Этот коммит содержится в:
родитель
554303af08
Коммит
0af741810c
@ -1639,8 +1639,7 @@ static int mca_coll_ml_tree_hierarchy_discovery(mca_coll_ml_module_t *ml_module,
|
|||||||
hierarchy_pairs *pair = NULL;
|
hierarchy_pairs *pair = NULL;
|
||||||
|
|
||||||
mca_sbgp_base_module_t *module = NULL;
|
mca_sbgp_base_module_t *module = NULL;
|
||||||
ompi_proc_t **procs = NULL,
|
ompi_proc_t **copy_procs = NULL,
|
||||||
**copy_procs = NULL,
|
|
||||||
*my_proc = NULL;
|
*my_proc = NULL;
|
||||||
|
|
||||||
const mca_sbgp_base_component_2_0_0_t *sbgp_component = NULL;
|
const mca_sbgp_base_component_2_0_0_t *sbgp_component = NULL;
|
||||||
@ -1695,7 +1694,6 @@ static int mca_coll_ml_tree_hierarchy_discovery(mca_coll_ml_module_t *ml_module,
|
|||||||
/*
|
/*
|
||||||
** obtain list of procs
|
** obtain list of procs
|
||||||
*/
|
*/
|
||||||
procs = ml_module->comm->c_local_group->grp_proc_pointers;
|
|
||||||
/* create private copy for manipulation */
|
/* create private copy for manipulation */
|
||||||
copy_procs = (ompi_proc_t **) calloc(ompi_comm_size(ml_module->comm),
|
copy_procs = (ompi_proc_t **) calloc(ompi_comm_size(ml_module->comm),
|
||||||
sizeof(ompi_proc_t *));
|
sizeof(ompi_proc_t *));
|
||||||
@ -1706,7 +1704,7 @@ static int mca_coll_ml_tree_hierarchy_discovery(mca_coll_ml_module_t *ml_module,
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < ompi_comm_size(ml_module->comm); i++) {
|
for (i = 0; i < ompi_comm_size(ml_module->comm); i++) {
|
||||||
copy_procs[i] = procs[i];
|
copy_procs[i] = ompi_comm_peer_lookup (ml_module->comm, i);
|
||||||
map_to_comm_ranks[i] = i;
|
map_to_comm_ranks[i] = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user