abstract_reshape_handle Derived Type

type, public, abstract :: abstract_reshape_handle

Abstract reshape handle type


Inherited by

type~~abstract_reshape_handle~~InheritedByGraph type~abstract_reshape_handle abstract_reshape_handle type~reshape_container reshape_container type~reshape_container->type~abstract_reshape_handle p type~reshape_handle_datatype reshape_handle_datatype type~reshape_handle_datatype->type~abstract_reshape_handle type~reshape_handle_generic reshape_handle_generic type~reshape_handle_generic->type~abstract_reshape_handle type~reshape_plan_base reshape_plan_base type~reshape_plan_base->type~reshape_container plans type~reshape_plan reshape_plan type~reshape_plan->type~reshape_plan_base type~transpose_plan transpose_plan type~transpose_plan->type~reshape_plan_base type~dtfft_plan_t dtfft_plan_t type~dtfft_plan_t->type~reshape_plan rplan type~dtfft_plan_t->type~transpose_plan plan type~dtfft_core_c2c dtfft_core_c2c type~dtfft_core_c2c->type~dtfft_plan_t type~dtfft_plan_r2r_t dtfft_plan_r2r_t type~dtfft_plan_r2r_t->type~dtfft_plan_t type~plan_c plan_c type~plan_c->type~dtfft_plan_t p type~dtfft_plan_c2c_t dtfft_plan_c2c_t type~dtfft_plan_c2c_t->type~dtfft_core_c2c type~dtfft_plan_r2c_t dtfft_plan_r2c_t type~dtfft_plan_r2c_t->type~dtfft_core_c2c

Components

Type Visibility Attributes Name Initial
logical, public :: is_transpose

Is this a transpose operation


Type-Bound Procedures

procedure, public, non_overridable, pass(self) :: create

Creates reshape handle

  • private subroutine create(self, send, recv, kwargs)

    Creates reshape handle

    Arguments

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

    Abstract reshape handle

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

    Send pencil

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

    Recv pencil

    type(create_args), intent(inout) :: kwargs

    Additional arguments

procedure, public, pass(self) :: get_aux_bytes

Returns number of bytes required by aux buffer

  • private pure function get_aux_bytes(self)

    Returns number of bytes required by aux buffer

    Arguments

    Type IntentOptional Attributes Name
    class(abstract_reshape_handle), intent(in) :: self

    Abstract reshape Handle

    Return Value integer(kind=int64)

procedure(create_interface), public, deferred :: create_private

Creates reshape handle

  • subroutine create_interface(self, comm, send, recv, kwargs) Prototype

    Creates reshape handle

    Arguments

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

    Abstract reshape handle

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

    MPI Communicator

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

    Send pencil

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

    Recv pencil

    type(create_args), intent(in) :: kwargs

    Additional arguments

procedure(execute_interface), public, deferred :: execute

Executes reshape handle

  • subroutine execute_interface(self, in, out, kwargs, error_code) Prototype

    Executes reshape handle

    Arguments

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

    Abstract reshape Handle

    real(kind=real32), intent(inout) :: in(:)

    Send pointer

    real(kind=real32), intent(inout) :: out(:)

    Recv pointer

    type(execute_args), intent(inout) :: kwargs

    Additional arguments

    integer(kind=int32), intent(out) :: error_code

    Error code

procedure(execute_end_interface), public, deferred :: execute_end

Finishes async reshape

  • subroutine execute_end_interface(self, kwargs, error_code) Prototype

    Finishes async reshape

    Arguments

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

    Abstract reshape Handle

    type(execute_args), intent(inout) :: kwargs

    Additional arguments

    integer(kind=int32), intent(out) :: error_code

    Error code

procedure(destroy_interface), public, deferred :: destroy

Destroys reshape handle

  • subroutine destroy_interface(self) Prototype

    Destroys reshape handle

    Arguments

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

    Abstract reshape Handle

procedure(get_async_active_interface), public, deferred :: get_async_active

Returns if async reshape is active

  • elemental function get_async_active_interface(self) Prototype

    Returns if async reshape is active

    Arguments

    Type IntentOptional Attributes Name
    class(abstract_reshape_handle), intent(in) :: self

    Abstract reshape Handle

    Return Value logical