Neko 1.99.1
A portable framework for high-order spectral element flow simulations
|
Global interpolation communication method. More...
Public Member Functions | |
procedure, pass(this) | init (this, send_pe, recv_pe, comm) |
Initialise MPI based communication method. | |
procedure, pass(this) | free (this) |
Deallocate MPI based communication method. | |
procedure, pass(this) | init_dofs (this, comm_size) |
procedure, pass(this) | free_dofs (this) |
procedure, pass(this) | init_order (this, send_pe, recv_pe) |
Obtains which ranks to send and receive data from. | |
procedure, pass(this) | free_order (this) |
procedure, pass(this) | nbwait_no_op (this) |
Wait for non-blocking operations. | |
procedure, pass(this) | sendrecv (this, send, recv, n_send, n_recv) |
Non-blocking sendrecv. | |
Public Attributes | |
type(stack_i4_t), dimension(:), allocatable | send_dof |
A list of stacks of dof indices local to this process to send to rank_i. | |
type(stack_i4_t), dimension(:), allocatable | recv_dof |
recv_dof(rank_i) is a stack of dof indices local to this process to receive from rank_i. size(recv_dof) == pe_size | |
integer | pe_size |
Size of communicator. | |
integer, dimension(:), allocatable | send_pe |
Array of ranks that this process should send to. | |
integer, dimension(:), allocatable | recv_pe |
array of ranks that this process will receive messages from | |
type(glb_intrp_comm_mpi_t), dimension(:), allocatable | send_buf |
Comm. buffers for send operations. | |
type(glb_intrp_comm_mpi_t), dimension(:), allocatable | recv_buf |
Comm. buffers for recv operations. | |
type(mpi_comm) | comm |
Communicator. | |
Definition at line 60 of file global_interpolation_comm.f90.
procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::free | ( | class(glb_intrp_comm_t), intent(inout) | this | ) |
Definition at line 82 of file global_interpolation_comm.f90.
procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::free_dofs | ( | class(glb_intrp_comm_t), intent(inout) | this | ) |
Definition at line 84 of file global_interpolation_comm.f90.
procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::free_order | ( | class(glb_intrp_comm_t), intent(inout) | this | ) |
Definition at line 86 of file global_interpolation_comm.f90.
procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::init | ( | class(glb_intrp_comm_t), intent(inout) | this, |
type(stack_i4_t), intent(inout) | send_pe, | ||
type(stack_i4_t), intent(inout) | recv_pe, | ||
type(mpi_comm), intent(inout), optional | comm | ||
) |
Definition at line 81 of file global_interpolation_comm.f90.
procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::init_dofs | ( | class(glb_intrp_comm_t), intent(inout) | this, |
integer, intent(in), optional | comm_size | ||
) |
Definition at line 83 of file global_interpolation_comm.f90.
procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::init_order | ( | class(glb_intrp_comm_t), intent(inout) | this, |
type(stack_i4_t), intent(inout) | send_pe, | ||
type(stack_i4_t), intent(inout) | recv_pe | ||
) |
send_pe,only | contains rank ids this process should send to |
recv_pe,only | the ranks this process should receive from |
Definition at line 85 of file global_interpolation_comm.f90.
procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::nbwait_no_op | ( | class(glb_intrp_comm_t), intent(inout) | this | ) |
Definition at line 87 of file global_interpolation_comm.f90.
procedure, pass(this) glb_intrp_comm::glb_intrp_comm_t::sendrecv | ( | class(glb_intrp_comm_t), intent(inout) | this, |
real(kind=rp), dimension(n_send), intent(inout) | send, | ||
real(kind=rp), dimension(n_recv), intent(inout) | recv, | ||
integer, intent(in) | n_send, | ||
integer, intent(in) | n_recv | ||
) |
Definition at line 88 of file global_interpolation_comm.f90.
type(mpi_comm) glb_intrp_comm::glb_intrp_comm_t::comm |
Definition at line 79 of file global_interpolation_comm.f90.
integer glb_intrp_comm::glb_intrp_comm_t::pe_size |
Definition at line 67 of file global_interpolation_comm.f90.
type(glb_intrp_comm_mpi_t), dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::recv_buf |
Definition at line 77 of file global_interpolation_comm.f90.
type(stack_i4_t), dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::recv_dof |
Definition at line 65 of file global_interpolation_comm.f90.
integer, dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::recv_pe |
Definition at line 73 of file global_interpolation_comm.f90.
type(glb_intrp_comm_mpi_t), dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::send_buf |
Definition at line 75 of file global_interpolation_comm.f90.
type(stack_i4_t), dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::send_dof |
Definition at line 62 of file global_interpolation_comm.f90.
integer, dimension(:), allocatable glb_intrp_comm::glb_intrp_comm_t::send_pe |
Definition at line 71 of file global_interpolation_comm.f90.