pf_comm_t Derived Type

type, public :: pf_comm_t

Data type to define the communicator


Inherits

type~~pf_comm_t~~InheritsGraph type~pf_comm_t pf_comm_t c_ptr c_ptr type~pf_comm_t->c_ptr pfs, pfpth

Inherited by

type~~pf_comm_t~~InheritedByGraph type~pf_comm_t pf_comm_t type~pf_pfasst_t pf_pfasst_t type~pf_pfasst_t->type~pf_comm_t comm

Contents

Source Code


Components

TypeVisibility AttributesNameInitial
integer, public :: nproc =-1
integer, public :: comm =-1
integer, public, pointer:: recvreq(:)
integer, public, pointer:: sendreq(:)
integer, public :: statreq
type(c_ptr), public, pointer:: pfs(:)
type(c_ptr), public, pointer:: pfpth(:,:)
procedure(pf_post_p), public, pointer, nopass:: post

Procedure interfaces

procedure(pf_recv_p), public, pointer, nopass:: recv
procedure(pf_recv_status_p), public, pointer, nopass:: recv_status
procedure(pf_send_p), public, pointer, nopass:: send
procedure(pf_send_status_p), public, pointer, nopass:: send_status
procedure(pf_wait_p), public, pointer, nopass:: wait
procedure(pf_broadcast_p), public, pointer, nopass:: broadcast

Source Code

  type :: pf_comm_t
     integer :: nproc = -1              ! total number of processors

     integer :: comm = -1               ! communicator
     integer, pointer :: &
          recvreq(:), &                 ! receive requests (indexed by level)
          sendreq(:)                    ! send requests (indexed by level)
     integer :: statreq                 ! status send request

     ! fakie, needs modernization
     type(c_ptr), pointer :: pfs(:)     ! pfasst objects (indexed by rank)
     type(c_ptr), pointer :: pfpth(:,:)

     !> Procedure interfaces
     procedure(pf_post_p),        pointer, nopass :: post
     procedure(pf_recv_p),        pointer, nopass :: recv
     procedure(pf_recv_status_p), pointer, nopass :: recv_status
     procedure(pf_send_p),        pointer, nopass :: send
     procedure(pf_send_status_p), pointer, nopass :: send_status
     procedure(pf_wait_p),        pointer, nopass :: wait
     procedure(pf_broadcast_p),   pointer, nopass :: broadcast
  end type pf_comm_t