create_pencils_and_comm Subroutine

public subroutine create_pencils_and_comm(transposed_dims, old_comm, comm_dims, comm, local_comms, pencils, ipencil)

Creates cartesian communicator

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: transposed_dims(:,:)

Global counts in transposed coordinates

type(MPI_Comm), intent(in) :: old_comm

Communicator to create cartesian from

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

Dims in cartesian communicator

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

Cartesian communicator

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

1d communicators in cartesian communicator

type(pencil), intent(out) :: pencils(:)

Data distributing meta

type(pencil_init), intent(in), optional :: ipencil

Calls

proc~~create_pencils_and_comm~~CallsGraph proc~create_pencils_and_comm create_pencils_and_comm lcounts lcounts proc~create_pencils_and_comm->lcounts lstarts lstarts proc~create_pencils_and_comm->lstarts proc~create pencil%create proc~create_pencils_and_comm->proc~create proc~create_cart_comm create_cart_comm proc~create_pencils_and_comm->proc~create_cart_comm proc~check_if_even check_if_even proc~create->proc~check_if_even proc~destroy pencil%destroy proc~create->proc~destroy proc~get_local_size get_local_size proc~create->proc~get_local_size mpi_cart_create mpi_cart_create proc~create_cart_comm->mpi_cart_create mpi_cart_sub mpi_cart_sub proc~create_cart_comm->mpi_cart_sub mpi_comm_dup mpi_comm_dup proc~create_cart_comm->mpi_comm_dup mpi_allgather mpi_allgather proc~check_if_even->mpi_allgather mpi_comm_size mpi_comm_size proc~check_if_even->mpi_comm_size proc~get_local_size->mpi_allgather mpi_comm_rank mpi_comm_rank proc~get_local_size->mpi_comm_rank proc~get_local_size->mpi_comm_size

Called by

proc~~create_pencils_and_comm~~CalledByGraph proc~create_pencils_and_comm create_pencils_and_comm proc~autotune_grid transpose_plan_host%autotune_grid proc~autotune_grid->proc~create_pencils_and_comm proc~autotune_grid~2 autotune_grid proc~autotune_grid~2->proc~create_pencils_and_comm proc~create_cuda transpose_plan_cuda%create_cuda proc~create_cuda->proc~create_pencils_and_comm proc~autotune_grid_decomposition~2 autotune_grid_decomposition proc~create_cuda->proc~autotune_grid_decomposition~2 proc~create_private transpose_plan_host%create_private proc~create_private->proc~create_pencils_and_comm proc~create_private->proc~autotune_grid proc~autotune_grid_decomposition transpose_plan_host%autotune_grid_decomposition proc~create_private->proc~autotune_grid_decomposition proc~autotune_grid_decomposition->proc~autotune_grid proc~autotune_grid_decomposition~2->proc~autotune_grid~2