Generic Gather-scatter backend for accelerators.  
 | 
| subroutine  | gs_device_init (this, nlocal, nshared, nlcl_blks, nshrd_blks) | 
|   | Accelerator backend initialisation.  
  | 
|   | 
| subroutine  | gs_device_free (this) | 
|   | Dummy backend deallocation.  
  | 
|   | 
| subroutine  | gs_gather_device (this, v, m, o, dg, u, n, gd, nb, b, op, shrd) | 
|   | Gather kernel.  
  | 
|   | 
| subroutine  | gs_scatter_device (this, v, m, dg, u, n, gd, nb, b, shrd, event) | 
|   | Scatter kernel.  
  | 
|   | 
◆ gs_device_free()
◆ gs_device_init()
◆ 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   | 
  
 
 
◆ 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   |