no need to create and free the groups. We just want to translate the ranks and we can use the internal group structures right away for that operation. Fixes an issue with groups that have not been freed previously, due to the fact that ompi_group_free was not visible here (I know, this could have been solved also by setting OMPI_DECLSPEC on ompi_group_free, but this solution should be faster.)
This commit was SVN r19362.
Этот коммит содержится в:
родитель
149ecb8d7d
Коммит
ef2bb46e45
@ -502,22 +502,13 @@ struct ompi_communicator_t* mca_coll_hierarch_get_llcomm (int root,
|
||||
*llroot = MPI_UNDEFINED;
|
||||
|
||||
if ( MPI_COMM_NULL != llcomm ) {
|
||||
rc = ompi_comm_group ( hierarch_module->hier_comm, &group);
|
||||
if ( OMPI_SUCCESS != rc ) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
rc = ompi_comm_group ( llcomm, &llgroup);
|
||||
if ( OMPI_SUCCESS != rc ) {
|
||||
return NULL;
|
||||
}
|
||||
group = hierarch_module->hier_comm->c_local_group;
|
||||
llgroup = llcomm->c_local_group;
|
||||
|
||||
rc = ompi_group_translate_ranks ( group, 1, &root, llgroup, llroot);
|
||||
if ( OMPI_SUCCESS != rc ) {
|
||||
return NULL;
|
||||
}
|
||||
/*ompi_group_free (&llgroup);
|
||||
ompi_group_free (&group); */
|
||||
}
|
||||
|
||||
return llcomm;
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user