oshmem: Align OSHMEM API with spec v1.2 (rename extensions to shmemx_)
Этот коммит содержится в:
родитель
07e79441b3
Коммит
56214eb295
@ -35,109 +35,111 @@ OSHMEM_DECLSPEC void pshmem_char_put(char *target, const char *source, size_t l
|
||||
OSHMEM_DECLSPEC void pshmem_char_get(char *target, const char *source, size_t len, int pe);
|
||||
|
||||
|
||||
/*
|
||||
* All OpenSHMEM extension APIs that are not part of this specification must be defined in the shmemx.h include
|
||||
* file. These extensions shall use the shmemx_ prefix for all routine, variable, and constant names.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Elemental put routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void pshmem_int16_p(int16_t* addr, int16_t value, int pe);
|
||||
OSHMEM_DECLSPEC void pshmem_int32_p(int32_t* addr, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_p(int64_t* addr, int64_t value, int pe);
|
||||
OSHMEM_DECLSPEC void pshmemx_int16_p(int16_t* addr, int16_t value, int pe);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_p(int32_t* addr, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_p(int64_t* addr, int64_t value, int pe);
|
||||
|
||||
/*
|
||||
* Block data put routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void pshmem_put16(void *target, const void *source, size_t len, int pe);
|
||||
OSHMEM_DECLSPEC void pshmemx_put16(void *target, const void *source, size_t len, int pe);
|
||||
|
||||
/*
|
||||
* Strided put routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void pshmem_iput16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
|
||||
OSHMEM_DECLSPEC void pshmemx_iput16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
|
||||
|
||||
/*
|
||||
* Elemental get routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC int16_t pshmem_int16_g(int16_t* addr, int pe);
|
||||
OSHMEM_DECLSPEC int32_t pshmem_int32_g(int32_t* addr, int pe);
|
||||
OSHMEM_DECLSPEC int64_t pshmem_int64_g(int64_t* addr, int pe);
|
||||
OSHMEM_DECLSPEC int16_t pshmemx_int16_g(int16_t* addr, int pe);
|
||||
OSHMEM_DECLSPEC int32_t pshmemx_int32_g(int32_t* addr, int pe);
|
||||
OSHMEM_DECLSPEC int64_t pshmemx_int64_g(int64_t* addr, int pe);
|
||||
|
||||
/*
|
||||
* Block data get routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void pshmem_get16(void *target, const void *source, size_t len, int pe);
|
||||
OSHMEM_DECLSPEC void pshmemx_get16(void *target, const void *source, size_t len, int pe);
|
||||
|
||||
/*
|
||||
* Strided get routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void pshmem_iget16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
|
||||
OSHMEM_DECLSPEC void pshmemx_iget16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
|
||||
|
||||
/*
|
||||
* Atomic operations
|
||||
*/
|
||||
/* Atomic swap */
|
||||
OSHMEM_DECLSPEC int32_t pshmem_int32_swap(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t pshmem_int64_swap(int64_t *target, int64_t value, int pe);
|
||||
OSHMEM_DECLSPEC int32_t pshmemx_int32_swap(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t pshmemx_int64_swap(int64_t *target, int64_t value, int pe);
|
||||
|
||||
/* Atomic conditional swap */
|
||||
OSHMEM_DECLSPEC int32_t pshmem_int32_cswap(int32_t *target, int32_t cond, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t pshmem_int64_cswap(int64_t *target, int64_t cond, int64_t value, int pe);
|
||||
OSHMEM_DECLSPEC int32_t pshmemx_int32_cswap(int32_t *target, int32_t cond, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t pshmemx_int64_cswap(int64_t *target, int64_t cond, int64_t value, int pe);
|
||||
|
||||
/* Atomic Fetch&Add */
|
||||
OSHMEM_DECLSPEC int32_t pshmem_int32_fadd(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t pshmem_int64_fadd(int64_t *target, int64_t value, int pe);
|
||||
OSHMEM_DECLSPEC int32_t pshmemx_int32_fadd(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t pshmemx_int64_fadd(int64_t *target, int64_t value, int pe);
|
||||
|
||||
/* Atomic Fetch&Inc */
|
||||
OSHMEM_DECLSPEC int32_t pshmem_int32_finc(int32_t *target, int pe);
|
||||
OSHMEM_DECLSPEC int64_t pshmem_int64_finc(int64_t *target, int pe);
|
||||
OSHMEM_DECLSPEC int32_t pshmemx_int32_finc(int32_t *target, int pe);
|
||||
OSHMEM_DECLSPEC int64_t pshmemx_int64_finc(int64_t *target, int pe);
|
||||
|
||||
/* Atomic Add*/
|
||||
OSHMEM_DECLSPEC void pshmem_int32_add(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_add(int64_t *target, int64_t value, int pe);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_add(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_add(int64_t *target, int64_t value, int pe);
|
||||
|
||||
/* Atomic Inc */
|
||||
OSHMEM_DECLSPEC void pshmem_int32_inc(int32_t *target, int pe);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_inc(int64_t *target, int pe);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_inc(int32_t *target, int pe);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_inc(int64_t *target, int pe);
|
||||
|
||||
/*
|
||||
* P2P sync routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void pshmem_int16_wait(int16_t *addr, int16_t value);
|
||||
OSHMEM_DECLSPEC void pshmem_int32_wait(int32_t *addr, int32_t value);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_wait(int64_t *addr, int64_t value);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_wait(int32_t *addr, int32_t value);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_wait(int64_t *addr, int64_t value);
|
||||
|
||||
OSHMEM_DECLSPEC void pshmem_int16_wait_until(int16_t *addr, int cmp, int16_t value);
|
||||
OSHMEM_DECLSPEC void pshmem_int32_wait_until(int32_t *addr, int cmp, int32_t value);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_wait_until(int64_t *addr, int cmp, int64_t value);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_wait_until(int32_t *addr, int cmp, int32_t value);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_wait_until(int64_t *addr, int cmp, int64_t value);
|
||||
|
||||
/*
|
||||
* Reduction routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void pshmem_int16_and_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int32_and_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_and_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int16_and_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_and_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_and_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void pshmem_int16_or_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int32_or_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_or_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int16_or_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_or_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_or_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void pshmem_int16_xor_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int32_xor_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_xor_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int16_xor_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_xor_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_xor_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void pshmem_int16_max_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int32_max_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_max_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int16_max_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_max_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_max_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void pshmem_int16_min_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int32_min_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_min_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int16_min_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_min_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_min_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void pshmem_int16_sum_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int32_sum_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_sum_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int16_sum_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_sum_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_sum_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void pshmem_int16_prod_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int32_prod_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmem_int64_prod_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int16_prod_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int32_prod_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void pshmemx_int64_prod_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
}
|
||||
|
@ -16,12 +16,17 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* All OpenSHMEM extension APIs that are not part of this specification must be defined in the shmemx.h include
|
||||
* file. These extensions shall use the shmemx_ prefix for all routine, variable, and constant names.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Elemental put routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void shmem_int16_p(int16_t* addr, int16_t value, int pe);
|
||||
OSHMEM_DECLSPEC void shmem_int32_p(int32_t* addr, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC void shmem_int64_p(int64_t* addr, int64_t value, int pe);
|
||||
OSHMEM_DECLSPEC void shmemx_int16_p(int16_t* addr, int16_t value, int pe);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_p(int32_t* addr, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_p(int64_t* addr, int64_t value, int pe);
|
||||
|
||||
/*
|
||||
* Elemental put routines
|
||||
@ -30,103 +35,96 @@ OSHMEM_DECLSPEC void shmem_int64_p(int64_t* addr, int64_t value, int pe);
|
||||
/*
|
||||
* Block data put routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void shmem_put16(void *target, const void *source, size_t len, int pe);
|
||||
OSHMEM_DECLSPEC void shmemx_put16(void *target, const void *source, size_t len, int pe);
|
||||
|
||||
/*
|
||||
* Strided put routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void shmem_iput16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
|
||||
OSHMEM_DECLSPEC void shmemx_iput16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
|
||||
|
||||
/*
|
||||
* Elemental get routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC int16_t shmem_int16_g(int16_t* addr, int pe);
|
||||
OSHMEM_DECLSPEC int32_t shmem_int32_g(int32_t* addr, int pe);
|
||||
OSHMEM_DECLSPEC int64_t shmem_int64_g(int64_t* addr, int pe);
|
||||
|
||||
/*
|
||||
* Elemental get routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC char shmem_char_g(char* addr, int pe);
|
||||
OSHMEM_DECLSPEC int16_t shmemx_int16_g(int16_t* addr, int pe);
|
||||
OSHMEM_DECLSPEC int32_t shmemx_int32_g(int32_t* addr, int pe);
|
||||
OSHMEM_DECLSPEC int64_t shmemx_int64_g(int64_t* addr, int pe);
|
||||
|
||||
/*
|
||||
* Block data get routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void shmem_get16(void *target, const void *source, size_t len, int pe);
|
||||
OSHMEM_DECLSPEC void shmemx_get16(void *target, const void *source, size_t len, int pe);
|
||||
|
||||
/*
|
||||
* Strided get routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void shmem_iget16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
|
||||
OSHMEM_DECLSPEC void shmemx_iget16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
|
||||
|
||||
/*
|
||||
* Atomic operations
|
||||
*/
|
||||
/* Atomic swap */
|
||||
OSHMEM_DECLSPEC int32_t shmem_int32_swap(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t shmem_int64_swap(int64_t *target, int64_t value, int pe);
|
||||
OSHMEM_DECLSPEC int32_t shmemx_int32_swap(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t shmemx_int64_swap(int64_t *target, int64_t value, int pe);
|
||||
|
||||
/* Atomic conditional swap */
|
||||
OSHMEM_DECLSPEC int32_t shmem_int32_cswap(int32_t *target, int32_t cond, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t shmem_int64_cswap(int64_t *target, int64_t cond, int64_t value, int pe);
|
||||
OSHMEM_DECLSPEC int32_t shmemx_int32_cswap(int32_t *target, int32_t cond, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t shmemx_int64_cswap(int64_t *target, int64_t cond, int64_t value, int pe);
|
||||
|
||||
/* Atomic Fetch&Add */
|
||||
OSHMEM_DECLSPEC int32_t shmem_int32_fadd(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t shmem_int64_fadd(int64_t *target, int64_t value, int pe);
|
||||
OSHMEM_DECLSPEC int32_t shmemx_int32_fadd(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC int64_t shmemx_int64_fadd(int64_t *target, int64_t value, int pe);
|
||||
|
||||
/* Atomic Fetch&Inc */
|
||||
OSHMEM_DECLSPEC int32_t shmem_int32_finc(int32_t *target, int pe);
|
||||
OSHMEM_DECLSPEC int64_t shmem_int64_finc(int64_t *target, int pe);
|
||||
OSHMEM_DECLSPEC int32_t shmemx_int32_finc(int32_t *target, int pe);
|
||||
OSHMEM_DECLSPEC int64_t shmemx_int64_finc(int64_t *target, int pe);
|
||||
|
||||
/* Atomic Add*/
|
||||
OSHMEM_DECLSPEC void shmem_int32_add(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC void shmem_int64_add(int64_t *target, int64_t value, int pe);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_add(int32_t *target, int32_t value, int pe);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_add(int64_t *target, int64_t value, int pe);
|
||||
|
||||
/* Atomic Inc */
|
||||
OSHMEM_DECLSPEC void shmem_int32_inc(int32_t *target, int pe);
|
||||
OSHMEM_DECLSPEC void shmem_int64_inc(int64_t *target, int pe);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_inc(int32_t *target, int pe);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_inc(int64_t *target, int pe);
|
||||
|
||||
/*
|
||||
* P2P sync routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void shmem_int16_wait(int16_t *addr, int16_t value);
|
||||
OSHMEM_DECLSPEC void shmem_int32_wait(int32_t *addr, int32_t value);
|
||||
OSHMEM_DECLSPEC void shmem_int64_wait(int64_t *addr, int64_t value);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_wait(int32_t *addr, int32_t value);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_wait(int64_t *addr, int64_t value);
|
||||
|
||||
OSHMEM_DECLSPEC void shmem_int16_wait_until(int16_t *addr, int cmp, int16_t value);
|
||||
OSHMEM_DECLSPEC void shmem_int32_wait_until(int32_t *addr, int cmp, int32_t value);
|
||||
OSHMEM_DECLSPEC void shmem_int64_wait_until(int64_t *addr, int cmp, int64_t value);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_wait_until(int32_t *addr, int cmp, int32_t value);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_wait_until(int64_t *addr, int cmp, int64_t value);
|
||||
|
||||
/*
|
||||
* Reduction routines
|
||||
*/
|
||||
OSHMEM_DECLSPEC void shmem_int16_and_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int32_and_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int64_and_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int16_and_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_and_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_and_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void shmem_int16_or_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int32_or_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int64_or_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int16_or_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_or_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_or_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void shmem_int16_xor_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int32_xor_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int64_xor_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int16_xor_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_xor_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_xor_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void shmem_int16_max_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int32_max_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int64_max_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int16_max_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_max_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_max_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void shmem_int16_min_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int32_min_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int64_min_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int16_min_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_min_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_min_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void shmem_int16_sum_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int32_sum_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int64_sum_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int16_sum_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_sum_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_sum_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
OSHMEM_DECLSPEC void shmem_int16_prod_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int32_prod_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmem_int64_prod_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int16_prod_to_all(int16_t *target, int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int32_prod_to_all(int32_t *target, int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
|
||||
OSHMEM_DECLSPEC void shmemx_int64_prod_to_all(int64_t *target, int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
}
|
||||
|
@ -29,7 +29,6 @@
|
||||
#define shmem_finalize pshmem_finalize
|
||||
#define shmem_global_exit pshmem_global_exit
|
||||
|
||||
|
||||
/*
|
||||
* Query routines
|
||||
*/
|
||||
@ -38,7 +37,6 @@
|
||||
#define _num_pes p_num_pes /* shmem-compat.h */
|
||||
#define _my_pe p_my_pe /* shmem-compat.h */
|
||||
|
||||
|
||||
/*
|
||||
* Accessability routines
|
||||
*/
|
||||
@ -73,9 +71,9 @@
|
||||
#define shmem_double_p pshmem_double_p
|
||||
#define shmem_longlong_p pshmem_longlong_p
|
||||
#define shmem_longdouble_p pshmem_longdouble_p
|
||||
#define shmem_int16_p pshmem_int16_p
|
||||
#define shmem_int32_p pshmem_int32_p
|
||||
#define shmem_int64_p pshmem_int64_p
|
||||
#define shmemx_int16_p pshmemx_int16_p
|
||||
#define shmemx_int32_p pshmemx_int32_p
|
||||
#define shmemx_int64_p pshmemx_int64_p
|
||||
|
||||
/*
|
||||
* Block data put routines
|
||||
@ -88,7 +86,7 @@
|
||||
#define shmem_double_put pshmem_double_put
|
||||
#define shmem_longlong_put pshmem_longlong_put
|
||||
#define shmem_longdouble_put pshmem_longdouble_put
|
||||
#define shmem_put16 pshmem_put16
|
||||
#define shmemx_put16 pshmemx_put16
|
||||
#define shmem_put32 pshmem_put32
|
||||
#define shmem_put64 pshmem_put64
|
||||
#define shmem_put128 pshmem_put128
|
||||
@ -104,7 +102,7 @@
|
||||
#define shmem_longlong_iput pshmem_longlong_iput
|
||||
#define shmem_longdouble_iput pshmem_longdouble_iput
|
||||
#define shmem_long_iput pshmem_long_iput
|
||||
#define shmem_iput16 pshmem_iput16
|
||||
#define shmemx_iput16 pshmemx_iput16
|
||||
#define shmem_iput32 pshmem_iput32
|
||||
#define shmem_iput64 pshmem_iput64
|
||||
#define shmem_iput128 pshmem_iput128
|
||||
@ -120,9 +118,9 @@
|
||||
#define shmem_double_g pshmem_double_g
|
||||
#define shmem_longlong_g pshmem_longlong_g
|
||||
#define shmem_longdouble_g pshmem_longdouble_g
|
||||
#define shmem_int16_g pshmem_int16_g
|
||||
#define shmem_int32_g pshmem_int32_g
|
||||
#define shmem_int64_g pshmem_int64_g
|
||||
#define shmemx_int16_g pshmemx_int16_g
|
||||
#define shmemx_int32_g pshmemx_int32_g
|
||||
#define shmemx_int64_g pshmemx_int64_g
|
||||
|
||||
/*
|
||||
* Block data get routines
|
||||
@ -135,7 +133,7 @@
|
||||
#define shmem_double_get pshmem_double_get
|
||||
#define shmem_longlong_get pshmem_longlong_get
|
||||
#define shmem_longdouble_get pshmem_longdouble_get
|
||||
#define shmem_get16 pshmem_get16
|
||||
#define shmemx_get16 pshmemx_get16
|
||||
#define shmem_get32 pshmem_get32
|
||||
#define shmem_get64 pshmem_get64
|
||||
#define shmem_get128 pshmem_get128
|
||||
@ -151,7 +149,7 @@
|
||||
#define shmem_longlong_iget pshmem_longlong_iget
|
||||
#define shmem_longdouble_iget pshmem_longdouble_iget
|
||||
#define shmem_long_iget pshmem_long_iget
|
||||
#define shmem_iget16 pshmem_iget16
|
||||
#define shmemx_iget16 pshmemx_iget16
|
||||
#define shmem_iget32 pshmem_iget32
|
||||
#define shmem_iget64 pshmem_iget64
|
||||
#define shmem_iget128 pshmem_iget128
|
||||
@ -166,45 +164,45 @@
|
||||
#define shmem_int_swap pshmem_int_swap
|
||||
#define shmem_long_swap pshmem_long_swap
|
||||
#define shmem_longlong_swap pshmem_longlong_swap
|
||||
#define shmem_int32_swap pshmem_int32_swap
|
||||
#define shmem_int64_swap pshmem_int64_swap
|
||||
#define shmemx_int32_swap pshmemx_int32_swap
|
||||
#define shmemx_int64_swap pshmemx_int64_swap
|
||||
|
||||
|
||||
/* Atomic conditional swap */
|
||||
#define shmem_int_cswap pshmem_int_cswap
|
||||
#define shmem_long_cswap pshmem_long_cswap
|
||||
#define shmem_longlong_cswap pshmem_longlong_cswap
|
||||
#define shmem_int32_cswap pshmem_int32_cswap
|
||||
#define shmem_int64_cswap pshmem_int64_cswap
|
||||
#define shmemx_int32_cswap pshmemx_int32_cswap
|
||||
#define shmemx_int64_cswap pshmemx_int64_cswap
|
||||
|
||||
|
||||
/* Atomic Fetch&Add */
|
||||
#define shmem_int_fadd pshmem_int_fadd
|
||||
#define shmem_long_fadd pshmem_long_fadd
|
||||
#define shmem_longlong_fadd pshmem_longlong_fadd
|
||||
#define shmem_int32_fadd pshmem_int32_fadd
|
||||
#define shmem_int64_fadd pshmem_int64_fadd
|
||||
#define shmemx_int32_fadd pshmemx_int32_fadd
|
||||
#define shmemx_int64_fadd pshmemx_int64_fadd
|
||||
|
||||
/* Atomic Fetch&Inc */
|
||||
#define shmem_int_finc pshmem_int_finc
|
||||
#define shmem_long_finc pshmem_long_finc
|
||||
#define shmem_longlong_finc pshmem_longlong_finc
|
||||
#define shmem_int32_finc pshmem_int32_finc
|
||||
#define shmem_int64_finc pshmem_int64_finc
|
||||
#define shmemx_int32_finc pshmemx_int32_finc
|
||||
#define shmemx_int64_finc pshmemx_int64_finc
|
||||
|
||||
/* Atomic Add*/
|
||||
#define shmem_int_add pshmem_int_add
|
||||
#define shmem_long_add pshmem_long_add
|
||||
#define shmem_longlong_add pshmem_longlong_add
|
||||
#define shmem_int32_add pshmem_int32_add
|
||||
#define shmem_int64_add pshmem_int64_add
|
||||
#define shmemx_int32_add pshmemx_int32_add
|
||||
#define shmemx_int64_add pshmemx_int64_add
|
||||
|
||||
/* Atomic Inc */
|
||||
#define shmem_int_inc pshmem_int_inc
|
||||
#define shmem_long_inc pshmem_long_inc
|
||||
#define shmem_longlong_inc pshmem_longlong_inc
|
||||
#define shmem_int32_inc pshmem_int32_inc
|
||||
#define shmem_int64_inc pshmem_int64_inc
|
||||
#define shmemx_int32_inc pshmemx_int32_inc
|
||||
#define shmemx_int64_inc pshmemx_int64_inc
|
||||
|
||||
/*
|
||||
* Lock functions
|
||||
@ -221,18 +219,16 @@
|
||||
#define shmem_long_wait pshmem_long_wait
|
||||
#define shmem_longlong_wait pshmem_longlong_wait
|
||||
#define shmem_wait pshmem_wait
|
||||
#define shmem_int16_wait pshmem_int16_wait
|
||||
#define shmem_int32_wait pshmem_int32_wait
|
||||
#define shmem_int64_wait pshmem_int64_wait
|
||||
#define shmemx_int32_wait pshmemx_int32_wait
|
||||
#define shmemx_int64_wait pshmemx_int64_wait
|
||||
|
||||
#define shmem_short_wait_until pshmem_short_wait_until
|
||||
#define shmem_int_wait_until pshmem_int_wait_until
|
||||
#define shmem_long_wait_until pshmem_long_wait_until
|
||||
#define shmem_longlong_wait_until pshmem_longlong_wait_until
|
||||
#define shmem_wait_until pshmem_wait_until
|
||||
#define shmem_int16_wait_until pshmem_int16_wait_until
|
||||
#define shmem_int32_wait_until pshmem_int32_wait_until
|
||||
#define shmem_int64_wait_until pshmem_int64_wait_until
|
||||
#define shmemx_int32_wait_until pshmemx_int32_wait_until
|
||||
#define shmemx_int64_wait_until pshmemx_int64_wait_until
|
||||
|
||||
/*
|
||||
* Barrier sync routines
|
||||
@ -260,25 +256,25 @@
|
||||
#define shmem_int_and_to_all pshmem_int_and_to_all
|
||||
#define shmem_long_and_to_all pshmem_long_and_to_all
|
||||
#define shmem_longlong_and_to_all pshmem_longlong_and_to_all
|
||||
#define shmem_int16_and_to_all pshmem_int16_and_to_all
|
||||
#define shmem_int32_and_to_all pshmem_int32_and_to_all
|
||||
#define shmem_int64_and_to_all pshmem_int64_and_to_all
|
||||
#define shmemx_int16_and_to_all pshmemx_int16_and_to_all
|
||||
#define shmemx_int32_and_to_all pshmemx_int32_and_to_all
|
||||
#define shmemx_int64_and_to_all pshmemx_int64_and_to_all
|
||||
|
||||
#define shmem_short_or_to_all pshmem_short_or_to_all
|
||||
#define shmem_int_or_to_all pshmem_int_or_to_all
|
||||
#define shmem_long_or_to_all pshmem_long_or_to_all
|
||||
#define shmem_longlong_or_to_all pshmem_longlong_or_to_all
|
||||
#define shmem_int16_or_to_all pshmem_int16_or_to_all
|
||||
#define shmem_int32_or_to_all pshmem_int32_or_to_all
|
||||
#define shmem_int64_or_to_all pshmem_int64_or_to_all
|
||||
#define shmemx_int16_or_to_all pshmemx_int16_or_to_all
|
||||
#define shmemx_int32_or_to_all pshmemx_int32_or_to_all
|
||||
#define shmemx_int64_or_to_all pshmemx_int64_or_to_all
|
||||
|
||||
#define shmem_short_xor_to_all pshmem_short_xor_to_all
|
||||
#define shmem_int_xor_to_all pshmem_int_xor_to_all
|
||||
#define shmem_long_xor_to_all pshmem_long_xor_to_all
|
||||
#define shmem_longlong_xor_to_all pshmem_longlong_xor_to_all
|
||||
#define shmem_int16_xor_to_all pshmem_int16_xor_to_all
|
||||
#define shmem_int32_xor_to_all pshmem_int32_xor_to_all
|
||||
#define shmem_int64_xor_to_all pshmem_int64_xor_to_all
|
||||
#define shmemx_int16_xor_to_all pshmemx_int16_xor_to_all
|
||||
#define shmemx_int32_xor_to_all pshmemx_int32_xor_to_all
|
||||
#define shmemx_int64_xor_to_all pshmemx_int64_xor_to_all
|
||||
|
||||
#define shmem_short_max_to_all pshmem_short_max_to_all
|
||||
#define shmem_int_max_to_all pshmem_int_max_to_all
|
||||
@ -287,9 +283,9 @@
|
||||
#define shmem_float_max_to_all pshmem_float_max_to_all
|
||||
#define shmem_double_max_to_all pshmem_double_max_to_all
|
||||
#define shmem_longdouble_max_to_all pshmem_longdouble_max_to_all
|
||||
#define shmem_int16_max_to_all pshmem_int16_max_to_all
|
||||
#define shmem_int32_max_to_all pshmem_int32_max_to_all
|
||||
#define shmem_int64_max_to_all pshmem_int64_max_to_all
|
||||
#define shmemx_int16_max_to_all pshmemx_int16_max_to_all
|
||||
#define shmemx_int32_max_to_all pshmemx_int32_max_to_all
|
||||
#define shmemx_int64_max_to_all pshmemx_int64_max_to_all
|
||||
|
||||
#define shmem_short_min_to_all pshmem_short_min_to_all
|
||||
#define shmem_int_min_to_all pshmem_int_min_to_all
|
||||
@ -298,9 +294,9 @@
|
||||
#define shmem_float_min_to_all pshmem_float_min_to_all
|
||||
#define shmem_double_min_to_all pshmem_double_min_to_all
|
||||
#define shmem_longdouble_min_to_all pshmem_longdouble_min_to_all
|
||||
#define shmem_int16_min_to_all pshmem_int16_min_to_all
|
||||
#define shmem_int32_min_to_all pshmem_int32_min_to_all
|
||||
#define shmem_int64_min_to_all pshmem_int64_min_to_all
|
||||
#define shmemx_int16_min_to_all pshmemx_int16_min_to_all
|
||||
#define shmemx_int32_min_to_all pshmemx_int32_min_to_all
|
||||
#define shmemx_int64_min_to_all pshmemx_int64_min_to_all
|
||||
|
||||
#define shmem_short_sum_to_all pshmem_short_sum_to_all
|
||||
#define shmem_int_sum_to_all pshmem_int_sum_to_all
|
||||
@ -311,9 +307,9 @@
|
||||
#define shmem_longdouble_sum_to_all pshmem_longdouble_sum_to_all
|
||||
#define shmem_complexf_sum_to_all pshmem_complexf_sum_to_all
|
||||
#define shmem_complexd_sum_to_all pshmem_complexd_sum_to_all
|
||||
#define shmem_int16_sum_to_all pshmem_int16_sum_to_all
|
||||
#define shmem_int32_sum_to_all pshmem_int32_sum_to_all
|
||||
#define shmem_int64_sum_to_all pshmem_int64_sum_to_all
|
||||
#define shmemx_int16_sum_to_all pshmemx_int16_sum_to_all
|
||||
#define shmemx_int32_sum_to_all pshmemx_int32_sum_to_all
|
||||
#define shmemx_int64_sum_to_all pshmemx_int64_sum_to_all
|
||||
|
||||
#define shmem_short_prod_to_all pshmem_short_prod_to_all
|
||||
#define shmem_int_prod_to_all pshmem_int_prod_to_all
|
||||
@ -324,9 +320,9 @@
|
||||
#define shmem_longdouble_prod_to_all pshmem_longdouble_prod_to_all
|
||||
#define shmem_complexf_prod_to_all pshmem_complexf_prod_to_all
|
||||
#define shmem_complexd_prod_to_all pshmem_complexd_prod_to_all
|
||||
#define shmem_int16_prod_to_all pshmem_int16_prod_to_all
|
||||
#define shmem_int32_prod_to_all pshmem_int32_prod_to_all
|
||||
#define shmem_int64_prod_to_all pshmem_int64_prod_to_all
|
||||
#define shmemx_int16_prod_to_all pshmemx_int16_prod_to_all
|
||||
#define shmemx_int32_prod_to_all pshmemx_int32_prod_to_all
|
||||
#define shmemx_int64_prod_to_all pshmemx_int64_prod_to_all
|
||||
|
||||
/*
|
||||
* Platform specific cache management routines
|
||||
|
@ -22,8 +22,8 @@
|
||||
* must be completed without the possibility of another process updating target between the
|
||||
* time of the fetch and the update.
|
||||
*/
|
||||
#define SHMEM_TYPE_ADD(type_name, type) \
|
||||
void shmem##type_name##_add(type *target, type value, int pe) \
|
||||
#define SHMEM_TYPE_ADD(type_name, type, ...) \
|
||||
void shmem##__VA_ARGS__##type_name##_add(type *target, type value, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t size = 0; \
|
||||
@ -52,13 +52,13 @@
|
||||
#pragma weak shmem_int_add = pshmem_int_add
|
||||
#pragma weak shmem_long_add = pshmem_long_add
|
||||
#pragma weak shmem_longlong_add = pshmem_longlong_add
|
||||
#pragma weak shmem_int32_add = pshmem_int32_add
|
||||
#pragma weak shmem_int64_add = pshmem_int64_add
|
||||
#pragma weak shmemx_int32_add = pshmemx_int32_add
|
||||
#pragma weak shmemx_int64_add = pshmemx_int64_add
|
||||
#include "oshmem/shmem/c/profile/defines.h"
|
||||
#endif
|
||||
|
||||
SHMEM_TYPE_ADD(_int, int)
|
||||
SHMEM_TYPE_ADD(_long, long)
|
||||
SHMEM_TYPE_ADD(_longlong, long long)
|
||||
SHMEM_TYPE_ADD(_int32, int32_t)
|
||||
SHMEM_TYPE_ADD(_int64, int64_t)
|
||||
SHMEM_TYPE_ADD(_int32, int32_t, x)
|
||||
SHMEM_TYPE_ADD(_int64, int64_t, x)
|
||||
|
@ -24,8 +24,8 @@
|
||||
* of target. The operation must be completed without the possibility of another process updating
|
||||
* target between the time of the fetch and the update.
|
||||
*/
|
||||
#define SHMEM_TYPE_CSWAP(type_name, type) \
|
||||
type shmem##type_name##_cswap(type *target, type cond, type value, int pe) \
|
||||
#define SHMEM_TYPE_CSWAP(type_name, type, ...) \
|
||||
type shmem##__VA_ARGS__##type_name##_cswap(type *target, type cond, type value, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t size = 0; \
|
||||
@ -53,14 +53,14 @@
|
||||
#pragma weak shmem_int_cswap = pshmem_int_cswap
|
||||
#pragma weak shmem_long_cswap = pshmem_long_cswap
|
||||
#pragma weak shmem_longlong_cswap = pshmem_longlong_cswap
|
||||
#pragma weak shmem_int32_cswap = pshmem_int32_cswap
|
||||
#pragma weak shmem_int64_cswap = pshmem_int64_cswap
|
||||
#pragma weak shmemx_int32_cswap = pshmemx_int32_cswap
|
||||
#pragma weak shmemx_int64_cswap = pshmemx_int64_cswap
|
||||
#include "oshmem/shmem/c/profile/defines.h"
|
||||
#endif
|
||||
|
||||
SHMEM_TYPE_CSWAP(_int, int)
|
||||
SHMEM_TYPE_CSWAP(_long, long)
|
||||
SHMEM_TYPE_CSWAP(_longlong, long long)
|
||||
SHMEM_TYPE_CSWAP(_int32, int32_t)
|
||||
SHMEM_TYPE_CSWAP(_int64, int64_t)
|
||||
SHMEM_TYPE_CSWAP(_int32, int32_t, x)
|
||||
SHMEM_TYPE_CSWAP(_int64, int64_t, x)
|
||||
|
||||
|
@ -24,8 +24,8 @@
|
||||
* without the possibility of another process updating target between the time of the
|
||||
* fetch and the update.
|
||||
*/
|
||||
#define SHMEM_TYPE_FADD(type_name, type) \
|
||||
type shmem##type_name##_fadd(type *target, type value, int pe) \
|
||||
#define SHMEM_TYPE_FADD(type_name, type, ...) \
|
||||
type shmem##__VA_ARGS__##type_name##_fadd(type *target, type value, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t size = 0; \
|
||||
@ -54,13 +54,13 @@
|
||||
#pragma weak shmem_int_fadd = pshmem_int_fadd
|
||||
#pragma weak shmem_long_fadd = pshmem_long_fadd
|
||||
#pragma weak shmem_longlong_fadd = pshmem_longlong_fadd
|
||||
#pragma weak shmem_int32_fadd = pshmem_int32_fadd
|
||||
#pragma weak shmem_int64_fadd = pshmem_int64_fadd
|
||||
#pragma weak shmemx_int32_fadd = pshmemx_int32_fadd
|
||||
#pragma weak shmemx_int64_fadd = pshmemx_int64_fadd
|
||||
#include "oshmem/shmem/c/profile/defines.h"
|
||||
#endif
|
||||
|
||||
SHMEM_TYPE_FADD(_int, int)
|
||||
SHMEM_TYPE_FADD(_long, long)
|
||||
SHMEM_TYPE_FADD(_longlong, long long)
|
||||
SHMEM_TYPE_FADD(_int32, int32_t)
|
||||
SHMEM_TYPE_FADD(_int64, int64_t)
|
||||
SHMEM_TYPE_FADD(_int32, int32_t, x)
|
||||
SHMEM_TYPE_FADD(_int64, int64_t, x)
|
||||
|
@ -24,8 +24,8 @@
|
||||
* completed without the possibility of another process updating target between the time of
|
||||
* the fetch and the update.
|
||||
*/
|
||||
#define SHMEM_TYPE_FINC(type_name, type) \
|
||||
type shmem##type_name##_finc(type *target, int pe) \
|
||||
#define SHMEM_TYPE_FINC(type_name, type, ...) \
|
||||
type shmem##__VA_ARGS__##type_name##_finc(type *target, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t size; \
|
||||
@ -55,13 +55,13 @@
|
||||
#pragma weak shmem_int_finc = pshmem_int_finc
|
||||
#pragma weak shmem_long_finc = pshmem_long_finc
|
||||
#pragma weak shmem_longlong_finc = pshmem_longlong_finc
|
||||
#pragma weak shmem_int32_finc = pshmem_int32_finc
|
||||
#pragma weak shmem_int64_finc = pshmem_int64_finc
|
||||
#pragma weak shmemx_int32_finc = pshmemx_int32_finc
|
||||
#pragma weak shmemx_int64_finc = pshmemx_int64_finc
|
||||
#include "oshmem/shmem/c/profile/defines.h"
|
||||
#endif
|
||||
|
||||
SHMEM_TYPE_FINC(_int, int)
|
||||
SHMEM_TYPE_FINC(_long, long)
|
||||
SHMEM_TYPE_FINC(_longlong, long long)
|
||||
SHMEM_TYPE_FINC(_int32, int32_t)
|
||||
SHMEM_TYPE_FINC(_int64, int64_t)
|
||||
SHMEM_TYPE_FINC(_int32, int32_t, x)
|
||||
SHMEM_TYPE_FINC(_int64, int64_t, x)
|
||||
|
@ -21,8 +21,8 @@
|
||||
* double, long) from symmetric data objects on remote PEs.
|
||||
* Retrieves the value at the symmetric address addr of the remote PE pe.
|
||||
*/
|
||||
#define SHMEM_TYPE_G(type_name, type) \
|
||||
type shmem##type_name##_g(type *addr, int pe) \
|
||||
#define SHMEM_TYPE_G(type_name, type, ...) \
|
||||
type shmem##__VA_ARGS__##type_name##_g(type *addr, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t size = 0; \
|
||||
@ -53,9 +53,9 @@
|
||||
#pragma weak shmem_float_g = pshmem_float_g
|
||||
#pragma weak shmem_double_g = pshmem_double_g
|
||||
#pragma weak shmem_longdouble_g = pshmem_longdouble_g
|
||||
#pragma weak shmem_int16_g = pshmem_int16_g
|
||||
#pragma weak shmem_int32_g = pshmem_int32_g
|
||||
#pragma weak shmem_int64_g = pshmem_int64_g
|
||||
#pragma weak shmemx_int16_g = pshmemx_int16_g
|
||||
#pragma weak shmemx_int32_g = pshmemx_int32_g
|
||||
#pragma weak shmemx_int64_g = pshmemx_int64_g
|
||||
#include "oshmem/shmem/c/profile/defines.h"
|
||||
#endif
|
||||
|
||||
@ -67,6 +67,6 @@ SHMEM_TYPE_G(_longlong, long long)
|
||||
SHMEM_TYPE_G(_float, float)
|
||||
SHMEM_TYPE_G(_double, double)
|
||||
SHMEM_TYPE_G(_longdouble, long double)
|
||||
SHMEM_TYPE_G(_int16, int16_t)
|
||||
SHMEM_TYPE_G(_int32, int32_t)
|
||||
SHMEM_TYPE_G(_int64, int64_t)
|
||||
SHMEM_TYPE_G(_int16, int16_t, x)
|
||||
SHMEM_TYPE_G(_int32, int32_t, x)
|
||||
SHMEM_TYPE_G(_int64, int64_t, x)
|
||||
|
@ -54,7 +54,7 @@
|
||||
#pragma weak shmem_double_get = pshmem_double_get
|
||||
#pragma weak shmem_longdouble_get = pshmem_longdouble_get
|
||||
#pragma weak shmem_getmem = pshmem_getmem
|
||||
#pragma weak shmem_get16 = pshmem_get16
|
||||
#pragma weak shmemx_get16 = pshmemx_get16
|
||||
#pragma weak shmem_get32 = pshmem_get32
|
||||
#pragma weak shmem_get64 = pshmem_get64
|
||||
#pragma weak shmem_get128 = pshmem_get128
|
||||
@ -70,8 +70,8 @@ SHMEM_TYPE_GET(_float, float)
|
||||
SHMEM_TYPE_GET(_double, double)
|
||||
SHMEM_TYPE_GET(_longdouble, long double)
|
||||
|
||||
#define SHMEM_TYPE_GETMEM(name, element_size) \
|
||||
void shmem##name(void *target, const void *source, size_t nelems, int pe) \
|
||||
#define SHMEM_TYPE_GETMEM(name, element_size, ...) \
|
||||
void shmem##__VA_ARGS__##name(void *target, const void *source, size_t nelems, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t size = 0; \
|
||||
@ -92,7 +92,7 @@ SHMEM_TYPE_GET(_longdouble, long double)
|
||||
}
|
||||
|
||||
SHMEM_TYPE_GETMEM(_getmem, 1)
|
||||
SHMEM_TYPE_GETMEM(_get16, 2)
|
||||
SHMEM_TYPE_GETMEM(_get16, 2, x)
|
||||
SHMEM_TYPE_GETMEM(_get32, 4)
|
||||
SHMEM_TYPE_GETMEM(_get64, 8)
|
||||
SHMEM_TYPE_GETMEM(_get128, 16)
|
||||
|
@ -57,6 +57,7 @@
|
||||
#pragma weak shmem_float_iget = pshmem_float_iget
|
||||
#pragma weak shmem_double_iget = pshmem_double_iget
|
||||
#pragma weak shmem_longdouble_iget = pshmem_longdouble_iget
|
||||
#pragma weak shmemx_iget16 = pshmemx_iget16
|
||||
#pragma weak shmem_iget32 = pshmem_iget32
|
||||
#pragma weak shmem_iget64 = pshmem_iget64
|
||||
#pragma weak shmem_iget128 = pshmem_iget128
|
||||
@ -71,8 +72,8 @@ SHMEM_TYPE_IGET(_float, float)
|
||||
SHMEM_TYPE_IGET(_double, double)
|
||||
SHMEM_TYPE_IGET(_longdouble, long double)
|
||||
|
||||
#define SHMEM_TYPE_IGETMEM(name, element_size) \
|
||||
void shmem##name(void *target, const void *source, ptrdiff_t tst, ptrdiff_t sst, size_t nelems, int pe) \
|
||||
#define SHMEM_TYPE_IGETMEM(name, element_size, ...) \
|
||||
void shmem##__VA_ARGS__##name(void *target, const void *source, ptrdiff_t tst, ptrdiff_t sst, size_t nelems, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t i = 0; \
|
||||
@ -94,6 +95,7 @@ SHMEM_TYPE_IGET(_longdouble, long double)
|
||||
return ; \
|
||||
}
|
||||
|
||||
SHMEM_TYPE_IGETMEM(_iget16, 2, x)
|
||||
SHMEM_TYPE_IGETMEM(_iget32, 4)
|
||||
SHMEM_TYPE_IGETMEM(_iget64, 8)
|
||||
SHMEM_TYPE_IGETMEM(_iget128, 16)
|
||||
|
@ -23,8 +23,8 @@
|
||||
* one. The operation must be completed without the possibility of another process updating
|
||||
* target between the time of the fetch and the update.
|
||||
*/
|
||||
#define SHMEM_TYPE_INC(type_name, type) \
|
||||
void shmem##type_name##_inc(type *target, int pe) \
|
||||
#define SHMEM_TYPE_INC(type_name, type, ...) \
|
||||
void shmem##__VA_ARGS__##type_name##_inc(type *target, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t size = 0; \
|
||||
@ -54,13 +54,13 @@
|
||||
#pragma weak shmem_int_inc = pshmem_int_inc
|
||||
#pragma weak shmem_long_inc = pshmem_long_inc
|
||||
#pragma weak shmem_longlong_inc = pshmem_longlong_inc
|
||||
#pragma weak shmem_int32_inc = pshmem_int32_inc
|
||||
#pragma weak shmem_int64_inc = pshmem_int64_inc
|
||||
#pragma weak shmemx_int32_inc = pshmemx_int32_inc
|
||||
#pragma weak shmemx_int64_inc = pshmemx_int64_inc
|
||||
#include "oshmem/shmem/c/profile/defines.h"
|
||||
#endif
|
||||
|
||||
SHMEM_TYPE_INC(_int, int)
|
||||
SHMEM_TYPE_INC(_long, long)
|
||||
SHMEM_TYPE_INC(_longlong, long long)
|
||||
SHMEM_TYPE_INC(_int32, int32_t)
|
||||
SHMEM_TYPE_INC(_int64, int64_t)
|
||||
SHMEM_TYPE_INC(_int32, int32_t, x)
|
||||
SHMEM_TYPE_INC(_int64, int64_t, x)
|
||||
|
@ -57,7 +57,7 @@
|
||||
#pragma weak shmem_float_iput = pshmem_float_iput
|
||||
#pragma weak shmem_double_iput = pshmem_double_iput
|
||||
#pragma weak shmem_longdouble_iput = pshmem_longdouble_iput
|
||||
#pragma weak shmem_iput16 = pshmem_iput16
|
||||
#pragma weak shmemx_iput16 = pshmemx_iput16
|
||||
#pragma weak shmem_iput32 = pshmem_iput32
|
||||
#pragma weak shmem_iput64 = pshmem_iput64
|
||||
#pragma weak shmem_iput128 = pshmem_iput128
|
||||
@ -72,8 +72,8 @@ SHMEM_TYPE_IPUT(_float, float)
|
||||
SHMEM_TYPE_IPUT(_double, double)
|
||||
SHMEM_TYPE_IPUT(_longdouble, long double)
|
||||
|
||||
#define SHMEM_TYPE_IPUTMEM(name, element_size) \
|
||||
void shmem##name(void *target, const void *source, ptrdiff_t tst, ptrdiff_t sst, size_t nelems, int pe) \
|
||||
#define SHMEM_TYPE_IPUTMEM(name, element_size, ...) \
|
||||
void shmem##__VA_ARGS__##name(void *target, const void *source, ptrdiff_t tst, ptrdiff_t sst, size_t nelems, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t i = 0; \
|
||||
@ -95,7 +95,7 @@ SHMEM_TYPE_IPUT(_longdouble, long double)
|
||||
return ; \
|
||||
}
|
||||
|
||||
SHMEM_TYPE_IPUTMEM(_iput16, 2)
|
||||
SHMEM_TYPE_IPUTMEM(_iput16, 2, x)
|
||||
SHMEM_TYPE_IPUTMEM(_iput32, 4)
|
||||
SHMEM_TYPE_IPUTMEM(_iput64, 8)
|
||||
SHMEM_TYPE_IPUTMEM(_iput128, 16)
|
||||
|
@ -23,8 +23,8 @@
|
||||
* data object of the remote PE indicated by the parameter pe. These routines start the remote
|
||||
* transfer and may return before the data is delivered to the remote PE.
|
||||
*/
|
||||
#define SHMEM_TYPE_P(type_name, type) \
|
||||
void shmem##type_name##_p(type *addr, type value, int pe) \
|
||||
#define SHMEM_TYPE_P(type_name, type, ...) \
|
||||
void shmem##__VA_ARGS__##type_name##_p(type *addr, type value, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t size = 0; \
|
||||
@ -54,9 +54,9 @@
|
||||
#pragma weak shmem_float_p = pshmem_float_p
|
||||
#pragma weak shmem_double_p = pshmem_double_p
|
||||
#pragma weak shmem_longdouble_p = pshmem_longdouble_p
|
||||
#pragma weak shmem_int16_p = pshmem_int16_p
|
||||
#pragma weak shmem_int32_p = pshmem_int32_p
|
||||
#pragma weak shmem_int64_p = pshmem_int64_p
|
||||
#pragma weak shmemx_int16_p = pshmemx_int16_p
|
||||
#pragma weak shmemx_int32_p = pshmemx_int32_p
|
||||
#pragma weak shmemx_int64_p = pshmemx_int64_p
|
||||
#include "oshmem/shmem/c/profile/defines.h"
|
||||
#endif
|
||||
|
||||
@ -68,6 +68,6 @@ SHMEM_TYPE_P(_longlong, long long)
|
||||
SHMEM_TYPE_P(_float, float)
|
||||
SHMEM_TYPE_P(_double, double)
|
||||
SHMEM_TYPE_P(_longdouble, long double)
|
||||
SHMEM_TYPE_P(_int16, int16_t)
|
||||
SHMEM_TYPE_P(_int32, int32_t)
|
||||
SHMEM_TYPE_P(_int64, int64_t)
|
||||
SHMEM_TYPE_P(_int16, int16_t, x)
|
||||
SHMEM_TYPE_P(_int32, int32_t, x)
|
||||
SHMEM_TYPE_P(_int64, int64_t, x)
|
||||
|
@ -57,7 +57,7 @@
|
||||
#pragma weak shmem_double_put = pshmem_double_put
|
||||
#pragma weak shmem_longdouble_put = pshmem_longdouble_put
|
||||
#pragma weak shmem_putmem = pshmem_putmem
|
||||
#pragma weak shmem_put16 = pshmem_put16
|
||||
#pragma weak shmemx_put16 = pshmemx_put16
|
||||
#pragma weak shmem_put32 = pshmem_put32
|
||||
#pragma weak shmem_put64 = pshmem_put64
|
||||
#pragma weak shmem_put128 = pshmem_put128
|
||||
@ -73,8 +73,8 @@ SHMEM_TYPE_PUT(_float, float)
|
||||
SHMEM_TYPE_PUT(_double, double)
|
||||
SHMEM_TYPE_PUT(_longdouble, long double)
|
||||
|
||||
#define SHMEM_TYPE_PUTMEM(name, element_size) \
|
||||
void shmem##name(void *target, const void *source, size_t nelems, int pe) \
|
||||
#define SHMEM_TYPE_PUTMEM(name, element_size, ...) \
|
||||
void shmem##__VA_ARGS__##name(void *target, const void *source, size_t nelems, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t size = 0; \
|
||||
@ -95,7 +95,7 @@ SHMEM_TYPE_PUT(_longdouble, long double)
|
||||
}
|
||||
|
||||
SHMEM_TYPE_PUTMEM(_putmem, 1)
|
||||
SHMEM_TYPE_PUTMEM(_put16, 2)
|
||||
SHMEM_TYPE_PUTMEM(_put16, 2, x)
|
||||
SHMEM_TYPE_PUTMEM(_put32, 4)
|
||||
SHMEM_TYPE_PUTMEM(_put64, 8)
|
||||
SHMEM_TYPE_PUTMEM(_put128, 16)
|
||||
|
@ -32,8 +32,8 @@ static bool __group_cache_enabled = true;
|
||||
* object of every PE in the active set. The active set of PEs is defined by the triple PE_start,
|
||||
* logPE_stride and PE_size.
|
||||
*/
|
||||
#define SHMEM_TYPE_REDUCE_OP(name, type_name, type) \
|
||||
void shmem##type_name##_##name##_to_all( type *target, \
|
||||
#define SHMEM_TYPE_REDUCE_OP(name, type_name, type, ...) \
|
||||
void shmem##__VA_ARGS__##type_name##_##name##_to_all( type *target, \
|
||||
type *source, \
|
||||
int nreduce, \
|
||||
int PE_start, \
|
||||
@ -101,25 +101,25 @@ static bool __group_cache_enabled = true;
|
||||
#pragma weak shmem_int_and_to_all = pshmem_int_and_to_all
|
||||
#pragma weak shmem_long_and_to_all = pshmem_long_and_to_all
|
||||
#pragma weak shmem_longlong_and_to_all = pshmem_longlong_and_to_all
|
||||
#pragma weak shmem_int16_and_to_all = pshmem_int16_and_to_all
|
||||
#pragma weak shmem_int32_and_to_all = pshmem_int32_and_to_all
|
||||
#pragma weak shmem_int64_and_to_all = pshmem_int64_and_to_all
|
||||
#pragma weak shmemx_int16_and_to_all = pshmemx_int16_and_to_all
|
||||
#pragma weak shmemx_int32_and_to_all = pshmemx_int32_and_to_all
|
||||
#pragma weak shmemx_int64_and_to_all = pshmemx_int64_and_to_all
|
||||
|
||||
#pragma weak shmem_short_or_to_all = pshmem_short_or_to_all
|
||||
#pragma weak shmem_int_or_to_all = pshmem_int_or_to_all
|
||||
#pragma weak shmem_long_or_to_all = pshmem_long_or_to_all
|
||||
#pragma weak shmem_longlong_or_to_all = pshmem_longlong_or_to_all
|
||||
#pragma weak shmem_int16_or_to_all = pshmem_int16_or_to_all
|
||||
#pragma weak shmem_int32_or_to_all = pshmem_int32_or_to_all
|
||||
#pragma weak shmem_int64_or_to_all = pshmem_int64_or_to_all
|
||||
#pragma weak shmemx_int16_or_to_all = pshmemx_int16_or_to_all
|
||||
#pragma weak shmemx_int32_or_to_all = pshmemx_int32_or_to_all
|
||||
#pragma weak shmemx_int64_or_to_all = pshmemx_int64_or_to_all
|
||||
|
||||
#pragma weak shmem_short_xor_to_all = pshmem_short_xor_to_all
|
||||
#pragma weak shmem_int_xor_to_all = pshmem_int_xor_to_all
|
||||
#pragma weak shmem_long_xor_to_all = pshmem_long_xor_to_all
|
||||
#pragma weak shmem_longlong_xor_to_all = pshmem_longlong_xor_to_all
|
||||
#pragma weak shmem_int16_xor_to_all = pshmem_int16_xor_to_all
|
||||
#pragma weak shmem_int32_xor_to_all = pshmem_int32_xor_to_all
|
||||
#pragma weak shmem_int64_xor_to_all = pshmem_int64_xor_to_all
|
||||
#pragma weak shmemx_int16_xor_to_all = pshmemx_int16_xor_to_all
|
||||
#pragma weak shmemx_int32_xor_to_all = pshmemx_int32_xor_to_all
|
||||
#pragma weak shmemx_int64_xor_to_all = pshmemx_int64_xor_to_all
|
||||
|
||||
#pragma weak shmem_short_max_to_all = pshmem_short_max_to_all
|
||||
#pragma weak shmem_int_max_to_all = pshmem_int_max_to_all
|
||||
@ -128,9 +128,9 @@ static bool __group_cache_enabled = true;
|
||||
#pragma weak shmem_float_max_to_all = pshmem_float_max_to_all
|
||||
#pragma weak shmem_double_max_to_all = pshmem_double_max_to_all
|
||||
#pragma weak shmem_longdouble_max_to_all= pshmem_longdouble_max_to_all
|
||||
#pragma weak shmem_int16_max_to_all = pshmem_int16_max_to_all
|
||||
#pragma weak shmem_int32_max_to_all = pshmem_int32_max_to_all
|
||||
#pragma weak shmem_int64_max_to_all = pshmem_int64_max_to_all
|
||||
#pragma weak shmemx_int16_max_to_all = pshmemx_int16_max_to_all
|
||||
#pragma weak shmemx_int32_max_to_all = pshmemx_int32_max_to_all
|
||||
#pragma weak shmemx_int64_max_to_all = pshmemx_int64_max_to_all
|
||||
|
||||
#pragma weak shmem_short_min_to_all = pshmem_short_min_to_all
|
||||
#pragma weak shmem_int_min_to_all = pshmem_int_min_to_all
|
||||
@ -139,9 +139,9 @@ static bool __group_cache_enabled = true;
|
||||
#pragma weak shmem_float_min_to_all = pshmem_float_min_to_all
|
||||
#pragma weak shmem_double_min_to_all = pshmem_double_min_to_all
|
||||
#pragma weak shmem_longdouble_min_to_all= pshmem_longdouble_min_to_all
|
||||
#pragma weak shmem_int16_min_to_all = pshmem_int16_min_to_all
|
||||
#pragma weak shmem_int32_min_to_all = pshmem_int32_min_to_all
|
||||
#pragma weak shmem_int64_min_to_all = pshmem_int64_min_to_all
|
||||
#pragma weak shmemx_int16_min_to_all = pshmemx_int16_min_to_all
|
||||
#pragma weak shmemx_int32_min_to_all = pshmemx_int32_min_to_all
|
||||
#pragma weak shmemx_int64_min_to_all = pshmemx_int64_min_to_all
|
||||
|
||||
#pragma weak shmem_short_sum_to_all = pshmem_short_sum_to_all
|
||||
#pragma weak shmem_int_sum_to_all = pshmem_int_sum_to_all
|
||||
@ -152,9 +152,9 @@ static bool __group_cache_enabled = true;
|
||||
#pragma weak shmem_longdouble_sum_to_all= pshmem_longdouble_sum_to_all
|
||||
#pragma weak shmem_complexf_sum_to_all = pshmem_complexf_sum_to_all
|
||||
#pragma weak shmem_complexd_sum_to_all = pshmem_complexd_sum_to_all
|
||||
#pragma weak shmem_int16_sum_to_all = pshmem_int16_sum_to_all
|
||||
#pragma weak shmem_int32_sum_to_all = pshmem_int32_sum_to_all
|
||||
#pragma weak shmem_int64_sum_to_all = pshmem_int64_sum_to_all
|
||||
#pragma weak shmemx_int16_sum_to_all = pshmemx_int16_sum_to_all
|
||||
#pragma weak shmemx_int32_sum_to_all = pshmemx_int32_sum_to_all
|
||||
#pragma weak shmemx_int64_sum_to_all = pshmemx_int64_sum_to_all
|
||||
|
||||
#pragma weak shmem_short_prod_to_all = pshmem_short_prod_to_all
|
||||
#pragma weak shmem_int_prod_to_all = pshmem_int_prod_to_all
|
||||
@ -165,9 +165,9 @@ static bool __group_cache_enabled = true;
|
||||
#pragma weak shmem_longdouble_prod_to_all = pshmem_longdouble_prod_to_all
|
||||
#pragma weak shmem_complexf_prod_to_all = pshmem_complexf_prod_to_all
|
||||
#pragma weak shmem_complexd_prod_to_all = pshmem_complexd_prod_to_all
|
||||
#pragma weak shmem_int16_prod_to_all = pshmem_int16_prod_to_all
|
||||
#pragma weak shmem_int32_prod_to_all = pshmem_int32_prod_to_all
|
||||
#pragma weak shmem_int64_prod_to_all = pshmem_int64_prod_to_all
|
||||
#pragma weak shmemx_int16_prod_to_all = pshmemx_int16_prod_to_all
|
||||
#pragma weak shmemx_int32_prod_to_all = pshmemx_int32_prod_to_all
|
||||
#pragma weak shmemx_int64_prod_to_all = pshmemx_int64_prod_to_all
|
||||
#include "oshmem/shmem/c/profile/defines.h"
|
||||
#endif /* OSHMEM_PROFILING */
|
||||
|
||||
@ -175,25 +175,25 @@ SHMEM_TYPE_REDUCE_OP(and, _short, short)
|
||||
SHMEM_TYPE_REDUCE_OP(and, _int, int)
|
||||
SHMEM_TYPE_REDUCE_OP(and, _long, long)
|
||||
SHMEM_TYPE_REDUCE_OP(and, _longlong, long long)
|
||||
SHMEM_TYPE_REDUCE_OP(and, _int16, int16_t)
|
||||
SHMEM_TYPE_REDUCE_OP(and, _int32, int32_t)
|
||||
SHMEM_TYPE_REDUCE_OP(and, _int64, int64_t)
|
||||
SHMEM_TYPE_REDUCE_OP(and, _int16, int16_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(and, _int32, int32_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(and, _int64, int64_t, x)
|
||||
|
||||
SHMEM_TYPE_REDUCE_OP(or, _short, short)
|
||||
SHMEM_TYPE_REDUCE_OP(or, _int, int)
|
||||
SHMEM_TYPE_REDUCE_OP(or, _long, long)
|
||||
SHMEM_TYPE_REDUCE_OP(or, _longlong, long long)
|
||||
SHMEM_TYPE_REDUCE_OP(or, _int16, int16_t)
|
||||
SHMEM_TYPE_REDUCE_OP(or, _int32, int32_t)
|
||||
SHMEM_TYPE_REDUCE_OP(or, _int64, int64_t)
|
||||
SHMEM_TYPE_REDUCE_OP(or, _int16, int16_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(or, _int32, int32_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(or, _int64, int64_t, x)
|
||||
|
||||
SHMEM_TYPE_REDUCE_OP(xor, _short, short)
|
||||
SHMEM_TYPE_REDUCE_OP(xor, _int, int)
|
||||
SHMEM_TYPE_REDUCE_OP(xor, _long, long)
|
||||
SHMEM_TYPE_REDUCE_OP(xor, _longlong, long long)
|
||||
SHMEM_TYPE_REDUCE_OP(xor, _int16, int16_t)
|
||||
SHMEM_TYPE_REDUCE_OP(xor, _int32, int32_t)
|
||||
SHMEM_TYPE_REDUCE_OP(xor, _int64, int64_t)
|
||||
SHMEM_TYPE_REDUCE_OP(xor, _int16, int16_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(xor, _int32, int32_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(xor, _int64, int64_t, x)
|
||||
|
||||
SHMEM_TYPE_REDUCE_OP(max, _short, short)
|
||||
SHMEM_TYPE_REDUCE_OP(max, _int, int)
|
||||
@ -202,9 +202,9 @@ SHMEM_TYPE_REDUCE_OP(max, _longlong, long long)
|
||||
SHMEM_TYPE_REDUCE_OP(max, _float, float)
|
||||
SHMEM_TYPE_REDUCE_OP(max, _double, double)
|
||||
SHMEM_TYPE_REDUCE_OP(max, _longdouble, long double)
|
||||
SHMEM_TYPE_REDUCE_OP(max, _int16, int16_t)
|
||||
SHMEM_TYPE_REDUCE_OP(max, _int32, int32_t)
|
||||
SHMEM_TYPE_REDUCE_OP(max, _int64, int64_t)
|
||||
SHMEM_TYPE_REDUCE_OP(max, _int16, int16_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(max, _int32, int32_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(max, _int64, int64_t, x)
|
||||
|
||||
SHMEM_TYPE_REDUCE_OP(min, _short, short)
|
||||
SHMEM_TYPE_REDUCE_OP(min, _int, int)
|
||||
@ -213,9 +213,9 @@ SHMEM_TYPE_REDUCE_OP(min, _longlong, long long)
|
||||
SHMEM_TYPE_REDUCE_OP(min, _float, float)
|
||||
SHMEM_TYPE_REDUCE_OP(min, _double, double)
|
||||
SHMEM_TYPE_REDUCE_OP(min, _longdouble, long double)
|
||||
SHMEM_TYPE_REDUCE_OP(min, _int16, int16_t)
|
||||
SHMEM_TYPE_REDUCE_OP(min, _int32, int32_t)
|
||||
SHMEM_TYPE_REDUCE_OP(min, _int64, int64_t)
|
||||
SHMEM_TYPE_REDUCE_OP(min, _int16, int16_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(min, _int32, int32_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(min, _int64, int64_t, x)
|
||||
|
||||
SHMEM_TYPE_REDUCE_OP(sum, _short, short)
|
||||
SHMEM_TYPE_REDUCE_OP(sum, _int, int)
|
||||
@ -226,9 +226,9 @@ SHMEM_TYPE_REDUCE_OP(sum, _double, double)
|
||||
SHMEM_TYPE_REDUCE_OP(sum, _longdouble, long double)
|
||||
SHMEM_TYPE_REDUCE_OP(sum, _complexf, float complex)
|
||||
SHMEM_TYPE_REDUCE_OP(sum, _complexd, double complex)
|
||||
SHMEM_TYPE_REDUCE_OP(sum, _int16, int16_t)
|
||||
SHMEM_TYPE_REDUCE_OP(sum, _int32, int32_t)
|
||||
SHMEM_TYPE_REDUCE_OP(sum, _int64, int64_t)
|
||||
SHMEM_TYPE_REDUCE_OP(sum, _int16, int16_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(sum, _int32, int32_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(sum, _int64, int64_t, x)
|
||||
|
||||
SHMEM_TYPE_REDUCE_OP(prod, _short, short)
|
||||
SHMEM_TYPE_REDUCE_OP(prod, _int, int)
|
||||
@ -239,6 +239,6 @@ SHMEM_TYPE_REDUCE_OP(prod, _double, double)
|
||||
SHMEM_TYPE_REDUCE_OP(prod, _longdouble, long double)
|
||||
SHMEM_TYPE_REDUCE_OP(prod, _complexf, float complex)
|
||||
SHMEM_TYPE_REDUCE_OP(prod, _complexd, double complex)
|
||||
SHMEM_TYPE_REDUCE_OP(prod, _int16, int16_t)
|
||||
SHMEM_TYPE_REDUCE_OP(prod, _int32, int32_t)
|
||||
SHMEM_TYPE_REDUCE_OP(prod, _int64, int64_t)
|
||||
SHMEM_TYPE_REDUCE_OP(prod, _int16, int16_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(prod, _int32, int32_t, x)
|
||||
SHMEM_TYPE_REDUCE_OP(prod, _int64, int64_t, x)
|
||||
|
@ -22,8 +22,8 @@
|
||||
* contents of target. The operation must be completed without the possibility of another
|
||||
* process updating target between the time of the fetch and the update.
|
||||
*/
|
||||
#define SHMEM_TYPE_SWAP(type_name, type) \
|
||||
type shmem##type_name##_swap(type *target, type value, int pe) \
|
||||
#define SHMEM_TYPE_SWAP(type_name, type, ...) \
|
||||
type shmem##__VA_ARGS__##type_name##_swap(type *target, type value, int pe) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
size_t size = 0; \
|
||||
@ -54,8 +54,8 @@
|
||||
#pragma weak shmem_longlong_swap = pshmem_longlong_swap
|
||||
#pragma weak shmem_float_swap = pshmem_float_swap
|
||||
#pragma weak shmem_double_swap = pshmem_double_swap
|
||||
#pragma weak shmem_int32_swap = pshmem_int32_swap
|
||||
#pragma weak shmem_int64_swap = pshmem_int64_swap
|
||||
#pragma weak shmemx_int32_swap = pshmemx_int32_swap
|
||||
#pragma weak shmemx_int64_swap = pshmemx_int64_swap
|
||||
#include "oshmem/shmem/c/profile/defines.h"
|
||||
#endif
|
||||
|
||||
@ -65,5 +65,5 @@ SHMEM_TYPE_SWAP(_long, long)
|
||||
SHMEM_TYPE_SWAP(_longlong, long long)
|
||||
SHMEM_TYPE_SWAP(_float, float)
|
||||
SHMEM_TYPE_SWAP(_double, double)
|
||||
SHMEM_TYPE_SWAP(_int32, int32_t)
|
||||
SHMEM_TYPE_SWAP(_int64, int64_t)
|
||||
SHMEM_TYPE_SWAP(_int32, int32_t, x)
|
||||
SHMEM_TYPE_SWAP(_int64, int64_t, x)
|
||||
|
@ -21,8 +21,8 @@
|
||||
* A call to any shmem_wait() routine does not return until some other processor makes the
|
||||
* value at address var not equal to value.
|
||||
*/
|
||||
#define SHMEM_TYPE_WAIT(type_name, type, code) \
|
||||
void shmem##type_name##_wait(type *addr, type value) \
|
||||
#define SHMEM_TYPE_WAIT(type_name, type, code, ...) \
|
||||
void shmem##__VA_ARGS__##type_name##_wait(type *addr, type value) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
\
|
||||
@ -45,15 +45,15 @@
|
||||
#pragma weak shmem_int_wait = pshmem_int_wait
|
||||
#pragma weak shmem_long_wait = pshmem_long_wait
|
||||
#pragma weak shmem_longlong_wait = pshmem_longlong_wait
|
||||
#pragma weak shmem_int32_wait = pshmem_int32_wait
|
||||
#pragma weak shmem_int64_wait = pshmem_int64_wait
|
||||
#pragma weak shmemx_int32_wait = pshmemx_int32_wait
|
||||
#pragma weak shmemx_int64_wait = pshmemx_int64_wait
|
||||
#pragma weak shmem_wait_until = pshmem_wait_until
|
||||
#pragma weak shmem_short_wait_until = pshmem_short_wait_until
|
||||
#pragma weak shmem_int_wait_until = pshmem_int_wait_until
|
||||
#pragma weak shmem_long_wait_until = pshmem_long_wait_until
|
||||
#pragma weak shmem_longlong_wait_until = pshmem_longlong_wait_until
|
||||
#pragma weak shmem_int32_wait_until = pshmem_int32_wait_until
|
||||
#pragma weak shmem_int64_wait_until = pshmem_int64_wait_until
|
||||
#pragma weak shmemx_int32_wait_until = pshmemx_int32_wait_until
|
||||
#pragma weak shmemx_int64_wait_until = pshmemx_int64_wait_until
|
||||
#include "oshmem/shmem/c/profile/defines.h"
|
||||
#endif
|
||||
|
||||
@ -62,11 +62,11 @@ SHMEM_TYPE_WAIT(_short, short, SHMEM_SHORT)
|
||||
SHMEM_TYPE_WAIT(_int, int, SHMEM_INT)
|
||||
SHMEM_TYPE_WAIT(_long, long, SHMEM_LONG)
|
||||
SHMEM_TYPE_WAIT(_longlong, long long, SHMEM_LLONG)
|
||||
SHMEM_TYPE_WAIT(_int32, int32_t, SHMEM_INT32_T)
|
||||
SHMEM_TYPE_WAIT(_int64, int64_t, SHMEM_INT64_T)
|
||||
SHMEM_TYPE_WAIT(_int32, int32_t, SHMEM_INT32_T, x)
|
||||
SHMEM_TYPE_WAIT(_int64, int64_t, SHMEM_INT64_T, x)
|
||||
|
||||
#define SHMEM_TYPE_WAIT_UNTIL(type_name, type, code) \
|
||||
void shmem##type_name##_wait_until(type *addr, int cmp, type value) \
|
||||
#define SHMEM_TYPE_WAIT_UNTIL(type_name, type, code, ...) \
|
||||
void shmem##__VA_ARGS__##type_name##_wait_until(type *addr, int cmp, type value) \
|
||||
{ \
|
||||
int rc = OSHMEM_SUCCESS; \
|
||||
\
|
||||
@ -87,5 +87,5 @@ SHMEM_TYPE_WAIT_UNTIL(_short, short, SHMEM_SHORT)
|
||||
SHMEM_TYPE_WAIT_UNTIL(_int, int, SHMEM_INT)
|
||||
SHMEM_TYPE_WAIT_UNTIL(_long, long, SHMEM_LONG)
|
||||
SHMEM_TYPE_WAIT_UNTIL(_longlong, long long, SHMEM_LLONG)
|
||||
SHMEM_TYPE_WAIT_UNTIL(_int32, int32_t, SHMEM_INT32_T)
|
||||
SHMEM_TYPE_WAIT_UNTIL(_int64, int64_t, SHMEM_INT64_T)
|
||||
SHMEM_TYPE_WAIT_UNTIL(_int32, int32_t, SHMEM_INT32_T, x)
|
||||
SHMEM_TYPE_WAIT_UNTIL(_int64, int64_t, SHMEM_INT64_T, x)
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user