Neko 1.99.3
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
gs_shmem::gs_shmem_buf_t Type Reference

Symmetric buffer for one direction of OpenSHMEM communication. More...

Collaboration diagram for gs_shmem::gs_shmem_buf_t:

Public Member Functions

procedure, pass(thisinit (this, pe_order, dof_stack)
 Allocate symmetric memory and per-neighbor bookkeeping for one direction of communication.
 
procedure, pass(thisfree (this)
 Release symmetric memory and bookkeeping.
 

Public Attributes

integer, dimension(:), allocatable ndofs
 Number of dofs per neighbor.
 
integer, dimension(:), allocatable offset
 Local offset in this buffer for each neighbor.
 
integer, dimension(:), allocatable remote_offset
 For send_buf: offset in the remote PE's recv buffer where our data should land. Unused for recv_buf.
 
integer total = 0
 Total number of dofs in this buffer on this PE.
 
integer max_total = 0
 Maximum total across all PEs (size of the symmetric allocation)
 
type(c_ptr) buf_ptr = C_NULL_PTR
 Raw pointer to the symmetric buffer returned by shmem_malloc.
 

Detailed Description

Definition at line 54 of file gs_shmem.F90.

Member Function/Subroutine Documentation

◆ free()

procedure, pass(this) gs_shmem::gs_shmem_buf_t::free ( class(gs_shmem_buf_t), intent(inout this)

Definition at line 70 of file gs_shmem.F90.

◆ init()

procedure, pass(this) gs_shmem::gs_shmem_buf_t::init ( class(gs_shmem_buf_t), intent(inout this,
integer, dimension(:), intent(in pe_order,
type(stack_i4_t), dimension(0:), intent(inout dof_stack 
)
Parameters
pe_orderranks in send_pe / recv_pe order (1-based)
dof_stackindexed by rank, lower bound = 0 (per init_dofs)

Definition at line 69 of file gs_shmem.F90.

Member Data Documentation

◆ buf_ptr

type(c_ptr) gs_shmem::gs_shmem_buf_t::buf_ptr = C_NULL_PTR

Definition at line 67 of file gs_shmem.F90.

◆ max_total

integer gs_shmem::gs_shmem_buf_t::max_total = 0

Definition at line 65 of file gs_shmem.F90.

◆ ndofs

integer, dimension(:), allocatable gs_shmem::gs_shmem_buf_t::ndofs

Definition at line 56 of file gs_shmem.F90.

◆ offset

integer, dimension(:), allocatable gs_shmem::gs_shmem_buf_t::offset

Definition at line 58 of file gs_shmem.F90.

◆ remote_offset

integer, dimension(:), allocatable gs_shmem::gs_shmem_buf_t::remote_offset

Definition at line 61 of file gs_shmem.F90.

◆ total

integer gs_shmem::gs_shmem_buf_t::total = 0

Definition at line 63 of file gs_shmem.F90.


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