1
1

oshmem: Align OSHMEM API with spec v1.3 (shmem_wait change signature)

Annex G:
Version 1.3
Added volatile to remotely accessible pointer argument in SHMEM_WAIT
See Sections 8.7.1
Этот коммит содержится в:
Igor Ivanov 2016-04-13 16:09:54 +03:00
родитель e500ea2c8c
Коммит a52b0797fc
4 изменённых файлов: 40 добавлений и 40 удалений

Просмотреть файл

@ -253,17 +253,17 @@ OSHMEM_DECLSPEC int pshmem_test_lock(long *lock);
/*
* P2P sync routines
*/
OSHMEM_DECLSPEC void pshmem_short_wait(short *addr, short value);
OSHMEM_DECLSPEC void pshmem_int_wait(int *addr, int value);
OSHMEM_DECLSPEC void pshmem_long_wait(long *addr, long value);
OSHMEM_DECLSPEC void pshmem_longlong_wait(long long *addr, long long value);
OSHMEM_DECLSPEC void pshmem_wait(long *addr, long value);
OSHMEM_DECLSPEC void pshmem_short_wait(volatile short *addr, short value);
OSHMEM_DECLSPEC void pshmem_int_wait(volatile int *addr, int value);
OSHMEM_DECLSPEC void pshmem_long_wait(volatile long *addr, long value);
OSHMEM_DECLSPEC void pshmem_longlong_wait(volatile long long *addr, long long value);
OSHMEM_DECLSPEC void pshmem_wait(volatile long *addr, long value);
OSHMEM_DECLSPEC void pshmem_short_wait_until(short *addr, int cmp, short value);
OSHMEM_DECLSPEC void pshmem_int_wait_until(int *addr, int cmp, int value);
OSHMEM_DECLSPEC void pshmem_long_wait_until(long *addr, int cmp, long value);
OSHMEM_DECLSPEC void pshmem_longlong_wait_until(long long *addr, int cmp, long long value);
OSHMEM_DECLSPEC void pshmem_wait_until(long *addr, int cmp, long value);
OSHMEM_DECLSPEC void pshmem_short_wait_until(volatile short *addr, int cmp, short value);
OSHMEM_DECLSPEC void pshmem_int_wait_until(volatile int *addr, int cmp, int value);
OSHMEM_DECLSPEC void pshmem_long_wait_until(volatile long *addr, int cmp, long value);
OSHMEM_DECLSPEC void pshmem_longlong_wait_until(volatile long long *addr, int cmp, long long value);
OSHMEM_DECLSPEC void pshmem_wait_until(volatile long *addr, int cmp, long value);
/*
* Barrier sync routines

Просмотреть файл

@ -316,17 +316,17 @@ OSHMEM_DECLSPEC int shmem_test_lock(long *lock);
/*
* P2P sync routines
*/
OSHMEM_DECLSPEC void shmem_short_wait(short *addr, short value);
OSHMEM_DECLSPEC void shmem_int_wait(int *addr, int value);
OSHMEM_DECLSPEC void shmem_long_wait(long *addr, long value);
OSHMEM_DECLSPEC void shmem_longlong_wait(long long *addr, long long value);
OSHMEM_DECLSPEC void shmem_wait(long *addr, long value);
OSHMEM_DECLSPEC void shmem_short_wait(volatile short *addr, short value);
OSHMEM_DECLSPEC void shmem_int_wait(volatile int *addr, int value);
OSHMEM_DECLSPEC void shmem_long_wait(volatile long *addr, long value);
OSHMEM_DECLSPEC void shmem_longlong_wait(volatile long long *addr, long long value);
OSHMEM_DECLSPEC void shmem_wait(volatile long *addr, long value);
OSHMEM_DECLSPEC void shmem_short_wait_until(short *addr, int cmp, short value);
OSHMEM_DECLSPEC void shmem_int_wait_until(int *addr, int cmp, int value);
OSHMEM_DECLSPEC void shmem_long_wait_until(long *addr, int cmp, long value);
OSHMEM_DECLSPEC void shmem_longlong_wait_until(long long *addr, int cmp, long long value);
OSHMEM_DECLSPEC void shmem_wait_until(long *addr, int cmp, long value);
OSHMEM_DECLSPEC void shmem_short_wait_until(volatile short *addr, int cmp, short value);
OSHMEM_DECLSPEC void shmem_int_wait_until(volatile int *addr, int cmp, int value);
OSHMEM_DECLSPEC void shmem_long_wait_until(volatile long *addr, int cmp, long value);
OSHMEM_DECLSPEC void shmem_longlong_wait_until(volatile long long *addr, int cmp, long long value);
OSHMEM_DECLSPEC void shmem_wait_until(volatile long *addr, int cmp, long value);
/*
* Barrier sync routines

Просмотреть файл

@ -57,11 +57,11 @@
#include "oshmem/shmem/c/profile/defines.h"
#endif
SHMEM_TYPE_WAIT(, long, SHMEM_LONG, shmem)
SHMEM_TYPE_WAIT(_short, short, SHMEM_SHORT, shmem)
SHMEM_TYPE_WAIT(_int, int, SHMEM_INT, shmem)
SHMEM_TYPE_WAIT(_long, long, SHMEM_LONG, shmem)
SHMEM_TYPE_WAIT(_longlong, long long, SHMEM_LLONG, shmem)
SHMEM_TYPE_WAIT(, volatile long, SHMEM_LONG, shmem)
SHMEM_TYPE_WAIT(_short, volatile short, SHMEM_SHORT, shmem)
SHMEM_TYPE_WAIT(_int, volatile int, SHMEM_INT, shmem)
SHMEM_TYPE_WAIT(_long, volatile long, SHMEM_LONG, shmem)
SHMEM_TYPE_WAIT(_longlong, volatile long long, SHMEM_LLONG, shmem)
SHMEM_TYPE_WAIT(_int32, int32_t, SHMEM_INT32_T, shmemx)
SHMEM_TYPE_WAIT(_int64, int64_t, SHMEM_INT64_T, shmemx)
@ -82,10 +82,10 @@ SHMEM_TYPE_WAIT(_int64, int64_t, SHMEM_INT64_T, shmemx)
return ; \
}
SHMEM_TYPE_WAIT_UNTIL(, long, SHMEM_LONG, shmem)
SHMEM_TYPE_WAIT_UNTIL(_short, short, SHMEM_SHORT, shmem)
SHMEM_TYPE_WAIT_UNTIL(_int, int, SHMEM_INT, shmem)
SHMEM_TYPE_WAIT_UNTIL(_long, long, SHMEM_LONG, shmem)
SHMEM_TYPE_WAIT_UNTIL(_longlong, long long, SHMEM_LLONG, shmem)
SHMEM_TYPE_WAIT_UNTIL(, volatile long, SHMEM_LONG, shmem)
SHMEM_TYPE_WAIT_UNTIL(_short, volatile short, SHMEM_SHORT, shmem)
SHMEM_TYPE_WAIT_UNTIL(_int, volatile int, SHMEM_INT, shmem)
SHMEM_TYPE_WAIT_UNTIL(_long, volatile long, SHMEM_LONG, shmem)
SHMEM_TYPE_WAIT_UNTIL(_longlong, volatile long long, SHMEM_LLONG, shmem)
SHMEM_TYPE_WAIT_UNTIL(_int32, int32_t, SHMEM_INT32_T, shmemx)
SHMEM_TYPE_WAIT_UNTIL(_int64, int64_t, SHMEM_INT64_T, shmemx)

Просмотреть файл

@ -35,27 +35,27 @@ C or C++:
.Vb
#include <mpp/shmem.h>
void shmem_int_wait(int *var, int value);
void shmem_int_wait(volatile int *var, int value);
void shmem_int_wait_until(int *var, int cond, int value);
void shmem_int_wait_until(volatile int *var, int cond, int value);
void shmem_long_wait(long *var, long value);
void shmem_long_wait(volatile long *var, long value);
void shmem_long_wait_until(long *var, int cond, long value);
void shmem_long_wait_until(volatile long *var, int cond, long value);
void shmem_longlong_wait(long long *var, long long value);
void shmem_longlong_wait(volatile long long *var, long long value);
void shmem_longlong_wait_until(long long *var, int cond,
void shmem_longlong_wait_until(volatile long long *var, int cond,
long long value);
void shmem_short_wait(short *var, short value);
void shmem_short_wait(volatile short *var, short value);
void shmem_short_wait_until(short *var, int cond,
void shmem_short_wait_until(volatile short *var, int cond,
short value);
void shmem_wait(long *ivar, long cmp_value);
void shmem_wait(volatile long *ivar, long cmp_value);
void shmem_wait_until(long *ivar, int cmp, long value);
void shmem_wait_until(volatile long *ivar, int cmp, long value);
.Ve
Fortran:
.Vb