Gather-scatter backend for offloading devices.  
 More...
 | 
| 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) | 
|   | 
Definition at line 47 of file gs_device.F90.
 
◆ free() [1/2]
◆ free() [2/2]
◆ gather() [1/2]
      
        
          | 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  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ gather() [2/2]
  
  
      
        
          | procedure(gs_gather), deferred, pass gs_bcknd::gs_bcknd_t::gather  | 
          ( | 
          class(gs_bcknd_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  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
pure virtualinherited   | 
  
 
 
◆ init() [1/2]
      
        
          | 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  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ init() [2/2]
  
  
      
        
          | procedure(gs_backend_init), deferred, pass gs_bcknd::gs_bcknd_t::init  | 
          ( | 
          class(gs_bcknd_t), intent(inout)  | 
          this,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          nlocal,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          nshared,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          nlcl_blks,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          nshrd_blks  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
pure virtualinherited   | 
  
 
 
◆ scatter() [1/2]
      
        
          | 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  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ scatter() [2/2]
  
  
      
        
          | procedure(gs_scatter), deferred, pass gs_bcknd::gs_bcknd_t::scatter  | 
          ( | 
          class(gs_bcknd_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  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
pure virtualinherited   | 
  
 
 
◆ gather_event
  
  
      
        
          | type(c_ptr) gs_bcknd::gs_bcknd_t::gather_event = C_NULL_PTR | 
         
       
   | 
  
inherited   | 
  
 
 
◆ gs_stream
  
  
      
        
          | type(c_ptr) gs_bcknd::gs_bcknd_t::gs_stream = C_NULL_PTR | 
         
       
   | 
  
inherited   | 
  
 
 
◆ local_blk_len_d
      
        
          | type(c_ptr) gs_device::gs_device_t::local_blk_len_d = C_NULL_PTR | 
        
      
 
 
◆ local_blk_off
◆ local_blk_off_d
      
        
          | type(c_ptr) gs_device::gs_device_t::local_blk_off_d = C_NULL_PTR | 
        
      
 
 
◆ local_dof_gs_d
      
        
          | type(c_ptr) gs_device::gs_device_t::local_dof_gs_d = C_NULL_PTR | 
        
      
 
 
◆ local_gs_d
      
        
          | type(c_ptr) gs_device::gs_device_t::local_gs_d = C_NULL_PTR | 
        
      
 
 
◆ local_gs_dof_d
      
        
          | type(c_ptr) gs_device::gs_device_t::local_gs_dof_d = C_NULL_PTR | 
        
      
 
 
◆ nlocal
      
        
          | integer gs_device::gs_device_t::nlocal | 
        
      
 
 
◆ nshared
      
        
          | integer gs_device::gs_device_t::nshared | 
        
      
 
 
◆ scatter_event
  
  
      
        
          | type(c_ptr) gs_bcknd::gs_bcknd_t::scatter_event = C_NULL_PTR | 
         
       
   | 
  
inherited   | 
  
 
 
◆ shared_blk_len_d
      
        
          | type(c_ptr) gs_device::gs_device_t::shared_blk_len_d = C_NULL_PTR | 
        
      
 
 
◆ shared_blk_off
◆ shared_blk_off_d
      
        
          | type(c_ptr) gs_device::gs_device_t::shared_blk_off_d = C_NULL_PTR | 
        
      
 
 
◆ shared_dof_gs_d
      
        
          | type(c_ptr) gs_device::gs_device_t::shared_dof_gs_d = C_NULL_PTR | 
        
      
 
 
◆ shared_gs_d
      
        
          | type(c_ptr) gs_device::gs_device_t::shared_gs_d = C_NULL_PTR | 
        
      
 
 
◆ shared_gs_dof_d
      
        
          | type(c_ptr) gs_device::gs_device_t::shared_gs_dof_d = C_NULL_PTR | 
        
      
 
 
◆ shared_on_host
      
        
          | logical gs_device::gs_device_t::shared_on_host | 
        
      
 
 
The documentation for this type was generated from the following file: