| 
| subroutine  | gs_cpu::gs_cpu_init (this, nlocal, nshared, nlcl_blks, nshrd_blks) | 
|   | Dummy backend initialisation.  
  | 
|   | 
| subroutine  | gs_cpu::gs_cpu_free (this) | 
|   | Dummy backend deallocation.  
  | 
|   | 
| subroutine  | gs_cpu::gs_gather_cpu (this, v, m, o, dg, u, n, gd, nb, b, op, shrd) | 
|   | Gather kernel.  
  | 
|   | 
| subroutine  | gs_cpu::gs_gather_kernel_add (v, m, o, dg, u, n, gd, nb, b) | 
|   | Gather kernel for addition of data \( v(dg(i)) = v(dg(i)) + u(gd(i)) \).  
  | 
|   | 
| subroutine  | gs_cpu::gs_gather_kernel_mul (v, m, o, dg, u, n, gd, nb, b) | 
|   | Gather kernel for multiplication of data \( v(dg(i)) = v(dg(i)) \cdot u(gd(i)) \).  
  | 
|   | 
| subroutine  | gs_cpu::gs_gather_kernel_min (v, m, o, dg, u, n, gd, nb, b) | 
|   | Gather kernel for minimum of data \( v(dg(i)) = \min(v(dg(i)), u(gd(i))) \).  
  | 
|   | 
| subroutine  | gs_cpu::gs_gather_kernel_max (v, m, o, dg, u, n, gd, nb, b) | 
|   | Gather kernel for maximum of data \( v(dg(i)) = \max(v(dg(i)), u(gd(i))) \).  
  | 
|   | 
| subroutine  | gs_cpu::gs_scatter_cpu (this, v, m, dg, u, n, gd, nb, b, shrd, event) | 
|   | Scatter kernel.  
  | 
|   | 
| subroutine  | gs_cpu::gs_scatter_kernel (v, m, dg, u, n, gd, nb, b) | 
|   | Scatter kernel \( u(gd(i) = v(dg(i)) \).  
  | 
|   |