create_transpose_ZX Subroutine

private subroutine create_transpose_ZX(self, n_neighbors, i, send, send_counts, recv, recv_counts, datatype_id, base_type, base_storage)

Creates three-dimensional Z –> X transposition datatypes Can only be used with 3D slab decomposition when slabs are distributed in Z direction

Type Bound

transpose_handle_host

Arguments

Type IntentOptional Attributes Name
class(transpose_handle_host), intent(inout) :: self

Transposition class

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

Size of 1d comm

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

Counter

class(pencil), intent(in) :: send

Information about send buffer

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

Rank i is sending this counts

class(pencil), intent(in) :: recv

Information about send buffer

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

Rank i is recieving this counts

integer(kind=int8), intent(in) :: datatype_id

Id of transpose plan to use

type(MPI_Datatype), intent(in) :: base_type

Base MPI_Datatype

integer(kind=int64), intent(in) :: base_storage

Number of bytes needed to store single element


Calls

proc~~create_transpose_zx~~CallsGraph proc~create_transpose_zx transpose_handle_host%create_transpose_ZX mpi_type_commit mpi_type_commit proc~create_transpose_zx->mpi_type_commit mpi_type_contiguous mpi_type_contiguous proc~create_transpose_zx->mpi_type_contiguous mpi_type_create_hvector mpi_type_create_hvector proc~create_transpose_zx->mpi_type_create_hvector mpi_type_create_resized mpi_type_create_resized proc~create_transpose_zx->mpi_type_create_resized mpi_type_vector mpi_type_vector proc~create_transpose_zx->mpi_type_vector proc~free_datatypes free_datatypes proc~create_transpose_zx->proc~free_datatypes mpi_type_free mpi_type_free proc~free_datatypes->mpi_type_free

Called by

proc~~create_transpose_zx~~CalledByGraph proc~create_transpose_zx transpose_handle_host%create_transpose_ZX proc~create~12 transpose_handle_host%create proc~create~12->proc~create_transpose_zx proc~get_plan_execution_time transpose_plan_host%get_plan_execution_time proc~get_plan_execution_time->proc~create~12 proc~autotune_grid~2 transpose_plan_host%autotune_grid proc~autotune_grid~2->proc~get_plan_execution_time proc~autotune_mpi_datatypes transpose_plan_host%autotune_mpi_datatypes proc~autotune_grid~2->proc~autotune_mpi_datatypes proc~autotune_transpose_id transpose_plan_host%autotune_transpose_id proc~autotune_transpose_id->proc~get_plan_execution_time proc~autotune_grid_decomposition~2 transpose_plan_host%autotune_grid_decomposition proc~autotune_grid_decomposition~2->proc~autotune_grid~2 proc~autotune_mpi_datatypes->proc~autotune_transpose_id proc~create_private~2 transpose_plan_host%create_private proc~create_private~2->proc~autotune_grid~2 proc~create_private~2->proc~autotune_grid_decomposition~2