tem_communication_type Derived Type

type, public :: tem_communication_type

Description of communication data


Components

Type Visibility Attributes Name Initial
integer, public :: nProcs = 0
integer, public, allocatable :: proc(:)

partition MPI rank

integer, public, allocatable :: nElemsProc(:)

How many data elements need to be exchanged with proc (per process).

integer, public, allocatable :: rqHandle(:)

Request handle array

type(grw_intarray_type), public, allocatable :: elemPos(:)

Data element positions in the actual arrays, used to built the pos information in the actual buffers (per process).

type(tem_longbuffer_type), public, allocatable :: buf_long(:)

declare communication buffers for each variable type

type(tem_intbuffer_type), public, allocatable :: buf_int(:)
type(tem_realbuffer_type), public, allocatable :: buf_real(:)

Source Code

  type tem_communication_type

    integer :: nProcs=0     !< amount of partitions to send to

    !> partition MPI rank
    integer,allocatable :: proc(:)

    !> How many data elements need to be exchanged with proc (per process).
    integer,allocatable :: nElemsProc(:)

    !> Request handle array
    integer,allocatable :: rqHandle(:)

    !> Data element positions in the actual arrays, used to built the pos
    !! information in the actual buffers (per process).
    type(grw_intArray_type), allocatable :: elemPos(:)

    !> declare communication buffers for each variable type

    type( tem_longbuffer_type ), allocatable :: buf_long(:)
    type( tem_intbuffer_type ), allocatable :: buf_int(:)
    type( tem_realbuffer_type ), allocatable :: buf_real(:)
  end type tem_communication_type