41 #define T8_SHMEM_BEST_TYPE SC_SHMEM_BGQ
42 #elif defined(SC_ENABLE_MPIWINSHARED)
43 #define T8_SHMEM_BEST_TYPE SC_SHMEM_WINDOW
45 #define T8_SHMEM_BEST_TYPE SC_SHMEM_BASIC
86 sc_shmem_type_t type);
98 size_t elem_count, sc_MPI_Comm comm);
145 sc_MPI_Datatype sendtype,
148 sc_MPI_Datatype recvtype);
Shared memory array structure.
Definition: t8_shmem.c:35
This is the administrative header file for t8code.
int64_t t8_gloidx_t
A type for global indexing that holds really big numbers.
Definition: t8.h:105
void t8_shmem_array_allgather(const void *sendbuf, int sendcount, sc_MPI_Datatype sendtype, t8_shmem_array_t recvarray, int recvcount, sc_MPI_Datatype recvtype)
Fill a t8_shmem array with an allgather.
Definition: t8_shmem.c:209
void * t8_shmem_array_index_for_writing(t8_shmem_array_t array, size_t index)
Return a pointer to an element in a t8_shmem_array in writing mode.
Definition: t8_shmem.c:304
const void * t8_shmem_array_get_array(t8_shmem_array_t array)
Return a pointer to the data array of a t8_shmem_array.
Definition: t8_shmem.c:286
void t8_shmem_array_destroy(t8_shmem_array_t *parray)
Free all memory associated with a t8_shmem_array.
Definition: t8_shmem.c:349
void t8_shmem_array_init(t8_shmem_array_t *parray, size_t elem_size, size_t elem_count, sc_MPI_Comm comm)
Initialize and allocate a shared memory array structure.
Definition: t8_shmem.c:118
int t8_shmem_array_start_writing(t8_shmem_array_t array)
Enable writing mode for a shmem array.
Definition: t8_shmem.c:159
const void * t8_shmem_array_index(t8_shmem_array_t array, size_t index)
Return a read-only pointer to an element in a t8_shmem_array.
Definition: t8_shmem.c:294
void t8_shmem_array_end_writing(t8_shmem_array_t array)
Disable writing mode for a shmem array.
Definition: t8_shmem.c:174
void t8_shmem_init(sc_MPI_Comm comm)
Initialize shared memory usage for a communicator.
Definition: t8_shmem.c:66
void t8_shmem_array_set_gloidx(t8_shmem_array_t array, int index, t8_gloidx_t value)
Set an entry of a t8_shmem array that is used to store t8_gloidx_t.
Definition: t8_shmem.c:273
void t8_shmem_set_type(sc_MPI_Comm comm, sc_shmem_type_t type)
Set a shared memory type of a communicator.
Definition: t8_shmem.c:98
t8_gloidx_t t8_shmem_array_get_gloidx(t8_shmem_array_t array, int index)
Return an entry of a shared memory array that stores t8_gloidx_t.
Definition: t8_shmem.c:262
void t8_shmem_array_copy(t8_shmem_array_t dest, t8_shmem_array_t source)
Copy the contents of one t8_shmem array into another.
Definition: t8_shmem.c:186
const t8_gloidx_t * t8_shmem_array_get_gloidx_array(t8_shmem_array_t array)
Return a read-only pointer to the data of a shared memory array interpreted as an t8_gloidx_t array.
Definition: t8_shmem.c:243
t8_gloidx_t * t8_shmem_array_get_gloidx_array_for_writing(t8_shmem_array_t array)
Return a pointer to the data of a shared memory array interpreted as an t8_gloidx_t array.
Definition: t8_shmem.c:252
size_t t8_shmem_array_get_elem_count(t8_shmem_array_t array)
Get the number of elements of a t8_shmem_array.
Definition: t8_shmem.c:236
void t8_shmem_finalize(sc_MPI_Comm comm)
Finalize shared memory usage for a communicator.
Definition: t8_shmem.c:84
size_t t8_shmem_array_get_elem_size(t8_shmem_array_t array)
Get the element size of a t8_shmem_array.
Definition: t8_shmem.c:229
sc_MPI_Comm t8_shmem_array_get_comm(t8_shmem_array_t array)
Return the MPI communicator associated with a shmem array.
Definition: t8_shmem.c:222