6
#define MPI_SPAWN_DEBUG 0
8
#undef MPI_SPAWN_ZEROCOPY /* enables zero-copy for large requests */
10
#ifdef MPI_SPAWN_ZEROCOPY
11
# define MPI_USER_DEF_DATATYPE /* Enables MPI userdefined type for non-contig
12
* data, if MPI_SPAWN_ZEROCOPY is enabled */
15
/* uncomment MULTIPLE_BUFS macro definition to disable multiple buffers */
18
#define ARMCI_MPI_SPAWN_INIT_TAG 1000
19
#define ARMCI_MPI_SPAWN_TAG 2000
20
#define ARMCI_MPI_SPAWN_DATA_TAG 3000
21
#define ARMCI_MPI_SPAWN_VDATA_TAG 4000
22
#define ARMCI_MPI_CLIENT2SERVER_TAG 4500
23
#define ARMCI_MPI_SERVER2CLIENT_TAG 5000
25
/* In case of multiple buffers, we use tags from 2001 to 2999 (999 tags
26
* total) to ensure flow control at the server side */
27
#define ARMCI_MPI_SPAWN_TAG_BEGIN 2001
28
#define ARMCI_MPI_SPAWN_TAG_END 2999
30
#define GET_SEND_BUFFER _armci_buf_get
31
#define FREE_SEND_BUFFER _armci_buf_release
33
#define COMPLETE_HANDLE _armci_buf_complete_nb_request
34
#define TEST_HANDLE _armci_buf_test_nb_request
39
extern void armci_mpi_strided(int op, void *ptr, int stride_levels,
40
int stride_arr[], int count[], int proc,
43
extern void armci_mpi_strided2(int op, void *ptr, int stride_levels,
44
int stride_arr[], int count[], int proc,