|
Neko 1.99.3
A portable framework for high-order spectral element flow simulations
|
Symmetric buffer for one direction of OpenSHMEM communication. More...

Public Member Functions | |
| procedure, pass(this) | init (this, pe_order, dof_stack) |
| Allocate symmetric memory and per-neighbor bookkeeping for one direction of communication. | |
| procedure, pass(this) | free (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. | |
Definition at line 54 of file gs_shmem.F90.
Definition at line 70 of file gs_shmem.F90.
| 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 | ||
| ) |
| pe_order | ranks in send_pe / recv_pe order (1-based) |
| dof_stack | indexed by rank, lower bound = 0 (per init_dofs) |
Definition at line 69 of file gs_shmem.F90.
| type(c_ptr) gs_shmem::gs_shmem_buf_t::buf_ptr = C_NULL_PTR |
Definition at line 67 of file gs_shmem.F90.
| integer gs_shmem::gs_shmem_buf_t::max_total = 0 |
Definition at line 65 of file gs_shmem.F90.
| integer, dimension(:), allocatable gs_shmem::gs_shmem_buf_t::ndofs |
Definition at line 56 of file gs_shmem.F90.
| integer, dimension(:), allocatable gs_shmem::gs_shmem_buf_t::offset |
Definition at line 58 of file gs_shmem.F90.
| integer, dimension(:), allocatable gs_shmem::gs_shmem_buf_t::remote_offset |
Definition at line 61 of file gs_shmem.F90.
| integer gs_shmem::gs_shmem_buf_t::total = 0 |
Definition at line 63 of file gs_shmem.F90.