create_custom_comm Subroutine

private subroutine create_custom_comm(old_comm, new_size, group_type, new_comm)

Creates custom MPI communicator by splitting processes into groups

This subroutine divides processes from an existing communicator into groups based on the specified group type: neighbor groups or strided groups.

Arguments

Type IntentOptional Attributes Name
type(MPI_Comm), intent(in) :: old_comm

Original MPI communicator to split

integer(kind=int32), intent(in) :: new_size

Size of each group in the new communicator

integer(kind=int32), intent(in) :: group_type

Type of grouping: NEIGHBOR_GROUP (consecutive ranks) or STRIDED_GROUP (interleaved ranks)

type(MPI_Comm), intent(out) :: new_comm

Newly created MPI communicator


Calls

proc~~create_custom_comm~~CallsGraph proc~create_custom_comm create_custom_comm mpi_comm_rank mpi_comm_rank proc~create_custom_comm->mpi_comm_rank mpi_comm_size mpi_comm_size proc~create_custom_comm->mpi_comm_size mpi_comm_split mpi_comm_split proc~create_custom_comm->mpi_comm_split

Called by

proc~~create_custom_comm~~CalledByGraph proc~create_custom_comm create_custom_comm proc~create~9 reshape_plan%create proc~create~9->proc~create_custom_comm