Neko 0.9.99
A portable framework for high-order spectral element flow simulations
All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Pages
gs_comm Module Reference

Defines a gather-scatter communication method.

Data Types

interface  gs_comm_free
 Abstract interface for deallocating a Gather-scatter communication method. More...
 
interface  gs_comm_init
 Abstract interface for initializing a Gather-scatter communication method. More...
 
type  gs_comm_t
 Gather-scatter communication method. More...
 
interface  gs_nbrecv
 Abstract interface for initiating non-blocking recieve operations Posts non-blocking recieve of values and puts the values into buffers. More...
 
interface  gs_nbsend
 Abstract interface for initiating non-blocking send operations Sends the values in u(send_dof(send_pe(i))) to each rank send_pe(i) for all ranks in send_pe. More...
 
interface  gs_nbwait
 Abstract interface for waiting on non-blocking operations Waits and checks that data is in buffers and unpacks buffers into correct location in u u(recv_dof(recv_pe(i))) = gs_op(recieve_buffers(recv_pe) for this dof) More...
 

Functions/Subroutines

subroutine init_dofs (this)
 
subroutine free_dofs (this)
 
subroutine init_order (this, send_pe, recv_pe)
 Obtains which ranks to send and receive data from.
 
subroutine free_order (this)
 

Variables

integer, parameter, public gs_comm_mpi = 1
 
integer, parameter, public gs_comm_mpigpu = 2
 
integer, parameter, public gs_comm_nccl = 3
 
integer, parameter, public gs_comm_nvshmem = 4
 

Function/Subroutine Documentation

◆ free_dofs()

subroutine gs_comm::free_dofs ( class(gs_comm_t), intent(inout this)
private

Definition at line 162 of file gs_comm.f90.

◆ free_order()

subroutine gs_comm::free_order ( class(gs_comm_t), intent(inout this)
private

Definition at line 208 of file gs_comm.f90.

◆ init_dofs()

subroutine gs_comm::init_dofs ( class(gs_comm_t), intent(inout this)
private

Definition at line 146 of file gs_comm.f90.

◆ init_order()

subroutine gs_comm::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 
)
private
Parameters
send_pe,onlycontains rank ids this porcesss should send to
recv_pe,onlythe ranks this process should receive from

Definition at line 185 of file gs_comm.f90.

Variable Documentation

◆ gs_comm_mpi

integer, parameter, public gs_comm::gs_comm_mpi = 1

Definition at line 42 of file gs_comm.f90.

◆ gs_comm_mpigpu

integer, parameter, public gs_comm::gs_comm_mpigpu = 2

Definition at line 42 of file gs_comm.f90.

◆ gs_comm_nccl

integer, parameter, public gs_comm::gs_comm_nccl = 3

Definition at line 42 of file gs_comm.f90.

◆ gs_comm_nvshmem

integer, parameter, public gs_comm::gs_comm_nvshmem = 4

Definition at line 42 of file gs_comm.f90.