RDMAReference Derived Type

type, public, extends(AbstractDataReference) :: RDMAReference


Inherits

type~~rdmareference~~InheritsGraph type~rdmareference RDMAReference type~abstractdatareference AbstractDataReference type~rdmareference->type~abstractdatareference c_ptr c_ptr type~abstractdatareference->c_ptr base_address

Components

Type Visibility Attributes Name Initial
integer(kind=INT64), public :: msize_word
integer, public :: comm
integer, public :: mem_rank
integer, public, allocatable :: shape(:)
integer, public :: type_kind
integer, public :: win
logical, public :: RDMA_allocated = .false.
type(c_ptr), public :: base_address = C_NULL_PTR

Constructor

public interface RDMAReference

  • private function new_RDMAReference(type_kind, msize_word, comm, rank, rc) result(reference)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: type_kind
    integer(kind=INT64), intent(in) :: msize_word
    integer, intent(in) :: comm
    integer, intent(in) :: rank
    integer, intent(out), optional :: rc

    Return Value type(RDMAReference)


Type-Bound Procedures

procedure, public :: allocate

  • private subroutine allocate(this, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(RDMAReference), intent(inout) :: this
    integer, intent(out), optional :: rc

procedure, public :: convert_addr

  • private function convert_addr(this) result(long)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractDataReference), intent(in), target :: this

    Return Value integer(kind=INT64)

procedure, public :: copy_data_to

  • private subroutine copy_data_to(this, to, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractDataReference), intent(in) :: this
    class(AbstractDataReference), intent(inout) :: to
    integer, intent(out), optional :: rc

procedure, public :: deallocate

  • private subroutine deallocate(this, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(RDMAReference), intent(inout) :: this
    integer, intent(out), optional :: rc

procedure, public :: deserialize

  • private subroutine deserialize(this, buffer, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(RDMAReference), intent(inout) :: this
    integer, intent(in) :: buffer(:)
    integer, intent(out), optional :: rc

procedure, public :: deserialize_base

  • private subroutine deserialize_base(this, buffer, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractDataReference), intent(inout) :: this
    integer, intent(in) :: buffer(:)
    integer, intent(out), optional :: rc

procedure, public :: equal

procedure, public :: fence

  • private subroutine fence(this, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(RDMAReference), intent(inout) :: this
    integer, intent(out), optional :: rc

procedure, public :: fetch_data

  • private subroutine fetch_data(this, offset_address, global_shape, offset_start, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractDataReference), intent(in), target :: this
    type(c_ptr), intent(in) :: offset_address
    integer, intent(in) :: global_shape(:)
    integer, intent(in), optional :: offset_start(:)
    integer, intent(out), optional :: rc

procedure, public :: get_length

  • private function get_length(this) result(length)

    Arguments

    Type IntentOptional Attributes Name
    class(RDMAReference), intent(in) :: this

    Return Value integer

procedure, public :: get_length_base

  • private function get_length_base(this) result(length)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractDataReference), intent(in) :: this

    Return Value integer

generic, public :: operator(==) => equal

procedure, public :: serialize

  • private subroutine serialize(this, buffer, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(RDMAReference), intent(in) :: this
    integer, allocatable :: buffer(:)
    integer, intent(out), optional :: rc

procedure, public :: serialize_base

  • private subroutine serialize_base(this, buffer, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractDataReference), intent(in) :: this
    integer, allocatable :: buffer(:)
    integer, intent(out), optional :: rc

Source Code

   type,extends(AbstractDataReference) :: RDMAReference
      integer :: win
      integer :: comm
      integer :: mem_rank
      integer(kind=INT64) :: msize_word
      logical :: RDMA_allocated = .false.
   contains
      procedure :: get_length
      procedure :: serialize
      procedure :: deserialize
      procedure :: allocate
      procedure :: deallocate
      procedure :: fence
   end type RDMAReference