| 
    Neko 1.99.1
    
   A portable framework for high-order spectral element flow simulations 
   | 
 
Gather-scatter backend for offloading devices. More...


Public Member Functions | |
| procedure, pass(this) | init (this, nlocal, nshared, nlcl_blks, nshrd_blks) | 
| Accelerator backend initialisation.   | |
| procedure, pass(this) | free (this) | 
| Dummy backend deallocation.   | |
| procedure, pass(this) | gather (this, v, m, o, dg, u, n, gd, nb, b, op, shrd) | 
| Gather kernel.   | |
| procedure, pass(this) | scatter (this, v, m, dg, u, n, gd, nb, b, shrd, event) | 
| Scatter kernel.   | |
| procedure(gs_backend_init), deferred, pass | init (this, nlocal, nshared, nlcl_blks, nshrd_blks) | 
| procedure(gs_backend_free), deferred, pass | free (this) | 
| procedure(gs_gather), deferred, pass | gather (this, v, m, o, dg, u, n, gd, nb, b, op, shrd) | 
| procedure(gs_scatter), deferred, pass | scatter (this, v, m, dg, u, n, gd, nb, b, shrd, event) | 
Public Attributes | |
| integer, dimension(:), allocatable | local_blk_off | 
| Local block offset.   | |
| integer, dimension(:), allocatable | shared_blk_off | 
| Shared block offset.   | |
| type(c_ptr) | local_gs_d = C_NULL_PTR | 
| Dev. ptr local gs-ops.   | |
| type(c_ptr) | local_dof_gs_d = C_NULL_PTR | 
| Dev. ptr local dof to gs map.   | |
| type(c_ptr) | local_gs_dof_d = C_NULL_PTR | 
| Dev. ptr local gs to dof map.   | |
| type(c_ptr) | shared_gs_d = C_NULL_PTR | 
| Dev. ptr shared gs-ops.   | |
| type(c_ptr) | shared_dof_gs_d = C_NULL_PTR | 
| Dev. ptr shrd dof to gs map.   | |
| type(c_ptr) | shared_gs_dof_d = C_NULL_PTR | 
| Dev. ptr shrd gs to dof map.   | |
| type(c_ptr) | local_blk_len_d = C_NULL_PTR | 
| Dev. ptr local n-f blocks.   | |
| type(c_ptr) | shared_blk_len_d = C_NULL_PTR | 
| Dev. ptr shared n-f blocks.   | |
| type(c_ptr) | local_blk_off_d = C_NULL_PTR | 
| Dev. ptr local blk offset.   | |
| type(c_ptr) | shared_blk_off_d = C_NULL_PTR | 
| Dev. ptr shared blk offset.   | |
| integer | nlocal | 
| integer | nshared | 
| logical | shared_on_host | 
| Shared points are handled on host.   | |
| type(c_ptr) | gather_event = C_NULL_PTR | 
| type(c_ptr) | scatter_event = C_NULL_PTR | 
| type(c_ptr) | gs_stream = C_NULL_PTR | 
Definition at line 48 of file gs_device.F90.
Definition at line 66 of file gs_device.F90.
      
  | 
  pure virtualinherited | 
Definition at line 50 of file gs_bcknd.f90.
| procedure, pass(this) gs_device::gs_device_t::gather | ( | 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 | ||
| ) | 
Definition at line 67 of file gs_device.F90.
      
  | 
  pure virtualinherited | 
Definition at line 51 of file gs_bcknd.f90.
| procedure, pass(this) gs_device::gs_device_t::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 | ||
| ) | 
Definition at line 65 of file gs_device.F90.
      
  | 
  pure virtualinherited | 
Definition at line 49 of file gs_bcknd.f90.
| procedure, pass(this) gs_device::gs_device_t::scatter | ( | 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 | ||
| ) | 
Definition at line 68 of file gs_device.F90.
      
  | 
  pure virtualinherited | 
Definition at line 52 of file gs_bcknd.f90.
      
  | 
  inherited | 
Definition at line 45 of file gs_bcknd.f90.
      
  | 
  inherited | 
Definition at line 47 of file gs_bcknd.f90.
| type(c_ptr) gs_device::gs_device_t::local_blk_len_d = C_NULL_PTR | 
Definition at line 57 of file gs_device.F90.
| integer, dimension(:), allocatable gs_device::gs_device_t::local_blk_off | 
Definition at line 49 of file gs_device.F90.
| type(c_ptr) gs_device::gs_device_t::local_blk_off_d = C_NULL_PTR | 
Definition at line 59 of file gs_device.F90.
| type(c_ptr) gs_device::gs_device_t::local_dof_gs_d = C_NULL_PTR | 
Definition at line 52 of file gs_device.F90.
| type(c_ptr) gs_device::gs_device_t::local_gs_d = C_NULL_PTR | 
Definition at line 51 of file gs_device.F90.
| type(c_ptr) gs_device::gs_device_t::local_gs_dof_d = C_NULL_PTR | 
Definition at line 53 of file gs_device.F90.
| integer gs_device::gs_device_t::nlocal | 
Definition at line 61 of file gs_device.F90.
| integer gs_device::gs_device_t::nshared | 
Definition at line 62 of file gs_device.F90.
      
  | 
  inherited | 
Definition at line 46 of file gs_bcknd.f90.
| type(c_ptr) gs_device::gs_device_t::shared_blk_len_d = C_NULL_PTR | 
Definition at line 58 of file gs_device.F90.
| integer, dimension(:), allocatable gs_device::gs_device_t::shared_blk_off | 
Definition at line 50 of file gs_device.F90.
| type(c_ptr) gs_device::gs_device_t::shared_blk_off_d = C_NULL_PTR | 
Definition at line 60 of file gs_device.F90.
| type(c_ptr) gs_device::gs_device_t::shared_dof_gs_d = C_NULL_PTR | 
Definition at line 55 of file gs_device.F90.
| type(c_ptr) gs_device::gs_device_t::shared_gs_d = C_NULL_PTR | 
Definition at line 54 of file gs_device.F90.
| type(c_ptr) gs_device::gs_device_t::shared_gs_dof_d = C_NULL_PTR | 
Definition at line 56 of file gs_device.F90.
| logical gs_device::gs_device_t::shared_on_host | 
Definition at line 63 of file gs_device.F90.