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
148 int recvcount, sc_MPI_Datatype recvtype);
168 sc_MPI_Datatype recvtype, sc_MPI_Comm comm);
189 sc_MPI_Op op, sc_MPI_Comm comm);
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:100
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:195
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:474
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:456
int t8_shmem_array_is_initialized(const t8_shmem_array_t array)
Check whether a shared memory array was properly initialized.
Definition: t8_shmem.c:57
void t8_shmem_array_destroy(t8_shmem_array_t *parray)
Free all memory associated with a t8_shmem_array.
Definition: t8_shmem.c:517
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:114
int t8_shmem_array_start_writing(t8_shmem_array_t array)
Enable writing mode for a shmem array.
Definition: t8_shmem.c:150
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:464
void t8_shmem_array_end_writing(t8_shmem_array_t array)
Disable writing mode for a shmem array.
Definition: t8_shmem.c:165
void t8_shmem_init(sc_MPI_Comm comm)
Initialize shared memory usage for a communicator.
Definition: t8_shmem.c:65
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:444
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:96
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:433
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:177
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:415
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:424
void t8_shmem_array_prefix(const void *sendbuf, t8_shmem_array_t recvarray, const int count, sc_MPI_Datatype type, sc_MPI_Op op, sc_MPI_Comm comm)
Fill a t8_shmem array with an Allgather of the prefix operation over all processes.
Definition: t8_shmem.c:205
void t8_shmem_array_allgatherv(void *sendbuf, const int sendcount, sc_MPI_Datatype sendtype, t8_shmem_array_t recvarray, sc_MPI_Datatype recvtype, sc_MPI_Comm comm)
Fill a t8_shmem array with an Allgatherv Computes the recvcount-array and displacement-array for each...
Definition: t8_shmem.c:347
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:408
void t8_shmem_finalize(sc_MPI_Comm comm)
Finalize shared memory usage for a communicator.
Definition: t8_shmem.c:82
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:401
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:394