Skip to content

Commit

Permalink
oshmem: Align OSHMEM API with spec v1.3 (Add nonblocking put/get Fort…
Browse files Browse the repository at this point in the history
…ran functions)
  • Loading branch information
igor-ivanov committed Mar 17, 2016
1 parent abe7ba5 commit 7013914
Show file tree
Hide file tree
Showing 7 changed files with 674 additions and 1 deletion.
2 changes: 2 additions & 0 deletions oshmem/shmem/fortran/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ liboshmem_fortran_la_SOURCES += \
shmem_iput8_f.c \
shmem_logical_iput_f.c \
shmem_real_iput_f.c \
shmem_put_nb_f.c \
shmem_character_get_f.c \
shmem_complex_get_f.c \
shmem_double_get_f.c \
Expand All @@ -91,6 +92,7 @@ liboshmem_fortran_la_SOURCES += \
shmem_integer_iget_f.c \
shmem_logical_iget_f.c \
shmem_real_iget_f.c \
shmem_get_nb_f.c \
shmem_swap_f.c \
shmem_int4_swap_f.c \
shmem_int8_swap_f.c \
Expand Down
2 changes: 2 additions & 0 deletions oshmem/shmem/fortran/profile/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ nodist_liboshmem_fortran_pshmem_la_SOURCES = \
pshmem_iput8_f.c \
pshmem_logical_iput_f.c \
pshmem_real_iput_f.c \
pshmem_put_nb_f.c \
pshmem_character_get_f.c \
pshmem_complex_get_f.c \
pshmem_double_get_f.c \
Expand All @@ -83,6 +84,7 @@ nodist_liboshmem_fortran_pshmem_la_SOURCES = \
pshmem_integer_iget_f.c \
pshmem_logical_iget_f.c \
pshmem_real_iget_f.c \
pshmem_get_nb_f.c \
pshmem_swap_f.c \
pshmem_int4_swap_f.c \
pshmem_int8_swap_f.c \
Expand Down
110 changes: 109 additions & 1 deletion oshmem/shmem/fortran/profile/defines.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2014 Mellanox Technologies, Inc.
* Copyright (c) 2014-2016 Mellanox Technologies, Inc.
* All rights reserved.
* $COPYRIGHT$
*
Expand Down Expand Up @@ -118,6 +118,10 @@
#define shmem_character_put_ pshmem_character_put_
#define shmem_character_put__ pshmem_character_put__

#define SHMEM_CHARACTER_PUT_NBI PSHMEM_CHARACTER_PUT_NBI
#define shmem_character_put_nbi_ pshmem_character_put_nbi_
#define shmem_character_put_nbi__ pshmem_character_put_nbi__

#define SHMEM_COLLECT4 PSHMEM_COLLECT4
#define shmem_collect4_ pshmem_collect4_
#define shmem_collect4__ pshmem_collect4__
Expand Down Expand Up @@ -166,6 +170,10 @@
#define shmem_complex_put_ pshmem_complex_put_
#define shmem_complex_put__ pshmem_complex_put__

#define SHMEM_COMPLEX_PUT_NBI PSHMEM_COMPLEX_PUT_NBI
#define shmem_complex_put_nbi_ pshmem_complex_put_nbi_
#define shmem_complex_put_nbi__ pshmem_complex_put_nbi__

#define SHMEM_DOUBLE_GET PSHMEM_DOUBLE_GET
#define shmem_double_get_ pshmem_double_get_
#define shmem_double_get__ pshmem_double_get__
Expand All @@ -182,6 +190,10 @@
#define shmem_double_put_ pshmem_double_put_
#define shmem_double_put__ pshmem_double_put__

#define SHMEM_DOUBLE_PUT_NBI PSHMEM_DOUBLE_PUT_NBI
#define shmem_double_put_nbi_ pshmem_double_put_nbi_
#define shmem_double_put_nbi__ pshmem_double_put_nbi__

#define SHMEM_FENCE PSHMEM_FENCE
#define shmem_fence_ pshmem_fence_
#define shmem_fence__ pshmem_fence__
Expand Down Expand Up @@ -230,6 +242,102 @@
#define shmem_iget8_ pshmem_iget8_
#define shmem_iget8__ pshmem_iget8__

#define SHMEM_GETMEM_NBI PSHMEM_GETMEM_NBI
#define shmem_getmem_nbi_ pshmem_getmem_nbi_
#define shmem_getmem_nbi__ pshmem_getmem_nbi__

#define SHMEM_CHARACTER_GET_NBI PSHMEM_CHARACTER_GET_NBI
#define shmem_character_get_nbi_ pshmem_character_get_nbi_
#define shmem_character_get_nbi__ pshmem_character_get_nbi__

#define SHMEM_COMPLEX_GET_NBI PSHMEM_COMPLEX_GET_NBI
#define shmem_complex_get_nbi_ pshmem_complex_get_nbi_
#define shmem_complex_get_nbi__ pshmem_complex_get_nbi__

#define SHMEM_DOUBLE_GET_NBI PSHMEM_DOUBLE_GET_NBI
#define shmem_double_get_nbi_ pshmem_double_get_nbi_
#define shmem_double_get_nbi__ pshmem_double_get_nbi__

#define SHMEM_INTEGER_GET_NBI PSHMEM_INTEGER_GET_NBI
#define shmem_integer_get_nbi_ pshmem_integer_get_nbi_
#define shmem_integer_get_nbi__ pshmem_integer_get_nbi__

#define SHMEM_LOGICAL_GET_NBI PSHMEM_LOGICAL_GET_NBI
#define shmem_logical_get_nbi_ pshmem_logical_get_nbi_
#define shmem_logical_get_nbi__ pshmem_logical_get_nbi__

#define SHMEM_REAL_GET_NBI PSHMEM_REAL_GET_NBI
#define shmem_real_get_nbi_ pshmem_real_get_nbi_
#define shmem_real_get_nbi__ pshmem_real_get_nbi__

#define SHMEM_GET4_NBI PSHMEM_GET4_NBI
#define shmem_get4_nbi_ pshmem_get4_nbi_
#define shmem_get4_nbi__ pshmem_get4_nbi__

#define SHMEM_GET8_NBI PSHMEM_GET8_NBI
#define shmem_get8_nbi_ pshmem_get8_nbi_
#define shmem_get8_nbi__ pshmem_get8_nbi__

#define SHMEM_GET32_NBI PSHMEM_GET32_NBI
#define shmem_get32_nbi_ pshmem_get32_nbi_
#define shmem_get32_nbi__ pshmem_get32_nbi__

#define SHMEM_GET64_NBI PSHMEM_GET64_NBI
#define shmem_get64_nbi_ pshmem_get64_nbi_
#define shmem_get64_nbi__ pshmem_get64_nbi__

#define SHMEM_GET128_NBI PSHMEM_GET128_NBI
#define shmem_get128_nbi_ pshmem_get128_nbi_
#define shmem_get128_nbi__ pshmem_get128_nbi__

#define SHMEM_PUTMEM_NBI PSHMEM_PUTMEM_NBI
#define shmem_putmem_nbi_ pshmem_putmem_nbi_
#define shmem_putmem_nbi__ pshmem_putmem_nbi__

#define SHMEM_CHARACTER_PUT_NBI PSHMEM_CHARACTER_PUT_NBI
#define shmem_character_put_nbi_ pshmem_character_put_nbi_
#define shmem_character_put_nbi__ pshmem_character_put_nbi__

#define SHMEM_COMPLEX_PUT_NBI PSHMEM_COMPLEX_PUT_NBI
#define shmem_complex_put_nbi_ pshmem_complex_put_nbi_
#define shmem_complex_put_nbi__ pshmem_complex_put_nbi__

#define SHMEM_DOUBLE_PUT_NBI PSHMEM_DOUBLE_PUT_NBI
#define shmem_double_put_nbi_ pshmem_double_put_nbi_
#define shmem_double_put_nbi__ pshmem_double_put_nbi__

#define SHMEM_INTEGER_PUT_NBI PSHMEM_INTEGER_PUT_NBI
#define shmem_integer_put_nbi_ pshmem_integer_put_nbi_
#define shmem_integer_put_nbi__ pshmem_integer_put_nbi__

#define SHMEM_LOGICAL_PUT_NBI PSHMEM_LOGICAL_PUT_NBI
#define shmem_logical_put_nbi_ pshmem_logical_put_nbi_
#define shmem_logical_put_nbi__ pshmem_logical_put_nbi__

#define SHMEM_REAL_PUT_NBI PSHMEM_REAL_PUT_NBI
#define shmem_real_put_nbi_ pshmem_real_put_nbi_
#define shmem_real_put_nbi__ pshmem_real_put_nbi__

#define SHMEM_PUT4_NBI PSHMEM_PUT4_NBI
#define shmem_put4_nbi_ pshmem_put4_nbi_
#define shmem_put4_nbi__ pshmem_put4_nbi__

#define SHMEM_PUT8_NBI PSHMEM_PUT8_NBI
#define shmem_put8_nbi_ pshmem_put8_nbi_
#define shmem_put8_nbi__ pshmem_put8_nbi__

#define SHMEM_PUT32_NBI PSHMEM_PUT32_NBI
#define shmem_put32_nbi_ pshmem_put32_nbi_
#define shmem_put32_nbi__ pshmem_put32_nbi__

#define SHMEM_PUT64_NBI PSHMEM_PUT64_NBI
#define shmem_put64_nbi_ pshmem_put64_nbi_
#define shmem_put64_nbi__ pshmem_put64_nbi__

#define SHMEM_PUT128_NBI PSHMEM_PUT128_NBI
#define shmem_put128_nbi_ pshmem_put128_nbi_
#define shmem_put128_nbi__ pshmem_put128_nbi__

#define SHMEM_INT4_ADD PSHMEM_INT4_ADD
#define shmem_int4_add_ pshmem_int4_add_
#define shmem_int4_add__ pshmem_int4_add__
Expand Down
31 changes: 31 additions & 0 deletions oshmem/shmem/fortran/profile/prototypes_pshmem.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ PN (void, pshpclmove, PSHPCLMOVE, (FORTRAN_POINTER_T *addr, MPI_Fint *length, MP
PN (FORTRAN_POINTER_T*, pshmem_ptr, PSHMEM_PTR, (FORTRAN_POINTER_T target, MPI_Fint *pe));
PN (ompi_fortran_logical_t, pshmem_pe_accessible, PSHMEM_PE_ACCESSIBLE, (MPI_Fint *pe));
PN (MPI_Fint, pshmem_addr_accessible, PSHMEM_ADDR_ACCESSIBLE, (FORTRAN_POINTER_T addr, MPI_Fint *pe));

PN (void, pshmem_put, PSHMEM_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_character_put, PSHMEM_CHARACTER_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_complex_put, PSHMEM_COMPLEX_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
Expand All @@ -49,6 +50,7 @@ PN (void, pshmem_put32, PSHMEM_PUT32, (FORTRAN_POINTER_T target, FORTRAN_POINTER
PN (void, pshmem_put64, PSHMEM_PUT64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_put128, PSHMEM_PUT128, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_putmem, PSHMEM_PUTMEM, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));

PN (void, pshmem_iput4, PSHMEM_IPUT4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_iput8, PSHMEM_IPUT8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_iput32, PSHMEM_IPUT32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));
Expand All @@ -59,6 +61,20 @@ PN (void, pshmem_double_iput, PSHMEM_DOUBLE_IPUT, (FORTRAN_POINTER_T target, FOR
PN (void, pshmem_integer_iput, PSHMEM_INTEGER_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_logical_iput, PSHMEM_LOGICAL_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_real_iput, PSHMEM_REAL_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));

PN (void, pshmem_putmem_nbi, PSHMEM_PUTMEM_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_character_put_nbi, PSHMEM_CHARACTER_PUT_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_complex_put_nbi, PSHMEM_COMPLEX_PUT_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_double_put_nbi, PSHMEM_DOUBLE_PUT_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_integer_put_nbi, PSHMEM_INTEGER_PUT_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_logical_put_nbi, PSHMEM_LOGICAL_PUT_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_real_put_nbi, PSHMEM_REAL_PUT_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_put4_nbi, PSHMEM_PUT4_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_put8_nbi, PSHMEM_PUT8_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_put32_nbi, PSHMEM_PUT32_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_put64_nbi, PSHMEM_PUT64_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));
PN (void, pshmem_put128_nbi, PSHMEM_PUT128_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe));

PN (void, pshmem_character_get, PSHMEM_CHARACTER_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_complex_get, PSHMEM_COMPLEX_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_double_get, PSHMEM_DOUBLE_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
Expand All @@ -71,6 +87,7 @@ PN (void, pshmem_get128, PSHMEM_GET128, (FORTRAN_POINTER_T target, FORTRAN_POINT
PN (void, pshmem_getmem, PSHMEM_GETMEM, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_logical_get, PSHMEM_LOGICAL_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_real_get, PSHMEM_REAL_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));

PN (void, pshmem_iget4, PSHMEM_IGET4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_iget8, PSHMEM_IGET8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_iget32, PSHMEM_IGET32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));
Expand All @@ -81,6 +98,20 @@ PN (void, pshmem_double_iget, PSHMEM_DOUBLE_IGET, (FORTRAN_POINTER_T target, FOR
PN (void, pshmem_integer_iget, PSHMEM_INTEGER_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_logical_iget, PSHMEM_LOGICAL_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_real_iget, PSHMEM_REAL_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe));

PN (void, pshmem_getmem_nbi, PSHMEM_GETMEM_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_character_get_nbi, PSHMEM_CHARACTER_GET_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_complex_get_nbi, PSHMEM_COMPLEX_GET_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_double_get_nbi, PSHMEM_DOUBLE_GET_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_integer_get_nbi, PSHMEM_INTEGER_GET_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_logical_get_nbi, PSHMEM_LOGICAL_GET_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_real_get_nbi, PSHMEM_REAL_GET_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_get4_nbi, PSHMEM_GET4_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_get8_nbi, PSHMEM_GET8_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_get32_nbi, PSHMEM_GET32_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_get64_nbi, PSHMEM_GET64_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));
PN (void, pshmem_get128_nbi, PSHMEM_GET128_NBI, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe));

PN (MPI_Fint, pshmem_swap, PSHMEM_SWAP, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe));
PN (ompi_fortran_integer4_t, pshmem_int4_swap, PSHMEM_INT4_SWAP, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe));
PN (ompi_fortran_integer8_t, pshmem_int8_swap, PSHMEM_INT8_SWAP, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe));
Expand Down
Loading

0 comments on commit 7013914

Please sign in to comment.