create_interface Interface

interface
private function create_interface(self, dims, transposed_dims, base_comm, comm_dims, effort, base_dtype, base_storage, is_custom_cart_comm, cart_comm, comms, pencils) result(error_code)

Arguments

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

Transposition class

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

Global sizes of the transform requested

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

Transposed sizes of the transform requested

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

Base MPI communicator

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

Dims in cartesian communicator

type(dtfft_effort_t), intent(in) :: effort

dtFFT planner type of effort

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

Base MPI_Datatype

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

Number of bytes needed to store single element

logical, intent(in) :: is_custom_cart_comm

Custom cartesian communicator provided by user

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

Cartesian communicator

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

Array of 1d communicators

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

Data distributing meta

Return Value integer(kind=int32)

Error code

Description

Creates transposition plans