Fix for a problem Brian pointed out with cartesian communicators: in
comm_fill_rest there is no need for calling ompi_set_group_rank, since we know already the rank of the process in the new comm. In case the process was not part of the new communicator (rank = MPI_UNDEFINED) calling this function caused a segfault on some platforms. This commit was SVN r8060.
Этот коммит содержится в:
родитель
586a9be557
Коммит
b3d3552900
@ -1361,9 +1361,8 @@ static int ompi_comm_fill_rest (ompi_communicator_t *comm,
|
||||
ompi_group_increment_proc_count(comm->c_local_group);
|
||||
|
||||
/* set the rank information */
|
||||
ompi_set_group_rank(comm->c_local_group,
|
||||
comm->c_local_group->grp_proc_pointers[my_rank]);
|
||||
comm->c_my_rank = comm->c_local_group->grp_my_rank;
|
||||
comm->c_local_group->grp_my_rank = my_rank;
|
||||
comm->c_my_rank = my_rank;
|
||||
|
||||
/* verify whether to set the flag, that this comm
|
||||
contains process from more than one jobid. */
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user