Defines GPU aware MPI gather-scatter communication.  
 | 
| subroutine  | gs_device_mpi_buf_init (this, pe_order, dof_stack, mark_dupes) | 
|   | 
| subroutine  | gs_device_mpi_buf_free (this) | 
|   | 
| subroutine  | gs_device_mpi_init (this, send_pe, recv_pe) | 
|   | Initialise MPI based communication method.  
  | 
|   | 
| subroutine  | gs_device_mpi_free (this) | 
|   | Deallocate MPI based communication method.  
  | 
|   | 
| subroutine  | gs_device_mpi_nbsend (this, u, n, deps, strm) | 
|   | Post non-blocking send operations.  
  | 
|   | 
| subroutine  | gs_device_mpi_nbrecv (this) | 
|   | Post non-blocking receive operations.  
  | 
|   | 
| subroutine  | gs_device_mpi_nbwait (this, u, n, op, strm) | 
|   | Wait for non-blocking operations.  
  | 
|   | 
◆ gs_device_mpi_buf_free()
◆ gs_device_mpi_buf_init()
  
  
      
        
          | subroutine gs_device_mpi::gs_device_mpi_buf_init  | 
          ( | 
          class(gs_device_mpi_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  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
private   | 
  
 
 
◆ gs_device_mpi_free()
◆ gs_device_mpi_init()
◆ gs_device_mpi_nbrecv()
◆ gs_device_mpi_nbsend()
  
  
      
        
          | subroutine gs_device_mpi::gs_device_mpi_nbsend  | 
          ( | 
          class(gs_device_mpi_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_mpi_nbwait()