Data type to define the communicator
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
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 |
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