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, tag, deps, strm) |
| | Post non-blocking send operations.
|
| |
| subroutine | gs_device_mpi_nbrecv (this, tag) |
| | Post non-blocking receive operations.
|
| |
| subroutine | gs_device_mpi_nbwait (this, u, n, op, strm) |
| | Wait for non-blocking operations.
|
| |
| subroutine | gs_device_mpi_nbsend_vec (this, u, n, nc, tag, deps, strm) |
| | Fused nc-component send. u is the compact shared device buffer (component-outer, per-component stride n = nshared). Packs nc components into the interleaved send buffer and issues one Isend of nc*ndofs per peer.
|
| |
| subroutine | gs_device_mpi_nbrecv_vec (this, tag, nc) |
| | Post non-blocking receives for a fused nc-component exchange.
|
| |
| subroutine | gs_device_mpi_nbwait_vec (this, u, n, nc, op, strm) |
| | Wait for a fused nc-component exchange and unpack/reduce into u.
|
| |