mpi_backend_helper Derived Type

type, private :: mpi_backend_helper

MPI Helper


Inherits

type~~mpi_backend_helper~~InheritsGraph type~mpi_backend_helper mpi_backend_helper MPI_Request MPI_Request type~mpi_backend_helper->MPI_Request requests

Inherited by

type~~mpi_backend_helper~~InheritedByGraph type~mpi_backend_helper mpi_backend_helper type~backend_mpi backend_mpi type~backend_mpi->type~mpi_backend_helper send, recv

Components

Type Visibility Attributes Name Initial
integer(kind=CNT_KIND), public, allocatable :: counts(:)

Counts of data to send or recv

integer(kind=ADDR_KIND), public, allocatable :: displs(:)

Displacements of data to send or recv

type(MPI_Request), public, allocatable :: requests(:)

MPI Requests

integer(kind=int32), public :: n_requests

Number of requests

logical, public :: is_request_created = .false.

Request created flag. Used for persistent functions


Type-Bound Procedures

procedure, public, pass(self) :: create => create_helper

Creates MPI helper

  • private subroutine create_helper(self, counts, displs, max_requests)

    Creates MPI helper

    Arguments

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

    MPI Helper

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

    Counts of data to send or recv

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

    Displacements of data to send or recv

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

    Maximum number of requests required

procedure, public, pass(self) :: destroy => destoy_helper

Destroys MPI helper

  • private subroutine destoy_helper(self)

    Destroys MPI helper

    Arguments

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

    MPI Helper