Skip to content

OSHMEM v1.3: c11 generics (DNM before #2103) #2122

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Sep 27, 2016
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
191 changes: 184 additions & 7 deletions oshmem/include/pshmem.h

Large diffs are not rendered by default.

10 changes: 0 additions & 10 deletions oshmem/include/pshmemx.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,10 @@ OSHMEM_DECLSPEC void pshmemx_int64_p(int64_t* addr, int64_t value, int pe);
/*
* Block data put routines
*/
OSHMEM_DECLSPEC void pshmemx_put16(void *target, const void *source, size_t len, int pe);

/*
* Strided put routines
*/
OSHMEM_DECLSPEC void pshmemx_iput16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);

/*
* Elemental get routines
Expand All @@ -67,12 +65,10 @@ OSHMEM_DECLSPEC int64_t pshmemx_int64_g(const int64_t* addr, int pe);
/*
* Block data get routines
*/
OSHMEM_DECLSPEC void pshmemx_get16(void *target, const void *source, size_t len, int pe);

/*
* Strided get routines
*/
OSHMEM_DECLSPEC void pshmemx_iget16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);

/*
* Atomic operations
Expand Down Expand Up @@ -156,16 +152,10 @@ OSHMEM_DECLSPEC void pshmemx_int64_prod_to_all(int64_t *target, const int64_t *s
#define pshmem_int32_p pshmemx_int32_p
#define pshmem_int64_p pshmemx_int64_p

#define pshmem_put16 pshmemx_put16
#define pshmem_iput16 pshmemx_iput16

#define pshmem_int16_g pshmemx_int16_g
#define pshmem_int32_g pshmemx_int32_g
#define pshmem_int64_g pshmemx_int64_g

#define pshmem_get16 pshmemx_get16
#define pshmem_iget16 pshmemx_iget16

#define pshmem_int32_swap pshmemx_int32_swap
#define pshmem_int64_swap pshmemx_int64_swap

Expand Down
193 changes: 187 additions & 6 deletions oshmem/include/shmem.h.in

Large diffs are not rendered by default.

10 changes: 0 additions & 10 deletions oshmem/include/shmemx.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,10 @@ OSHMEM_DECLSPEC void shmemx_int64_p(int64_t* addr, int64_t value, int pe);
/*
* Block data put routines
*/
OSHMEM_DECLSPEC void shmemx_put16(void *target, const void *source, size_t len, int pe);

/*
* Strided put routines
*/
OSHMEM_DECLSPEC void shmemx_iput16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);

/*
* Elemental get routines
Expand All @@ -52,12 +50,10 @@ OSHMEM_DECLSPEC int64_t shmemx_int64_g(const int64_t* addr, int pe);
/*
* Block data get routines
*/
OSHMEM_DECLSPEC void shmemx_get16(void *target, const void *source, size_t len, int pe);

/*
* Strided get routines
*/
OSHMEM_DECLSPEC void shmemx_iget16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);

/*
* Atomic operations
Expand Down Expand Up @@ -141,16 +137,10 @@ OSHMEM_DECLSPEC void shmemx_int64_prod_to_all(int64_t *target, const int64_t *so
#define shmem_int32_p shmemx_int32_p
#define shmem_int64_p shmemx_int64_p

#define shmem_put16 shmemx_put16
#define shmem_iput16 shmemx_iput16

#define shmem_int16_g shmemx_int16_g
#define shmem_int32_g shmemx_int32_g
#define shmem_int64_g shmemx_int64_g

#define shmem_get16 shmemx_get16
#define shmem_iget16 shmemx_iget16

#define shmem_int32_swap shmemx_int32_swap
#define shmem_int64_swap shmemx_int64_swap

Expand Down
23 changes: 16 additions & 7 deletions oshmem/shmem/c/profile/defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,9 @@
#define shmem_double_put pshmem_double_put
#define shmem_longlong_put pshmem_longlong_put
#define shmem_longdouble_put pshmem_longdouble_put
#define shmemx_put16 pshmemx_put16

#define shmem_put8 pshmem_put8
#define shmem_put16 pshmem_put16
#define shmem_put32 pshmem_put32
#define shmem_put64 pshmem_put64
#define shmem_put128 pshmem_put128
Expand All @@ -95,14 +97,17 @@
/*
* Strided put routines
*/
#define shmem_int_iput pshmem_int_iput
#define shmem_char_iput pshmem_char_iput
#define shmem_short_iput pshmem_short_iput
#define shmem_int_iput pshmem_int_iput
#define shmem_float_iput pshmem_float_iput
#define shmem_double_iput pshmem_double_iput
#define shmem_longlong_iput pshmem_longlong_iput
#define shmem_longdouble_iput pshmem_longdouble_iput
#define shmem_long_iput pshmem_long_iput
#define shmemx_iput16 pshmemx_iput16

#define shmem_iput8 pshmem_iput8
#define shmem_iput16 pshmem_iput16
#define shmem_iput32 pshmem_iput32
#define shmem_iput64 pshmem_iput64
#define shmem_iput128 pshmem_iput128
Expand Down Expand Up @@ -151,7 +156,9 @@
#define shmem_double_get pshmem_double_get
#define shmem_longlong_get pshmem_longlong_get
#define shmem_longdouble_get pshmem_longdouble_get
#define shmemx_get16 pshmemx_get16

#define shmem_get8 pshmem_get8
#define shmem_get16 pshmem_get16
#define shmem_get32 pshmem_get32
#define shmem_get64 pshmem_get64
#define shmem_get128 pshmem_get128
Expand All @@ -160,14 +167,17 @@
/*
* Strided get routines
*/
#define shmem_int_iget pshmem_int_iget
#define shmem_char_iget pshmem_char_iget
#define shmem_short_iget pshmem_short_iget
#define shmem_int_iget pshmem_int_iget
#define shmem_float_iget pshmem_float_iget
#define shmem_double_iget pshmem_double_iget
#define shmem_longlong_iget pshmem_longlong_iget
#define shmem_longdouble_iget pshmem_longdouble_iget
#define shmem_long_iget pshmem_long_iget
#define shmemx_iget16 pshmemx_iget16

#define shmem_iget8 pshmem_iget8
#define shmem_iget16 pshmem_iget16
#define shmem_iget32 pshmem_iget32
#define shmem_iget64 pshmem_iget64
#define shmem_iget128 pshmem_iget128
Expand All @@ -194,7 +204,6 @@
* Atomic operations
*/
/* Atomic swap */
#define shmem_swap pshmem_swap
#define shmem_double_swap pshmem_double_swap
#define shmem_float_swap pshmem_float_swap
#define shmem_int_swap pshmem_int_swap
Expand Down
7 changes: 4 additions & 3 deletions oshmem/shmem/c/shmem_get.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@
#pragma weak shmem_double_get = pshmem_double_get
#pragma weak shmem_longdouble_get = pshmem_longdouble_get
#pragma weak shmem_getmem = pshmem_getmem
#pragma weak shmemx_get16 = pshmemx_get16
#pragma weak shmem_get8 = pshmem_get8
#pragma weak shmem_get16 = pshmem_get16
#pragma weak shmem_get32 = pshmem_get32
#pragma weak shmem_get64 = pshmem_get64
#pragma weak shmem_get128 = pshmem_get128
Expand Down Expand Up @@ -92,9 +93,9 @@ SHMEM_TYPE_GET(_longdouble, long double)
}

SHMEM_TYPE_GETMEM(_getmem, 1, shmem)
SHMEM_TYPE_GETMEM(_get16, 2, shmemx)
SHMEM_TYPE_GETMEM(_get8, 1, shmem)
SHMEM_TYPE_GETMEM(_get16, 2, shmem)
SHMEM_TYPE_GETMEM(_get32, 4, shmem)
SHMEM_TYPE_GETMEM(_get64, 8, shmem)
SHMEM_TYPE_GETMEM(_get128, 16, shmem)

SHMEM_TYPE_GETMEM(_get, sizeof(long), shmem)
9 changes: 7 additions & 2 deletions oshmem/shmem/c/shmem_iget.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,20 +50,23 @@

#if OSHMEM_PROFILING
#include "oshmem/include/pshmem.h"
#pragma weak shmem_char_iget = pshmem_char_iget
#pragma weak shmem_short_iget = pshmem_short_iget
#pragma weak shmem_int_iget = pshmem_int_iget
#pragma weak shmem_long_iget = pshmem_long_iget
#pragma weak shmem_longlong_iget = pshmem_longlong_iget
#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_iget8 = pshmem_iget8
#pragma weak shmem_iget16 = pshmem_iget16
#pragma weak shmem_iget32 = pshmem_iget32
#pragma weak shmem_iget64 = pshmem_iget64
#pragma weak shmem_iget128 = pshmem_iget128
#include "oshmem/shmem/c/profile/defines.h"
#endif

SHMEM_TYPE_IGET(_char, char)
SHMEM_TYPE_IGET(_short, short)
SHMEM_TYPE_IGET(_int, int)
SHMEM_TYPE_IGET(_long, long)
Expand Down Expand Up @@ -95,7 +98,9 @@ SHMEM_TYPE_IGET(_longdouble, long double)
return ; \
}

SHMEM_TYPE_IGETMEM(_iget16, 2, shmemx)
SHMEM_TYPE_IGETMEM(_iget8, 1, shmem)
SHMEM_TYPE_IGETMEM(_iget16, 2, shmem)
SHMEM_TYPE_IGETMEM(_iget32, 4, shmem)
SHMEM_TYPE_IGETMEM(_iget64, 8, shmem)
SHMEM_TYPE_IGETMEM(_iget128, 16, shmem)

8 changes: 6 additions & 2 deletions oshmem/shmem/c/shmem_iput.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,20 +50,23 @@

#if OSHMEM_PROFILING
#include "oshmem/include/pshmem.h"
#pragma weak shmem_char_iput = pshmem_char_iput
#pragma weak shmem_short_iput = pshmem_short_iput
#pragma weak shmem_int_iput = pshmem_int_iput
#pragma weak shmem_long_iput = pshmem_long_iput
#pragma weak shmem_longlong_iput = pshmem_longlong_iput
#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 shmemx_iput16 = pshmemx_iput16
#pragma weak shmemx_iput8 = pshmem_iput8
#pragma weak shmemx_iput16 = pshmem_iput16
#pragma weak shmem_iput32 = pshmem_iput32
#pragma weak shmem_iput64 = pshmem_iput64
#pragma weak shmem_iput128 = pshmem_iput128
#include "oshmem/shmem/c/profile/defines.h"
#endif

SHMEM_TYPE_IPUT(_char, char)
SHMEM_TYPE_IPUT(_short, short)
SHMEM_TYPE_IPUT(_int, int)
SHMEM_TYPE_IPUT(_long, long)
Expand Down Expand Up @@ -95,7 +98,8 @@ SHMEM_TYPE_IPUT(_longdouble, long double)
return ; \
}

SHMEM_TYPE_IPUTMEM(_iput16, 2, shmemx)
SHMEM_TYPE_IPUTMEM(_iput8, 1, shmem)
SHMEM_TYPE_IPUTMEM(_iput16, 2, shmem)
SHMEM_TYPE_IPUTMEM(_iput32, 4, shmem)
SHMEM_TYPE_IPUTMEM(_iput64, 8, shmem)
SHMEM_TYPE_IPUTMEM(_iput128, 16, shmem)
Loading