Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
gs_mpi::gs_mpi_t Type Referenceabstract

Gather-scatter communication using MPI. More...

Inheritance diagram for gs_mpi::gs_mpi_t:
Collaboration diagram for gs_mpi::gs_mpi_t:

Public Member Functions

procedure, pass(thisinit (this, send_pe, recv_pe)
 Initialise MPI based communication method.
 
procedure, pass(thisfree (this)
 Deallocate MPI based communication method.
 
procedure, pass(thisnbsend (this, u, n, deps, strm)
 Post non-blocking send operations.
 
procedure, pass(thisnbrecv (this)
 Post non-blocking receive operations.
 
procedure, pass(thisnbwait (this, u, n, op, strm)
 Wait for non-blocking operations.
 
procedure(gs_comm_init), deferred, pass init gs_comm_init
 
procedure(gs_comm_free), deferred, pass free gs_comm_free
 
procedure(gs_nbsend), deferred, pass nbsend gs_nbsend
 
procedure(gs_nbrecv), deferred, pass nbrecv gs_nbrecv
 
procedure(gs_nbwait), deferred, pass nbwait gs_nbwait
 
procedure, pass(thisinit_dofs (this)
 
procedure, pass(thisfree_dofs (this)
 
procedure, pass(thisinit_order (this, send_pe, recv_pe)
 
procedure, pass(thisfree_order (this)
 

Public Attributes

type(gs_comm_mpi_t), dimension(:), allocatable send_buf
 Comm. buffers.
 
type(gs_comm_mpi_t), dimension(:), allocatable recv_buf
 Comm. buffers.
 
type(stack_i4_t), dimension(:), allocatable send_dof
 Send dof to shared-gs.
 
type(stack_i4_t), dimension(:), allocatable recv_dof
 Recv dof to shared-gs.
 
integer, dimension(:), allocatable send_pe
 Send order.
 
integer, dimension(:), allocatable recv_pe
 Recv order.
 

Detailed Description

Definition at line 54 of file gs_mpi.f90.

Member Function/Subroutine Documentation

◆ free() [1/2]

procedure, pass(this) gs_mpi::gs_mpi_t::free ( class(gs_mpi_t), intent(inout this)

Definition at line 59 of file gs_mpi.f90.

◆ free() [2/2]

procedure(gs_comm_free), deferred, pass gs_comm::gs_comm_t::free
pure virtualinherited

Definition at line 52 of file gs_comm.f90.

◆ free_dofs()

procedure, pass(this) gs_comm::gs_comm_t::free_dofs ( class(gs_comm_t), intent(inout this)
inherited

Definition at line 57 of file gs_comm.f90.

◆ free_order()

procedure, pass(this) gs_comm::gs_comm_t::free_order ( class(gs_comm_t), intent(inout this)
inherited

Definition at line 59 of file gs_comm.f90.

◆ init() [1/2]

procedure, pass(this) gs_mpi::gs_mpi_t::init ( class(gs_mpi_t), intent(inout this,
type(stack_i4_t), intent(inout send_pe,
type(stack_i4_t), intent(inout recv_pe 
)

Definition at line 58 of file gs_mpi.f90.

◆ init() [2/2]

procedure(gs_comm_init), deferred, pass gs_comm::gs_comm_t::init
pure virtualinherited

Definition at line 51 of file gs_comm.f90.

◆ init_dofs()

procedure, pass(this) gs_comm::gs_comm_t::init_dofs ( class(gs_comm_t), intent(inout this)
inherited

Definition at line 56 of file gs_comm.f90.

◆ init_order()

procedure, pass(this) gs_comm::gs_comm_t::init_order ( class(gs_comm_t), intent(inout this,
type(stack_i4_t), intent(inout send_pe,
type(stack_i4_t), intent(inout recv_pe 
)
inherited

Definition at line 58 of file gs_comm.f90.

◆ nbrecv() [1/2]

procedure, pass(this) gs_mpi::gs_mpi_t::nbrecv ( class(gs_mpi_t), intent(inout this)

Definition at line 61 of file gs_mpi.f90.

◆ nbrecv() [2/2]

procedure(gs_nbrecv), deferred, pass gs_comm::gs_comm_t::nbrecv
pure virtualinherited

Definition at line 54 of file gs_comm.f90.

◆ nbsend() [1/2]

procedure, pass(this) gs_mpi::gs_mpi_t::nbsend ( class(gs_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 
)

Definition at line 60 of file gs_mpi.f90.

◆ nbsend() [2/2]

procedure(gs_nbsend), deferred, pass gs_comm::gs_comm_t::nbsend
pure virtualinherited

Definition at line 53 of file gs_comm.f90.

◆ nbwait() [1/2]

procedure, pass(this) gs_mpi::gs_mpi_t::nbwait ( class(gs_mpi_t), intent(inout this,
real(kind=rp), dimension(n), intent(inout u,
integer, intent(in n,
integer  op,
type(c_ptr), intent(inout strm 
)

Definition at line 62 of file gs_mpi.f90.

◆ nbwait() [2/2]

procedure(gs_nbwait), deferred, pass gs_comm::gs_comm_t::nbwait
pure virtualinherited

Definition at line 55 of file gs_comm.f90.

Member Data Documentation

◆ recv_buf

type(gs_comm_mpi_t), dimension(:), allocatable gs_mpi::gs_mpi_t::recv_buf

Definition at line 56 of file gs_mpi.f90.

◆ recv_dof

type(stack_i4_t), dimension(:), allocatable gs_comm::gs_comm_t::recv_dof
inherited

Definition at line 47 of file gs_comm.f90.

◆ recv_pe

integer, dimension(:), allocatable gs_comm::gs_comm_t::recv_pe
inherited

Definition at line 49 of file gs_comm.f90.

◆ send_buf

type(gs_comm_mpi_t), dimension(:), allocatable gs_mpi::gs_mpi_t::send_buf

Definition at line 55 of file gs_mpi.f90.

◆ send_dof

type(stack_i4_t), dimension(:), allocatable gs_comm::gs_comm_t::send_dof
inherited

Definition at line 46 of file gs_comm.f90.

◆ send_pe

integer, dimension(:), allocatable gs_comm::gs_comm_t::send_pe
inherited

Definition at line 48 of file gs_comm.f90.


The documentation for this type was generated from the following file: