Neko  0.8.1
A portable framework for high-order spectral element flow simulations
gs_device Module Reference

Generic Gather-scatter backend for accelerators. More...

Data Types

type  gs_device_t
 Gather-scatter backend for offloading devices. More...
 
interface  hip_gather_kernel
 
interface  hip_scatter_kernel
 

Functions/Subroutines

subroutine gs_device_init (this, nlocal, nshared, nlcl_blks, nshrd_blks)
 Accelerator backend initialisation. More...
 
subroutine gs_device_free (this)
 Dummy backend deallocation. More...
 
subroutine gs_gather_device (this, v, m, o, dg, u, n, gd, nb, b, op, shrd)
 Gather kernel. More...
 
subroutine gs_scatter_device (this, v, m, dg, u, n, gd, nb, b, shrd, event)
 Scatter kernel. More...
 

Detailed Description

Generic Gather-scatter backend for accelerators.

Function/Subroutine Documentation

◆ gs_device_free()

subroutine gs_device::gs_device_free ( class(gs_device_t), intent(inout)  this)
private

Dummy backend deallocation.

Definition at line 172 of file gs_device.F90.

Here is the call graph for this function:

◆ gs_device_init()

subroutine gs_device::gs_device_init ( class(gs_device_t), intent(inout)  this,
integer, intent(in)  nlocal,
integer, intent(in)  nshared,
integer, intent(in)  nlcl_blks,
integer, intent(in)  nshrd_blks 
)
private

Accelerator backend initialisation.

Definition at line 136 of file gs_device.F90.

Here is the call graph for this function:

◆ gs_gather_device()

subroutine gs_device::gs_gather_device ( class(gs_device_t), intent(inout)  this,
real(kind=rp), dimension(m), intent(inout)  v,
integer, intent(in)  m,
integer, intent(in)  o,
integer, dimension(m), intent(inout)  dg,
real(kind=rp), dimension(n), intent(inout)  u,
integer, intent(in)  n,
integer, dimension(m), intent(inout)  gd,
integer, intent(in)  nb,
integer, dimension(nb), intent(inout)  b,
integer, intent(in)  op,
logical, intent(in)  shrd 
)
private

Gather kernel.

Definition at line 229 of file gs_device.F90.

Here is the call graph for this function:

◆ gs_scatter_device()

subroutine gs_device::gs_scatter_device ( class(gs_device_t), intent(inout)  this,
real(kind=rp), dimension(m), intent(inout)  v,
integer, intent(in)  m,
integer, dimension(m), intent(inout)  dg,
real(kind=rp), dimension(n), intent(inout)  u,
integer, intent(in)  n,
integer, dimension(m), intent(inout)  gd,
integer, intent(in)  nb,
integer, dimension(nb), intent(inout)  b,
logical, intent(in)  shrd,
type(c_ptr)  event 
)
private

Scatter kernel.

Definition at line 366 of file gs_device.F90.

Here is the call graph for this function: