1
1

OSHMEM: align with OSHMEM SPEC v1.0

- add some missing APIs
- change signature od shmem_finalize to comply with SGI spec

fixed by Roman, reviewed by Igor/Miked

Refs trac:4520

This commit was SVN r31413.

The following Trac tickets were found above:
  Ticket 4520 --> https://svn.open-mpi.org/trac/ompi/ticket/4520
Этот коммит содержится в:
Mike Dubman 2014-04-16 18:01:17 +00:00
родитель b0ade11ae4
Коммит b354dc92f2
6 изменённых файлов: 13 добавлений и 3 удалений

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

@ -84,6 +84,7 @@ OSHMEM_DECLSPEC void *pshmem_ptr(void *ptr, int pe);
/* /*
* Elemental put routines * Elemental put routines
*/ */
OSHMEM_DECLSPEC void pshmem_char_p(char* addr, char value, int pe);
OSHMEM_DECLSPEC void pshmem_short_p(short* addr, short value, int pe); OSHMEM_DECLSPEC void pshmem_short_p(short* addr, short value, int pe);
OSHMEM_DECLSPEC void pshmem_int_p(int* addr, int value, int pe); OSHMEM_DECLSPEC void pshmem_int_p(int* addr, int value, int pe);
OSHMEM_DECLSPEC void pshmem_long_p(long* addr, long value, int pe); OSHMEM_DECLSPEC void pshmem_long_p(long* addr, long value, int pe);
@ -125,6 +126,7 @@ OSHMEM_DECLSPEC void pshmem_iput128(void* target, const void* source, ptrdiff_t
/* /*
* Elemental get routines * Elemental get routines
*/ */
OSHMEM_DECLSPEC char pshmem_char_g(char* addr, int pe);
OSHMEM_DECLSPEC short pshmem_short_g(short* addr, int pe); OSHMEM_DECLSPEC short pshmem_short_g(short* addr, int pe);
OSHMEM_DECLSPEC int pshmem_int_g(int* addr, int pe); OSHMEM_DECLSPEC int pshmem_int_g(int* addr, int pe);
OSHMEM_DECLSPEC long pshmem_long_g(long* addr, int pe); OSHMEM_DECLSPEC long pshmem_long_g(long* addr, int pe);

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

@ -135,6 +135,7 @@ OSHMEM_DECLSPEC void *shmem_ptr(void *ptr, int pe);
/* /*
* Elemental put routines * Elemental put routines
*/ */
OSHMEM_DECLSPEC void shmem_char_p(char* addr, char value, int pe);
OSHMEM_DECLSPEC void shmem_short_p(short* addr, short value, int pe); OSHMEM_DECLSPEC void shmem_short_p(short* addr, short value, int pe);
OSHMEM_DECLSPEC void shmem_int_p(int* addr, int value, int pe); OSHMEM_DECLSPEC void shmem_int_p(int* addr, int value, int pe);
OSHMEM_DECLSPEC void shmem_long_p(long* addr, long value, int pe); OSHMEM_DECLSPEC void shmem_long_p(long* addr, long value, int pe);
@ -176,6 +177,7 @@ OSHMEM_DECLSPEC void shmem_iput128(void* target, const void* source, ptrdiff_t t
/* /*
* Elemental get routines * Elemental get routines
*/ */
OSHMEM_DECLSPEC char shmem_char_g(char* addr, int pe);
OSHMEM_DECLSPEC short shmem_short_g(short* addr, int pe); OSHMEM_DECLSPEC short shmem_short_g(short* addr, int pe);
OSHMEM_DECLSPEC int shmem_int_g(int* addr, int pe); OSHMEM_DECLSPEC int shmem_int_g(int* addr, int pe);
OSHMEM_DECLSPEC long shmem_long_g(long* addr, int pe); OSHMEM_DECLSPEC long shmem_long_g(long* addr, int pe);
@ -363,7 +365,7 @@ OSHMEM_DECLSPEC int my_pe(void);
/* old init/destruct functions - not in the open shmem spec but still supported */ /* old init/destruct functions - not in the open shmem spec but still supported */
OSHMEM_DECLSPEC void shmem_init(void); OSHMEM_DECLSPEC void shmem_init(void);
OSHMEM_DECLSPEC int shmem_finalize(void) OSHMEM_DESTRUCTOR; OSHMEM_DECLSPEC void shmem_finalize(void) OSHMEM_DESTRUCTOR;
OSHMEM_DECLSPEC int shmem_n_pes(void); OSHMEM_DECLSPEC int shmem_n_pes(void);
OSHMEM_DECLSPEC int shmem_my_pe(void); OSHMEM_DECLSPEC int shmem_my_pe(void);

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

@ -49,6 +49,7 @@
/* /*
* Elemental put routines * Elemental put routines
*/ */
#define shmem_char_p pshmem_char_p
#define shmem_short_p pshmem_short_p #define shmem_short_p pshmem_short_p
#define shmem_int_p pshmem_int_p #define shmem_int_p pshmem_int_p
#define shmem_long_p pshmem_long_p #define shmem_long_p pshmem_long_p
@ -90,6 +91,7 @@
/* /*
* Elemental get routines * Elemental get routines
*/ */
#define shmem_char_g pshmem_char_g
#define shmem_short_g pshmem_short_g #define shmem_short_g pshmem_short_g
#define shmem_int_g pshmem_int_g #define shmem_int_g pshmem_int_g
#define shmem_long_g pshmem_long_g #define shmem_long_g pshmem_long_g

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

@ -16,10 +16,10 @@
#include "oshmem/include/shmem.h" #include "oshmem/include/shmem.h"
#include "oshmem/runtime/runtime.h" #include "oshmem/runtime/runtime.h"
int shmem_finalize(void) void shmem_finalize(void)
{ {
OPAL_CR_FINALIZE_LIBRARY(); OPAL_CR_FINALIZE_LIBRARY();
return oshmem_shmem_finalize(); oshmem_shmem_finalize();
} }

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

@ -44,6 +44,7 @@
} }
#if OSHMEM_PROFILING #if OSHMEM_PROFILING
#pragma weak shmem_char_g = pshmem_char_g
#pragma weak shmem_short_g = pshmem_short_g #pragma weak shmem_short_g = pshmem_short_g
#pragma weak shmem_int_g = pshmem_int_g #pragma weak shmem_int_g = pshmem_int_g
#pragma weak shmem_long_g = pshmem_long_g #pragma weak shmem_long_g = pshmem_long_g
@ -54,6 +55,7 @@
#include "oshmem/shmem/c/profile/defines.h" #include "oshmem/shmem/c/profile/defines.h"
#endif #endif
SHMEM_TYPE_G(_char, char)
SHMEM_TYPE_G(_short, short) SHMEM_TYPE_G(_short, short)
SHMEM_TYPE_G(_int, int) SHMEM_TYPE_G(_int, int)
SHMEM_TYPE_G(_long, long) SHMEM_TYPE_G(_long, long)

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

@ -45,6 +45,7 @@
} }
#if OSHMEM_PROFILING #if OSHMEM_PROFILING
#pragma weak shmem_char_p = pshmem_char_p
#pragma weak shmem_short_p = pshmem_short_p #pragma weak shmem_short_p = pshmem_short_p
#pragma weak shmem_int_p = pshmem_int_p #pragma weak shmem_int_p = pshmem_int_p
#pragma weak shmem_long_p = pshmem_long_p #pragma weak shmem_long_p = pshmem_long_p
@ -55,6 +56,7 @@
#include "oshmem/shmem/c/profile/defines.h" #include "oshmem/shmem/c/profile/defines.h"
#endif #endif
SHMEM_TYPE_P(_char, char)
SHMEM_TYPE_P(_short, short) SHMEM_TYPE_P(_short, short)
SHMEM_TYPE_P(_int, int) SHMEM_TYPE_P(_int, int)
SHMEM_TYPE_P(_long, long) SHMEM_TYPE_P(_long, long)