36  use, 
intrinsic :: iso_c_binding
 
   45     type(c_ptr) :: gather_event = c_null_ptr
 
   46     type(c_ptr) :: scatter_event = c_null_ptr
 
   47     type(c_ptr) :: gs_stream = c_null_ptr
 
   51     procedure(
gs_gather), pass(this), 
deferred :: gather
 
 
   60       integer, 
intent(in) :: nlocal
 
   61       integer, 
intent(in) :: nshared
 
   62       integer, 
intent(in) :: nlcl_blks
 
   63       integer, 
intent(in) :: nshrd_blks
 
 
   78     subroutine gs_gather(this, v, m, o, dg, u, n, gd, nb, b, op, shrd)
 
   81       integer, 
intent(in) :: m
 
   82       integer, 
intent(in) :: n
 
   83       integer, 
intent(in) :: nb
 
   85       real(kind=
rp), 
dimension(m), 
intent(inout) :: v
 
   86       integer, 
dimension(m), 
intent(inout) :: dg
 
   87       real(kind=
rp), 
dimension(n), 
intent(inout) :: u
 
   88       integer, 
dimension(m), 
intent(inout) :: gd
 
   89       integer, 
dimension(nb), 
intent(inout) :: b
 
   90       integer, 
intent(in) :: o
 
   91       integer, 
intent(in) :: op
 
   92       logical, 
intent(in) :: shrd
 
 
   99     subroutine gs_scatter(this, v, m, dg, u, n, gd, nb, b, shrd, event)
 
  103       integer, 
intent(in) :: m
 
  104       integer, 
intent(in) :: n
 
  105       integer, 
intent(in) :: nb
 
  107       real(kind=
rp), 
dimension(m), 
intent(inout) :: v
 
  108       integer, 
dimension(m), 
intent(inout) :: dg
 
  109       real(kind=
rp), 
dimension(n), 
intent(inout) :: u
 
  110       integer, 
dimension(m), 
intent(inout) :: gd
 
  111       integer, 
dimension(nb), 
intent(inout) :: b
 
  112       logical, 
intent(in) :: shrd
 
 
Abstract interface for deallocating a Gather-Scatter backend.
 
Abstract interface for initialising a Gather-Scatter backend.
 
Abstract interface for the Gather kernel .
 
Abstract interface for the Scatter kernel .
 
Defines a gather-scatter backend.
 
integer, parameter, public gs_bcknd_cpu
 
integer, parameter, public gs_bcknd_sx
 
integer, parameter, public gs_bcknd_dev
 
integer, parameter, public rp
Global precision used in computations.