Defines GPU aware MPI gather-scatter communication.  
 | 
| subroutine  | gs_device_shmem_buf_init (this, pe_order, dof_stack, mark_dupes) | 
|   | 
| subroutine  | gs_device_shmem_buf_free (this) | 
|   | 
| subroutine  | gs_device_shmem_init (this, send_pe, recv_pe) | 
|   | Initialise MPI based communication method.  
  | 
|   | 
| subroutine  | gs_device_shmem_free (this) | 
|   | Deallocate MPI based communication method.  
  | 
|   | 
| subroutine  | gs_device_shmem_nbsend (this, u, n, deps, strm) | 
|   | Post non-blocking send operations.  
  | 
|   | 
| subroutine  | gs_device_shmem_nbrecv (this) | 
|   | Post non-blocking receive operations.  
  | 
|   | 
| subroutine  | gs_device_shmem_nbwait (this, u, n, op, strm) | 
|   | Wait for non-blocking operations.  
  | 
|   | 
◆ gs_device_shmem_buf_free()
◆ gs_device_shmem_buf_init()
      
        
          | subroutine gs_device_shmem::gs_device_shmem_buf_init  | 
          ( | 
          class(gs_device_shmem_buf_t), intent(inout)  | 
          this,  | 
        
        
           | 
           | 
          integer, dimension(:), intent(inout), allocatable  | 
          pe_order,  | 
        
        
           | 
           | 
          type(stack_i4_t), dimension(:), intent(inout), allocatable  | 
          dof_stack,  | 
        
        
           | 
           | 
          logical, intent(in)  | 
          mark_dupes  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ gs_device_shmem_free()
◆ gs_device_shmem_init()
◆ gs_device_shmem_nbrecv()
◆ gs_device_shmem_nbsend()
  
  
      
        
          | subroutine gs_device_shmem::gs_device_shmem_nbsend  | 
          ( | 
          class(gs_device_shmem_t), intent(inout)  | 
          this,  | 
         
        
           | 
           | 
          real(kind=rp), dimension(n), intent(inout)  | 
          u,  | 
         
        
           | 
           | 
          integer, intent(in)  | 
          n,  | 
         
        
           | 
           | 
          type(c_ptr), intent(inout)  | 
          deps,  | 
         
        
           | 
           | 
          type(c_ptr), intent(inout)  | 
          strm  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ gs_device_shmem_nbwait()