40 #ifdef SC_ENABLE_MPIWINSHARED
42 SC_SHMEM_WINDOW_PRESCAN,
55 extern const char *sc_shmem_type_to_string[SC_SHMEM_NUM_TYPES];
90 #define SC_SHMEM_ALLOC(t,e,c) (t *) sc_shmem_malloc(sc_package_id,sizeof(t),e,c)
102 #define SC_SHMEM_FREE(a,c) sc_shmem_free (sc_package_id,a,c)
143 void *recvbuf,
int recvcount,
Support for process management (memory allocation, logging, etc.)
sc3_MPI_Datatype_t sc_MPI_Datatype
Emulate MPI datatypes.
Definition: sc_mpi.h:452
sc3_MPI_Comm_t sc_MPI_Comm
Emulate an MPI communicator.
Definition: sc_mpi.h:450
sc3_MPI_Op_t sc_MPI_Op
Emulate MPI operations.
Definition: sc_mpi.h:453
void sc_shmem_set_type(sc_MPI_Comm comm, sc_shmem_type_t type)
Set the type of shared memory arrays to use on this mpi communicator.
sc_shmem_type_t sc_shmem_get_type(sc_MPI_Comm comm)
Get the type of shared memory arrays to use on this mpi communicator.
sc_shmem_type_t
Definition: sc_shmem.h:37
@ SC_SHMEM_BASIC
use allgathers, then sum to simulate scan
Definition: sc_shmem.h:38
@ SC_SHMEM_PRESCAN
mpi_scan, then allgather
Definition: sc_shmem.h:39
void sc_shmem_prefix(void *sendbuf, void *recvbuf, int count, sc_MPI_Datatype type, sc_MPI_Op op, sc_MPI_Comm comm)
Fill a shmem array with an allgather of the prefix op over all processes.
void sc_shmem_write_end(void *array, sc_MPI_Comm comm)
End a write window for a shared array.
int sc_shmem_write_start(void *array, sc_MPI_Comm comm)
Start a write window for a shared array.
void * sc_shmem_malloc(int package, size_t elem_size, size_t elem_count, sc_MPI_Comm comm)
Allocate a shmem array: an array that is redundant on every process.
void sc_shmem_free(int package, void *array, sc_MPI_Comm comm)
Destroy a shmem array created with sc_shmem_alloc()
void sc_shmem_memcpy(void *destarray, void *srcarray, size_t bytes, sc_MPI_Comm comm)
Copy a shmem array.
void sc_shmem_allgather(void *sendbuf, int sendcount, sc_MPI_Datatype sendtype, void *recvbuf, int recvcount, sc_MPI_Datatype recvtype, sc_MPI_Comm comm)
Fill a shmem array with an allgather.