diff --git a/config/oshmem_config_files.m4 b/config/oshmem_config_files.m4 index a2c6bb35c9..74d80cd163 100644 --- a/config/oshmem_config_files.m4 +++ b/config/oshmem_config_files.m4 @@ -15,10 +15,11 @@ AC_DEFUN([OSHMEM_CONFIG_FILES],[ oshmem/Makefile oshmem/include/Makefile oshmem/shmem/c/Makefile - oshmem/shmem/fortran/Makefile - oshmem/shmem/c/profile/Makefile + oshmem/shmem/fortran/Makefile + oshmem/shmem/fortran/profile/Makefile + oshmem/tools/oshmem_info/Makefile oshmem/tools/wrappers/Makefile oshmem/tools/wrappers/shmemcc-wrapper-data.txt diff --git a/oshmem/Makefile.am b/oshmem/Makefile.am index f48b50d583..96a3767e0f 100644 --- a/oshmem/Makefile.am +++ b/oshmem/Makefile.am @@ -20,8 +20,14 @@ endif # Do we have the Fortran bindings? if OSHMEM_BUILD_FORTRAN_BINDINGS fortran_oshmem_lib = shmem/fortran/liboshmem_fortran.la + +if OSHMEM_PROFILING +fortran_pshmem_lib = shmem/fortran/profile/liboshmem_fortran_pshmem.la +endif + else fortran_oshmem_lib = +fortran_pshmem_lib = endif SUBDIRS = \ @@ -56,6 +62,7 @@ liboshmem_la_LIBADD = \ shmem/c/liboshmem_c.la \ $(c_pshmem_lib) \ $(fortran_oshmem_lib) \ + $(fortran_pshmem_lib) \ $(MCA_oshmem_FRAMEWORK_LIBS) \ $(top_ompi_builddir)/ompi/libmpi.la liboshmem_la_DEPENDENCIES = $(liboshmem_la_LIBADD) diff --git a/oshmem/op/op.c b/oshmem/op/op.c index c84f5a082e..f5350e4cd2 100644 --- a/oshmem/op/op.c +++ b/oshmem/op/op.c @@ -47,6 +47,7 @@ oshmem_op_t* oshmem_op_and_short = NULL; oshmem_op_t* oshmem_op_and_int = NULL; oshmem_op_t* oshmem_op_and_long = NULL; oshmem_op_t* oshmem_op_and_longlong = NULL; +oshmem_op_t* oshmem_op_and_fint2 = NULL; oshmem_op_t* oshmem_op_and_fint4 = NULL; oshmem_op_t* oshmem_op_and_fint8 = NULL; @@ -55,6 +56,7 @@ oshmem_op_t* oshmem_op_or_short = NULL; oshmem_op_t* oshmem_op_or_int = NULL; oshmem_op_t* oshmem_op_or_long = NULL; oshmem_op_t* oshmem_op_or_longlong = NULL; +oshmem_op_t* oshmem_op_or_fint2 = NULL; oshmem_op_t* oshmem_op_or_fint4 = NULL; oshmem_op_t* oshmem_op_or_fint8 = NULL; @@ -63,6 +65,7 @@ oshmem_op_t* oshmem_op_xor_short = NULL; oshmem_op_t* oshmem_op_xor_int = NULL; oshmem_op_t* oshmem_op_xor_long = NULL; oshmem_op_t* oshmem_op_xor_longlong = NULL; +oshmem_op_t* oshmem_op_xor_fint2 = NULL; oshmem_op_t* oshmem_op_xor_fint4 = NULL; oshmem_op_t* oshmem_op_xor_fint8 = NULL; @@ -74,6 +77,7 @@ oshmem_op_t* oshmem_op_max_longlong = NULL; oshmem_op_t* oshmem_op_max_float = NULL; oshmem_op_t* oshmem_op_max_double = NULL; oshmem_op_t* oshmem_op_max_longdouble = NULL; +oshmem_op_t* oshmem_op_max_fint2 = NULL; oshmem_op_t* oshmem_op_max_fint4 = NULL; oshmem_op_t* oshmem_op_max_fint8 = NULL; oshmem_op_t* oshmem_op_max_freal4 = NULL; @@ -88,6 +92,7 @@ oshmem_op_t* oshmem_op_min_longlong = NULL; oshmem_op_t* oshmem_op_min_float = NULL; oshmem_op_t* oshmem_op_min_double = NULL; oshmem_op_t* oshmem_op_min_longdouble = NULL; +oshmem_op_t* oshmem_op_min_fint2 = NULL; oshmem_op_t* oshmem_op_min_fint4 = NULL; oshmem_op_t* oshmem_op_min_fint8 = NULL; oshmem_op_t* oshmem_op_min_freal4 = NULL; @@ -104,6 +109,7 @@ oshmem_op_t* oshmem_op_sum_double = NULL; oshmem_op_t* oshmem_op_sum_longdouble = NULL; oshmem_op_t* oshmem_op_sum_complexf = NULL; oshmem_op_t* oshmem_op_sum_complexd = NULL; +oshmem_op_t* oshmem_op_sum_fint2 = NULL; oshmem_op_t* oshmem_op_sum_fint4 = NULL; oshmem_op_t* oshmem_op_sum_fint8 = NULL; oshmem_op_t* oshmem_op_sum_freal4 = NULL; @@ -120,6 +126,7 @@ oshmem_op_t* oshmem_op_prod_double = NULL; oshmem_op_t* oshmem_op_prod_longdouble = NULL; oshmem_op_t* oshmem_op_prod_complexf = NULL; oshmem_op_t* oshmem_op_prod_complexd = NULL; +oshmem_op_t* oshmem_op_prod_fint2 = NULL; oshmem_op_t* oshmem_op_prod_fint4 = NULL; oshmem_op_t* oshmem_op_prod_fint8 = NULL; oshmem_op_t* oshmem_op_prod_freal4 = NULL; @@ -156,6 +163,7 @@ FUNC_OP_CREATE(and, short, short, __and_op) FUNC_OP_CREATE(and, int, int, __and_op) FUNC_OP_CREATE(and, long, long, __and_op) FUNC_OP_CREATE(and, longlong, long long, __and_op) +FUNC_OP_CREATE(and, fint2, ompi_fortran_integer4_t, __and_op) FUNC_OP_CREATE(and, fint4, ompi_fortran_integer4_t, __and_op) FUNC_OP_CREATE(and, fint8, ompi_fortran_integer8_t, __and_op) @@ -165,6 +173,7 @@ FUNC_OP_CREATE(or, short, short, __or_op) FUNC_OP_CREATE(or, int, int, __or_op) FUNC_OP_CREATE(or, long, long, __or_op) FUNC_OP_CREATE(or, longlong, long long, __or_op) +FUNC_OP_CREATE(or, fint2, ompi_fortran_integer2_t, __or_op) FUNC_OP_CREATE(or, fint4, ompi_fortran_integer4_t, __or_op) FUNC_OP_CREATE(or, fint8, ompi_fortran_integer8_t, __or_op) @@ -174,6 +183,7 @@ FUNC_OP_CREATE(xor, short, short, __xor_op) FUNC_OP_CREATE(xor, int, int, __xor_op) FUNC_OP_CREATE(xor, long, long, __xor_op) FUNC_OP_CREATE(xor, longlong, long long, __xor_op) +FUNC_OP_CREATE(xor, fint2, ompi_fortran_integer4_t, __xor_op) FUNC_OP_CREATE(xor, fint4, ompi_fortran_integer4_t, __xor_op) FUNC_OP_CREATE(xor, fint8, ompi_fortran_integer8_t, __xor_op) @@ -186,6 +196,7 @@ FUNC_OP_CREATE(max, longlong, long long, __max_op) FUNC_OP_CREATE(max, float, float, __max_op) FUNC_OP_CREATE(max, double, double, __max_op) FUNC_OP_CREATE(max, longdouble, long double, __max_op) +FUNC_OP_CREATE(max, fint2, ompi_fortran_integer4_t, __max_op) FUNC_OP_CREATE(max, fint4, ompi_fortran_integer4_t, __max_op) FUNC_OP_CREATE(max, fint8, ompi_fortran_integer8_t, __max_op) FUNC_OP_CREATE(max, freal4, ompi_fortran_real4_t, __max_op) @@ -203,6 +214,7 @@ FUNC_OP_CREATE(min, longlong, long long, __min_op) FUNC_OP_CREATE(min, float, float, __min_op) FUNC_OP_CREATE(min, double, double, __min_op) FUNC_OP_CREATE(min, longdouble, long double, __min_op) +FUNC_OP_CREATE(min, fint2, ompi_fortran_integer4_t, __min_op) FUNC_OP_CREATE(min, fint4, ompi_fortran_integer4_t, __min_op) FUNC_OP_CREATE(min, fint8, ompi_fortran_integer8_t, __min_op) FUNC_OP_CREATE(min, freal4, ompi_fortran_real4_t, __min_op) @@ -222,6 +234,7 @@ FUNC_OP_CREATE(sum, double, double, __sum_op) FUNC_OP_CREATE(sum, longdouble, long double, __sum_op) FUNC_OP_CREATE(sum, complexf, float complex, __sum_op) FUNC_OP_CREATE(sum, complexd, double complex, __sum_op) +FUNC_OP_CREATE(sum, fint2, ompi_fortran_integer4_t, __sum_op) FUNC_OP_CREATE(sum, fint4, ompi_fortran_integer4_t, __sum_op) FUNC_OP_CREATE(sum, fint8, ompi_fortran_integer8_t, __sum_op) FUNC_OP_CREATE(sum, freal4, ompi_fortran_real4_t, __sum_op) @@ -241,6 +254,7 @@ FUNC_OP_CREATE(prod, double, double, __prod_op) FUNC_OP_CREATE(prod, longdouble, long double, __prod_op) FUNC_OP_CREATE(prod, complexf, float complex, __prod_op) FUNC_OP_CREATE(prod, complexd, double complex, __prod_op) +FUNC_OP_CREATE(prod, fint2, ompi_fortran_integer2_t, __prod_op) FUNC_OP_CREATE(prod, fint4, ompi_fortran_integer4_t, __prod_op) FUNC_OP_CREATE(prod, fint8, ompi_fortran_integer8_t, __prod_op) FUNC_OP_CREATE(prod, freal4, ompi_fortran_real4_t, __prod_op) @@ -267,6 +281,7 @@ int oshmem_op_init(void) OBJ_OP_CREATE(and, int, int, OSHMEM_OP_AND, OSHMEM_OP_TYPE_INT); OBJ_OP_CREATE(and, long, long, OSHMEM_OP_AND, OSHMEM_OP_TYPE_LONG); OBJ_OP_CREATE(and, longlong, long long, OSHMEM_OP_AND, OSHMEM_OP_TYPE_LLONG); + OBJ_OP_CREATE(and, fint2, ompi_fortran_integer2_t, OSHMEM_OP_AND, OSHMEM_OP_TYPE_FINT2); OBJ_OP_CREATE(and, fint4, ompi_fortran_integer4_t, OSHMEM_OP_AND, OSHMEM_OP_TYPE_FINT4); OBJ_OP_CREATE(and, fint8, ompi_fortran_integer8_t, OSHMEM_OP_AND, OSHMEM_OP_TYPE_FINT8); @@ -275,6 +290,7 @@ int oshmem_op_init(void) OBJ_OP_CREATE(or, int, int, OSHMEM_OP_OR, OSHMEM_OP_TYPE_INT); OBJ_OP_CREATE(or, long, long, OSHMEM_OP_OR, OSHMEM_OP_TYPE_LONG); OBJ_OP_CREATE(or, longlong, long long, OSHMEM_OP_OR, OSHMEM_OP_TYPE_LLONG); + OBJ_OP_CREATE(or, fint2, ompi_fortran_integer2_t, OSHMEM_OP_OR, OSHMEM_OP_TYPE_FINT2); OBJ_OP_CREATE(or, fint4, ompi_fortran_integer4_t, OSHMEM_OP_OR, OSHMEM_OP_TYPE_FINT4); OBJ_OP_CREATE(or, fint8, ompi_fortran_integer8_t, OSHMEM_OP_OR, OSHMEM_OP_TYPE_FINT8); @@ -283,6 +299,7 @@ int oshmem_op_init(void) OBJ_OP_CREATE(xor, int, int, OSHMEM_OP_XOR, OSHMEM_OP_TYPE_INT); OBJ_OP_CREATE(xor, long, long, OSHMEM_OP_XOR, OSHMEM_OP_TYPE_LONG); OBJ_OP_CREATE(xor, longlong, long long, OSHMEM_OP_XOR, OSHMEM_OP_TYPE_LLONG); + OBJ_OP_CREATE(xor, fint2, ompi_fortran_integer2_t, OSHMEM_OP_XOR, OSHMEM_OP_TYPE_FINT2); OBJ_OP_CREATE(xor, fint4, ompi_fortran_integer4_t, OSHMEM_OP_XOR, OSHMEM_OP_TYPE_FINT4); OBJ_OP_CREATE(xor, fint8, ompi_fortran_integer8_t, OSHMEM_OP_XOR, OSHMEM_OP_TYPE_FINT8); @@ -294,6 +311,7 @@ int oshmem_op_init(void) OBJ_OP_CREATE(max, float, float, OSHMEM_OP_MAX, OSHMEM_OP_TYPE_FLOAT); OBJ_OP_CREATE(max, double, double, OSHMEM_OP_MAX, OSHMEM_OP_TYPE_DOUBLE); OBJ_OP_CREATE(max, longdouble, long double, OSHMEM_OP_MAX, OSHMEM_OP_TYPE_LDOUBLE); + OBJ_OP_CREATE(max, fint2, ompi_fortran_integer2_t, OSHMEM_OP_MAX, OSHMEM_OP_TYPE_FINT2); OBJ_OP_CREATE(max, fint4, ompi_fortran_integer4_t, OSHMEM_OP_MAX, OSHMEM_OP_TYPE_FINT4); OBJ_OP_CREATE(max, fint8, ompi_fortran_integer8_t, OSHMEM_OP_MAX, OSHMEM_OP_TYPE_FINT8); OBJ_OP_CREATE(max, freal4, ompi_fortran_real4_t, OSHMEM_OP_MAX, OSHMEM_OP_TYPE_FREAL4); @@ -310,6 +328,7 @@ int oshmem_op_init(void) OBJ_OP_CREATE(min, float, float, OSHMEM_OP_MIN, OSHMEM_OP_TYPE_FLOAT); OBJ_OP_CREATE(min, double, double, OSHMEM_OP_MIN, OSHMEM_OP_TYPE_DOUBLE); OBJ_OP_CREATE(min, longdouble, long double, OSHMEM_OP_MIN, OSHMEM_OP_TYPE_LDOUBLE); + OBJ_OP_CREATE(min, fint2, ompi_fortran_integer2_t, OSHMEM_OP_MIN, OSHMEM_OP_TYPE_FINT2); OBJ_OP_CREATE(min, fint4, ompi_fortran_integer4_t, OSHMEM_OP_MIN, OSHMEM_OP_TYPE_FINT4); OBJ_OP_CREATE(min, fint8, ompi_fortran_integer8_t, OSHMEM_OP_MIN, OSHMEM_OP_TYPE_FINT8); OBJ_OP_CREATE(min, freal4, ompi_fortran_real4_t, OSHMEM_OP_MIN, OSHMEM_OP_TYPE_FREAL4); @@ -328,6 +347,7 @@ int oshmem_op_init(void) OBJ_OP_CREATE(sum, longdouble, long double, OSHMEM_OP_SUM, OSHMEM_OP_TYPE_LDOUBLE); OBJ_OP_CREATE(sum, complexf, float complex, OSHMEM_OP_SUM, OSHMEM_OP_TYPE_FCOMPLEX); OBJ_OP_CREATE(sum, complexd, double complex, OSHMEM_OP_SUM, OSHMEM_OP_TYPE_DCOMPLEX); + OBJ_OP_CREATE(sum, fint2, ompi_fortran_integer2_t, OSHMEM_OP_SUM, OSHMEM_OP_TYPE_FINT2); OBJ_OP_CREATE(sum, fint4, ompi_fortran_integer4_t, OSHMEM_OP_SUM, OSHMEM_OP_TYPE_FINT4); OBJ_OP_CREATE(sum, fint8, ompi_fortran_integer8_t, OSHMEM_OP_SUM, OSHMEM_OP_TYPE_FINT8); OBJ_OP_CREATE(sum, freal4, ompi_fortran_real4_t, OSHMEM_OP_SUM, OSHMEM_OP_TYPE_FREAL4); @@ -346,6 +366,7 @@ int oshmem_op_init(void) OBJ_OP_CREATE(prod, longdouble, long double, OSHMEM_OP_PROD, OSHMEM_OP_TYPE_LDOUBLE); OBJ_OP_CREATE(prod, complexf, float complex, OSHMEM_OP_PROD, OSHMEM_OP_TYPE_FCOMPLEX); OBJ_OP_CREATE(prod, complexd, double complex, OSHMEM_OP_PROD, OSHMEM_OP_TYPE_DCOMPLEX); + OBJ_OP_CREATE(prod, fint2, ompi_fortran_integer2_t, OSHMEM_OP_PROD, OSHMEM_OP_TYPE_FINT2); OBJ_OP_CREATE(prod, fint4, ompi_fortran_integer4_t, OSHMEM_OP_PROD, OSHMEM_OP_TYPE_FINT4); OBJ_OP_CREATE(prod, fint8, ompi_fortran_integer8_t, OSHMEM_OP_PROD, OSHMEM_OP_TYPE_FINT8); OBJ_OP_CREATE(prod, freal4, ompi_fortran_real4_t, OSHMEM_OP_PROD, OSHMEM_OP_TYPE_FREAL4); diff --git a/oshmem/op/op.h b/oshmem/op/op.h index d102061f52..6eeba2d7b2 100644 --- a/oshmem/op/op.h +++ b/oshmem/op/op.h @@ -41,6 +41,7 @@ enum { OSHMEM_OP_TYPE_FCOMPLEX, /** Complex: float */ OSHMEM_OP_TYPE_DCOMPLEX, /** Complex: double */ + OSHMEM_OP_TYPE_FINT2, /** Fortran integer: int2 */ OSHMEM_OP_TYPE_FINT4, /** Fortran integer: int4 */ OSHMEM_OP_TYPE_FINT8, /** Fortran integer: int8 */ OSHMEM_OP_TYPE_FREAL4, /** Fortran integer: real4 */ @@ -91,6 +92,7 @@ OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_and_short; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_and_int; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_and_long; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_and_longlong; +OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_and_fint2; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_and_fint4; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_and_fint8; @@ -99,6 +101,7 @@ OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_or_short; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_or_int; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_or_long; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_or_longlong; +OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_or_fint2; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_or_fint4; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_or_fint8; @@ -107,6 +110,7 @@ OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_xor_short; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_xor_int; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_xor_long; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_xor_longlong; +OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_xor_fint2; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_xor_fint4; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_xor_fint8; @@ -118,6 +122,7 @@ OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_max_longlong; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_max_float; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_max_double; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_max_longdouble; +OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_max_fint2; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_max_fint4; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_max_fint8; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_max_freal4; @@ -132,6 +137,7 @@ OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_min_longlong; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_min_float; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_min_double; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_min_longdouble; +OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_min_fint2; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_min_fint4; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_min_fint8; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_min_freal4; @@ -148,6 +154,7 @@ OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_sum_double; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_sum_longdouble; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_sum_complexf; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_sum_complexd; +OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_sum_fint2; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_sum_fint4; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_sum_fint8; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_sum_freal4; @@ -164,6 +171,7 @@ OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_prod_double; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_prod_longdouble; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_prod_complexf; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_prod_complexd; +OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_prod_fint2; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_prod_fint4; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_prod_fint8; OSHMEM_DECLSPEC extern oshmem_op_t* oshmem_op_prod_freal4; diff --git a/oshmem/shmem/c/profile/Makefile.am b/oshmem/shmem/c/profile/Makefile.am index cbfab0dff4..06a7f9847f 100644 --- a/oshmem/shmem/c/profile/Makefile.am +++ b/oshmem/shmem/c/profile/Makefile.am @@ -72,7 +72,7 @@ nodist_liboshmem_c_pshmem_la_SOURCES = \ $(OSHMEM_API_SOURCES) # -# Sym link in the sources from the real MPI directory +# Sym link in the sources from the real OSHMEM directory # $(nodist_liboshmem_c_pshmem_la_SOURCES): $(OMPI_V_LN_S) if test ! -r $@ ; then \ diff --git a/oshmem/shmem/fortran/Makefile.am b/oshmem/shmem/fortran/Makefile.am index bd9f5c916c..8d974275ed 100644 --- a/oshmem/shmem/fortran/Makefile.am +++ b/oshmem/shmem/fortran/Makefile.am @@ -1,5 +1,5 @@ # -# Copyright (c) 2013 Mellanox Technologies, Inc. +# Copyright (c) 2014 Mellanox Technologies, Inc. # All rights reserved # Copyright (c) 2013-2014 Cisco Systems, Inc. All rights reserved. # $COPYRIGHT$ @@ -9,9 +9,14 @@ # $HEADER$ # -AM_CPPFLAGS = -DOSHMEM_PROFILING_DEFINES=0 -DOSHMEM_HAVE_WEAK_SYMBOLS=0 - # This is guaranteed to be false if we're not building OSHMEM at all +# +if OSHMEM_BUILD_FORTRAN_BINDINGS +if OSHMEM_PROFILING + SUBDIRS = profile +endif +endif + if OSHMEM_BUILD_FORTRAN_BINDINGS oshmem_fortran_lib = liboshmem_fortran.la else @@ -24,11 +29,13 @@ headers = prototypes_shmem.h \ bindings.h \ shmem_fortran_pointer.h -liboshmem_fortran_la_SOURCES = \ +liboshmem_fortran_la_SOURCES = shmem_finalize_f.c + +if ! OSHMEM_PROFILING +liboshmem_fortran_la_SOURCES += \ start_pes_f.c \ num_pes_f.c \ my_pe_f.c \ - shmem_finalize_f.c \ shmem_barrier_all_f.c \ shpalloc_f.c \ shpdeallc_f.c \ @@ -47,6 +54,7 @@ liboshmem_fortran_la_SOURCES = \ shmem_put8_f.c \ shmem_put32_f.c \ shmem_put64_f.c \ + shmem_put128_f.c \ shmem_putmem_f.c \ shmem_complex_iput_f.c \ shmem_double_iput_f.c \ @@ -115,6 +123,7 @@ liboshmem_fortran_la_SOURCES = \ shmem_int8_inc_f.c \ shmem_quiet_f.c \ shmem_fence_f.c +endif if PROJECT_OSHMEM if WANT_INSTALL_HEADERS diff --git a/oshmem/shmem/fortran/my_pe_f.c b/oshmem/shmem/fortran/my_pe_f.c index 263e4df9e2..abc07ff4e9 100644 --- a/oshmem/shmem/fortran/my_pe_f.c +++ b/oshmem/shmem/fortran/my_pe_f.c @@ -13,6 +13,13 @@ #include "oshmem/shmem/fortran/bindings.h" #include "oshmem/include/shmem.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(MY_PE, my_pe) +#pragma weak _my_pe_ = p_my_pe_ +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (MPI_Fint, MY_PE, my_pe_, @@ -21,6 +28,11 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (MPI_Fint, (void), () ) +MPI_Fint _my_pe_(void) +{ + return my_pe_f(); +} + MPI_Fint my_pe_f(void) { MPI_Fint rc; diff --git a/oshmem/shmem/fortran/num_pes_f.c b/oshmem/shmem/fortran/num_pes_f.c index 8e981be4b6..711c643870 100644 --- a/oshmem/shmem/fortran/num_pes_f.c +++ b/oshmem/shmem/fortran/num_pes_f.c @@ -13,6 +13,12 @@ #include "oshmem/shmem/fortran/bindings.h" #include "oshmem/include/shmem.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(NUM_PES, num_pes) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (MPI_Fint, NUM_PES, num_pes_, diff --git a/oshmem/shmem/fortran/profile/Makefile.am b/oshmem/shmem/fortran/profile/Makefile.am new file mode 100644 index 0000000000..af4e2a1945 --- /dev/null +++ b/oshmem/shmem/fortran/profile/Makefile.am @@ -0,0 +1,145 @@ +# +# Copyright (c) 2013 Mellanox Technologies, Inc. +# All rights reserved +# Copyright (c) 2013-2014 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +AM_CPPFLAGS = -DOSHMEM_PROFILING=1 + +# This is guaranteed to be false if we're not building OSHMEM at all +if OSHMEM_BUILD_FORTRAN_BINDINGS +pshmem_fortran_lib = liboshmem_fortran_pshmem.la +else +pshmem_fortran_lib = +endif + +noinst_LTLIBRARIES = $(pshmem_fortran_lib) + +headers = prototypes_pshmem.h \ + pbindings.h \ + defines.h + +nodist_liboshmem_fortran_pshmem_la_SOURCES = \ + pstart_pes_f.c \ + pnum_pes_f.c \ + pmy_pe_f.c \ + pshmem_barrier_all_f.c \ + pshpalloc_f.c \ + pshpdeallc_f.c \ + pshpclmove_f.c \ + pshmem_ptr_f.c \ + pshmem_pe_accessible_f.c \ + pshmem_addr_accessible_f.c \ + pshmem_put_f.c \ + pshmem_character_put_f.c \ + pshmem_double_put_f.c \ + pshmem_complex_put_f.c \ + pshmem_logical_put_f.c \ + pshmem_integer_put_f.c \ + pshmem_real_put_f.c \ + pshmem_put4_f.c \ + pshmem_put8_f.c \ + pshmem_put32_f.c \ + pshmem_put64_f.c \ + pshmem_put128_f.c \ + pshmem_putmem_f.c \ + pshmem_complex_iput_f.c \ + pshmem_double_iput_f.c \ + pshmem_integer_iput_f.c \ + pshmem_iput128_f.c \ + pshmem_iput32_f.c \ + pshmem_iput4_f.c \ + pshmem_iput64_f.c \ + pshmem_iput8_f.c \ + pshmem_logical_iput_f.c \ + pshmem_real_iput_f.c \ + pshmem_character_get_f.c \ + pshmem_complex_get_f.c \ + pshmem_double_get_f.c \ + pshmem_get128_f.c \ + pshmem_get32_f.c \ + pshmem_get4_f.c \ + pshmem_get64_f.c \ + pshmem_get8_f.c \ + pshmem_getmem_f.c \ + pshmem_integer_get_f.c \ + pshmem_logical_get_f.c \ + pshmem_real_get_f.c \ + pshmem_complex_iget_f.c \ + pshmem_double_iget_f.c \ + pshmem_iget128_f.c \ + pshmem_iget32_f.c \ + pshmem_iget4_f.c \ + pshmem_iget64_f.c \ + pshmem_iget8_f.c \ + pshmem_integer_iget_f.c \ + pshmem_logical_iget_f.c \ + pshmem_real_iget_f.c \ + pshmem_swap_f.c \ + pshmem_int4_swap_f.c \ + pshmem_int8_swap_f.c \ + pshmem_real4_swap_f.c \ + pshmem_real8_swap_f.c \ + pshmem_int4_cswap_f.c \ + pshmem_int8_cswap_f.c \ + pshmem_int4_fadd_f.c \ + pshmem_int8_fadd_f.c \ + pshmem_int4_finc_f.c \ + pshmem_int8_finc_f.c \ + pshmem_int4_add_f.c \ + pshmem_int8_add_f.c \ + pshmem_int4_wait_f.c \ + pshmem_int8_wait_f.c \ + pshmem_wait_f.c \ + pshmem_int4_wait_until_f.c \ + pshmem_int8_wait_until_f.c \ + pshmem_wait_until_f.c \ + pshmem_barrier_f.c \ + pshmem_and_to_all_f.c \ + pshmem_or_to_all_f.c \ + pshmem_xor_to_all_f.c \ + pshmem_max_to_all_f.c \ + pshmem_min_to_all_f.c \ + pshmem_sum_to_all_f.c \ + pshmem_prod_to_all_f.c \ + pshmem_collect_f.c \ + pshmem_broadcast_f.c \ + pshmem_lock_f.c \ + pshmem_cache_f.c \ + pshmem_int4_inc_f.c \ + pshmem_int8_inc_f.c \ + pshmem_quiet_f.c \ + pshmem_fence_f.c + +# +# Sym link in the sources from the real OSHMEM directory +# +$(nodist_liboshmem_fortran_pshmem_la_SOURCES): + if test ! -r $@ ; then \ + pname=`echo $@ | cut -b '2-'` ; \ + $(LN_S) $(top_srcdir)/oshmem/shmem/fortran/$$pname $@ ; \ + fi + +if PROJECT_OSHMEM +if WANT_INSTALL_HEADERS +oshmemdir = $(ompiincludedir)/$(subdir) +oshmem_HEADERS = $(headers) +endif +endif + +# These files were created by targets above + +MAINTAINERCLEANFILES = $(nodist_liboshmem_fortran_pshmem_la_SOURCES) + +# Don't want these targets in here + +tags-recursive: +tags: +TAGS: +GTAGS: +ID: diff --git a/oshmem/shmem/fortran/profile/defines.h b/oshmem/shmem/fortran/profile/defines.h new file mode 100644 index 0000000000..bb598611b5 --- /dev/null +++ b/oshmem/shmem/fortran/profile/defines.h @@ -0,0 +1,577 @@ +/* + * Copyright (c) 2014 Mellanox Technologies, Inc. + * All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef OSHMEM_FORTRAN_PROFILE_DEFINES_H +#define OSHMEM_FORTRAN_PROFILE_DEFINES_H +/* + * This file is included in the top directory only if + * profiling is required. Once profiling is required, + * this file will replace all shmem_* symbols with + * pshmem_* symbols + */ + +#define MY_PE PMY_PE +#define my_pe_ pmy_pe_ +#define my_pe__ pmy_pe__ +#define _my_pe_ p_my_pe_ + +#define NUM_PES PNUM_PES +#define num_pes_ pnum_pes_ +#define num_pes__ pnum_pes__ + +#define SHMEM_ADDR_ACCESSIBLE PSHMEM_ADDR_ACCESSIBLE +#define shmem_addr_accessible_ pshmem_addr_accessible_ +#define shmem_addr_accessible__ pshmem_addr_accessible__ + +#define SHMEM_INT2_AND_TO_ALL PSHMEM_INT2_AND_TO_ALL +#define shmem_int2_and_to_all_ pshmem_int2_and_to_all_ +#define shmem_int2_and_to_all__ pshmem_int2_and_to_all__ + +#define SHMEM_INT4_AND_TO_ALL PSHMEM_INT4_AND_TO_ALL +#define shmem_int4_and_to_all_ pshmem_int4_and_to_all_ +#define shmem_int4_and_to_all__ pshmem_int4_and_to_all__ + +#define SHMEM_INT8_AND_TO_ALL PSHMEM_INT8_AND_TO_ALL +#define shmem_int8_and_to_all_ pshmem_int8_and_to_all_ +#define shmem_int8_and_to_all__ pshmem_int8_and_to_all__ + +#define SHMEM_BARRIER_ALL PSHMEM_BARRIER_ALL +#define shmem_barrier_all_ pshmem_barrier_all_ +#define shmem_barrier_all__ pshmem_barrier_all__ + +#define SHMEM_BARRIER PSHMEM_BARRIER +#define shmem_barrier_ pshmem_barrier_ +#define shmem_barrier__ pshmem_barrier__ + +#define SHMEM_BROADCAST4 PSHMEM_BROADCAST4 +#define shmem_broadcast4_ pshmem_broadcast4_ +#define shmem_broadcast4__ pshmem_broadcast4__ + +#define SHMEM_BROADCAST8 PSHMEM_BROADCAST8 +#define shmem_broadcast8_ pshmem_broadcast8_ +#define shmem_broadcast8__ pshmem_broadcast8__ + +#define SHMEM_BROADCAST32 PSHMEM_BROADCAST32 +#define shmem_broadcast32_ pshmem_broadcast32_ +#define shmem_broadcast32__ pshmem_broadcast32__ + +#define SHMEM_BROADCAST64 PSHMEM_BROADCAST64 +#define shmem_broadcast64_ pshmem_broadcast64_ +#define shmem_broadcast64__ pshmem_broadcast64__ + +#define SHMEM_SET_CACHE_INV PSHMEM_SET_CACHE_INV +#define shmem_set_cache_inv_ pshmem_set_cache_inv_ +#define shmem_set_cache_inv__ pshmem_set_cache_inv__ + +#define SHMEM_SET_CACHE_LINE_INV PSHMEM_SET_CACHE_LINE_INV +#define shmem_set_cache_line_inv_ pshmem_set_cache_line_inv_ +#define shmem_set_cache_line_inv__ pshmem_set_cache_line_inv__ + +#define SHMEM_CLEAR_CACHE_INV PSHMEM_CLEAR_CACHE_INV +#define shmem_clear_cache_inv_ pshmem_clear_cache_inv_ +#define shmem_clear_cache_inv__ pshmem_clear_cache_inv__ + +#define SHMEM_CLEAR_CACHE_LINE_INV PSHMEM_CLEAR_CACHE_LINE_INV +#define shmem_clear_cache_line_inv_ pshmem_clear_cache_line_inv_ +#define shmem_clear_cache_line_inv__ pshmem_clear_cache_line_inv__ + +#define SHMEM_UDCFLUSH PSHMEM_UDCFLUSH +#define shmem_udcflush_ pshmem_udcflush_ +#define shmem_udcflush__ pshmem_udcflush__ + +#define SHMEM_UDCFLUSH_LINE PSHMEM_UDCFLUSH_LINE +#define shmem_udcflush_line_ pshmem_udcflush_line_ +#define shmem_udcflush_line__ pshmem_udcflush_line__ + +#define SHMEM_CHARACTER_GET PSHMEM_CHARACTER_GET +#define shmem_character_get_ pshmem_character_get_ +#define shmem_character_get__ pshmem_character_get__ + +#define SHMEM_CHARACTER_PUT PSHMEM_CHARACTER_PUT +#define shmem_character_put_ pshmem_character_put_ +#define shmem_character_put__ pshmem_character_put__ + +#define SHMEM_COLLECT4 PSHMEM_COLLECT4 +#define shmem_collect4_ pshmem_collect4_ +#define shmem_collect4__ pshmem_collect4__ + +#define SHMEM_COLLECT8 PSHMEM_COLLECT8 +#define shmem_collect8_ pshmem_collect8_ +#define shmem_collect8__ pshmem_collect8__ + +#define SHMEM_COLLECT32 PSHMEM_COLLECT32 +#define shmem_collect32_ pshmem_collect32_ +#define shmem_collect32__ pshmem_collect32__ + +#define SHMEM_COLLECT64 PSHMEM_COLLECT64 +#define shmem_collect64_ pshmem_collect64_ +#define shmem_collect64__ pshmem_collect64__ + +#define SHMEM_FCOLLECT4 PSHMEM_FCOLLECT4 +#define shmem_fcollect4_ pshmem_fcollect4_ +#define shmem_fcollect4__ pshmem_fcollect4__ + +#define SHMEM_FCOLLECT8 PSHMEM_FCOLLECT8 +#define shmem_fcollect8_ pshmem_fcollect8_ +#define shmem_fcollect8__ pshmem_fcollect8__ + +#define SHMEM_FCOLLECT32 PSHMEM_FCOLLECT32 +#define shmem_fcollect32_ pshmem_fcollect32_ +#define shmem_fcollect32__ pshmem_fcollect32__ + +#define SHMEM_FCOLLECT64 PSHMEM_FCOLLECT64 +#define shmem_fcollect64_ pshmem_fcollect64_ +#define shmem_fcollect64__ pshmem_fcollect64__ + +#define SHMEM_COMPLEX_GET PSHMEM_COMPLEX_GET +#define shmem_complex_get_ pshmem_complex_get_ +#define shmem_complex_get__ pshmem_complex_get__ + +#define SHMEM_COMPLEX_IGET PSHMEM_COMPLEX_IGET +#define shmem_complex_iget_ pshmem_complex_iget_ +#define shmem_complex_iget__ pshmem_complex_iget__ + +#define SHMEM_COMPLEX_IPUT PSHMEM_COMPLEX_IPUT +#define shmem_complex_iput_ pshmem_complex_iput_ +#define shmem_complex_iput__ pshmem_complex_iput__ + +#define SHMEM_COMPLEX_PUT PSHMEM_COMPLEX_PUT +#define shmem_complex_put_ pshmem_complex_put_ +#define shmem_complex_put__ pshmem_complex_put__ + +#define SHMEM_DOUBLE_GET PSHMEM_DOUBLE_GET +#define shmem_double_get_ pshmem_double_get_ +#define shmem_double_get__ pshmem_double_get__ + +#define SHMEM_DOUBLE_IGET PSHMEM_DOUBLE_IGET +#define shmem_double_iget_ pshmem_double_iget_ +#define shmem_double_iget__ pshmem_double_iget__ + +#define SHMEM_DOUBLE_IPUT PSHMEM_DOUBLE_IPUT +#define shmem_double_iput_ pshmem_double_iput_ +#define shmem_double_iput__ pshmem_double_iput__ + +#define SHMEM_DOUBLE_PUT PSHMEM_DOUBLE_PUT +#define shmem_double_put_ pshmem_double_put_ +#define shmem_double_put__ pshmem_double_put__ + +#define SHMEM_FENCE PSHMEM_FENCE +#define shmem_fence_ pshmem_fence_ +#define shmem_fence__ pshmem_fence__ + +#define SHMEM_GET128 PSHMEM_GET128 +#define shmem_get128_ pshmem_get128_ +#define shmem_get128__ pshmem_get128__ + +#define SHMEM_GET32 PSHMEM_GET32 +#define shmem_get32_ pshmem_get32_ +#define shmem_get32__ pshmem_get32__ + +#define SHMEM_GET4 PSHMEM_GET4 +#define shmem_get4_ pshmem_get4_ +#define shmem_get4__ pshmem_get4__ + +#define SHMEM_GET64 PSHMEM_GET64 +#define shmem_get64_ pshmem_get64_ +#define shmem_get64__ pshmem_get64__ + +#define SHMEM_GET8 PSHMEM_GET8 +#define shmem_get8_ pshmem_get8_ +#define shmem_get8__ pshmem_get8__ + +#define SHMEM_GETMEM PSHMEM_GETMEM +#define shmem_getmem_ pshmem_getmem_ +#define shmem_getmem__ pshmem_getmem__ + +#define SHMEM_IGET128 PSHMEM_IGET128 +#define shmem_iget128_ pshmem_iget128_ +#define shmem_iget128__ pshmem_iget128__ + +#define SHMEM_IGET32 PSHMEM_IGET32 +#define shmem_iget32_ pshmem_iget32_ +#define shmem_iget32__ pshmem_iget32__ + +#define SHMEM_IGET4 PSHMEM_IGET4 +#define shmem_iget4_ pshmem_iget4_ +#define shmem_iget4__ pshmem_iget4__ + +#define SHMEM_IGET64 PSHMEM_IGET64 +#define shmem_iget64_ pshmem_iget64_ +#define shmem_iget64__ pshmem_iget64__ + +#define SHMEM_IGET8 PSHMEM_IGET8 +#define shmem_iget8_ pshmem_iget8_ +#define shmem_iget8__ pshmem_iget8__ + +#define SHMEM_INT4_ADD PSHMEM_INT4_ADD +#define shmem_int4_add_ pshmem_int4_add_ +#define shmem_int4_add__ pshmem_int4_add__ + +#define SHMEM_INT4_CSWAP PSHMEM_INT4_CSWAP +#define shmem_int4_cswap_ pshmem_int4_cswap_ +#define shmem_int4_cswap__ pshmem_int4_cswap__ + +#define SHMEM_INT4_FADD PSHMEM_INT4_FADD +#define shmem_int4_fadd_ pshmem_int4_fadd_ +#define shmem_int4_fadd__ pshmem_int4_fadd__ + +#define SHMEM_INT4_FINC PSHMEM_INT4_FINC +#define shmem_int4_finc_ pshmem_int4_finc_ +#define shmem_int4_finc__ pshmem_int4_finc__ + +#define SHMEM_INT4_INC PSHMEM_INT4_INC +#define shmem_int4_inc_ pshmem_int4_inc_ +#define shmem_int4_inc__ pshmem_int4_inc__ + +#define SHMEM_INT4_SWAP PSHMEM_INT4_SWAP +#define shmem_int4_swap_ pshmem_int4_swap_ +#define shmem_int4_swap__ pshmem_int4_swap__ + +#define SHMEM_INT4_WAIT PSHMEM_INT4_WAIT +#define shmem_int4_wait_ pshmem_int4_wait_ +#define shmem_int4_wait__ pshmem_int4_wait__ + +#define SHMEM_INT4_WAIT_UNTIL PSHMEM_INT4_WAIT_UNTIL +#define shmem_int4_wait_until_ pshmem_int4_wait_until_ +#define shmem_int4_wait_until__ pshmem_int4_wait_until__ + +#define SHMEM_INT8_ADD PSHMEM_INT8_ADD +#define shmem_int8_add_ pshmem_int8_add_ +#define shmem_int8_add__ pshmem_int8_add__ + +#define SHMEM_INT8_CSWAP PSHMEM_INT8_CSWAP +#define shmem_int8_cswap_ pshmem_int8_cswap_ +#define shmem_int8_cswap__ pshmem_int8_cswap__ + +#define SHMEM_INT8_FADD PSHMEM_INT8_FADD +#define shmem_int8_fadd_ pshmem_int8_fadd_ +#define shmem_int8_fadd__ pshmem_int8_fadd__ + +#define SHMEM_INT8_FINC PSHMEM_INT8_FINC +#define shmem_int8_finc_ pshmem_int8_finc_ +#define shmem_int8_finc__ pshmem_int8_finc__ + +#define SHMEM_INT8_INC PSHMEM_INT8_INC +#define shmem_int8_inc_ pshmem_int8_inc_ +#define shmem_int8_inc__ pshmem_int8_inc__ + +#define SHMEM_INT8_SWAP PSHMEM_INT8_SWAP +#define shmem_int8_swap_ pshmem_int8_swap_ +#define shmem_int8_swap__ pshmem_int8_swap__ + +#define SHMEM_INT8_WAIT PSHMEM_INT8_WAIT +#define shmem_int8_wait_ pshmem_int8_wait_ +#define shmem_int8_wait__ pshmem_int8_wait__ + +#define SHMEM_INT8_WAIT_UNTIL PSHMEM_INT8_WAIT_UNTIL +#define shmem_int8_wait_until_ pshmem_int8_wait_until_ +#define shmem_int8_wait_until__ pshmem_int8_wait_until__ + +#define SHMEM_INTEGER_GET PSHMEM_INTEGER_GET +#define shmem_integer_get_ pshmem_integer_get_ +#define shmem_integer_get__ pshmem_integer_get__ + +#define SHMEM_INTEGER_IGET PSHMEM_INTEGER_IGET +#define shmem_integer_iget_ pshmem_integer_iget_ +#define shmem_integer_iget__ pshmem_integer_iget__ + +#define SHMEM_INTEGER_IPUT PSHMEM_INTEGER_IPUT +#define shmem_integer_iput_ pshmem_integer_iput_ +#define shmem_integer_iput__ pshmem_integer_iput__ + +#define SHMEM_INTEGER_PUT PSHMEM_INTEGER_PUT +#define shmem_integer_put_ pshmem_integer_put_ +#define shmem_integer_put__ pshmem_integer_put__ + +#define SHMEM_IPUT128 PSHMEM_IPUT128 +#define shmem_iput128_ pshmem_iput128_ +#define shmem_iput128__ pshmem_iput128__ + +#define SHMEM_IPUT32 PSHMEM_IPUT32 +#define shmem_iput32_ pshmem_iput32_ +#define shmem_iput32__ pshmem_iput32__ + +#define SHMEM_IPUT4 PSHMEM_IPUT4 +#define shmem_iput4_ pshmem_iput4_ +#define shmem_iput4__ pshmem_iput4__ + +#define SHMEM_IPUT64 PSHMEM_IPUT64 +#define shmem_iput64_ pshmem_iput64_ +#define shmem_iput64__ pshmem_iput64__ + +#define SHMEM_IPUT8 PSHMEM_IPUT8 +#define shmem_iput8_ pshmem_iput8_ +#define shmem_iput8__ pshmem_iput8__ + +#define SHMEM_SET_LOCK PSHMEM_SET_LOCK +#define shmem_set_lock_ pshmem_set_lock_ +#define shmem_set_lock__ pshmem_set_lock__ + +#define SHMEM_TEST_LOCK PSHMEM_TEST_LOCK +#define shmem_test_lock_ pshmem_test_lock_ +#define shmem_test_lock__ pshmem_test_lock__ + +#define SHMEM_CLEAR_LOCK PSHMEM_CLEAR_LOCK +#define shmem_clear_lock_ pshmem_clear_lock_ +#define shmem_clear_lock__ pshmem_clear_lock__ + +#define SHMEM_LOGICAL_GET PSHMEM_LOGICAL_GET +#define shmem_logical_get_ pshmem_logical_get_ +#define shmem_logical_get__ pshmem_logical_get__ + +#define SHMEM_LOGICAL_IGET PSHMEM_LOGICAL_IGET +#define shmem_logical_iget_ pshmem_logical_iget_ +#define shmem_logical_iget__ pshmem_logical_iget__ + +#define SHMEM_LOGICAL_IPUT PSHMEM_LOGICAL_IPUT +#define shmem_logical_iput_ pshmem_logical_iput_ +#define shmem_logical_iput__ pshmem_logical_iput__ + +#define SHMEM_LOGICAL_PUT PSHMEM_LOGICAL_PUT +#define shmem_logical_put_ pshmem_logical_put_ +#define shmem_logical_put__ pshmem_logical_put__ + +#define SHMEM_INT2_MAX_TO_ALL PSHMEM_INT2_MAX_TO_ALL +#define shmem_int2_max_to_all_ pshmem_int2_max_to_all_ +#define shmem_int2_max_to_all__ pshmem_int2_max_to_all__ + +#define SHMEM_INT4_MAX_TO_ALL PSHMEM_INT4_MAX_TO_ALL +#define shmem_int4_max_to_all_ pshmem_int4_max_to_all_ +#define shmem_int4_max_to_all__ pshmem_int4_max_to_all__ + +#define SHMEM_INT8_MAX_TO_ALL PSHMEM_INT8_MAX_TO_ALL +#define shmem_int8_max_to_all_ pshmem_int8_max_to_all_ +#define shmem_int8_max_to_all__ pshmem_int8_max_to_all__ + +#define SHMEM_REAL4_MAX_TO_ALL PSHMEM_REAL4_MAX_TO_ALL +#define shmem_real4_max_to_all_ pshmem_real4_max_to_all_ +#define shmem_real4_max_to_all__ pshmem_real4_max_to_all__ + +#define SHMEM_REAL8_MAX_TO_ALL PSHMEM_REAL8_MAX_TO_ALL +#define shmem_real8_max_to_all_ pshmem_real8_max_to_all_ +#define shmem_real8_max_to_all__ pshmem_real8_max_to_all__ + +#define SHMEM_REAL16_MAX_TO_ALL PSHMEM_REAL16_MAX_TO_ALL +#define shmem_real16_max_to_all_ pshmem_real16_max_to_all_ +#define shmem_real16_max_to_all__ pshmem_real16_max_to_all__ + +#define SHMEM_INT2_MIN_TO_ALL PSHMEM_INT2_MIN_TO_ALL +#define shmem_int2_min_to_all_ pshmem_int2_min_to_all_ +#define shmem_int2_min_to_all__ pshmem_int2_min_to_all__ + +#define SHMEM_INT4_MIN_TO_ALL PSHMEM_INT4_MIN_TO_ALL +#define shmem_int4_min_to_all_ pshmem_int4_min_to_all_ +#define shmem_int4_min_to_all__ pshmem_int4_min_to_all__ + +#define SHMEM_INT8_MIN_TO_ALL PSHMEM_INT8_MIN_TO_ALL +#define shmem_int8_min_to_all_ pshmem_int8_min_to_all_ +#define shmem_int8_min_to_all__ pshmem_int8_min_to_all__ + +#define SHMEM_REAL4_MIN_TO_ALL PSHMEM_REAL4_MIN_TO_ALL +#define shmem_real4_min_to_all_ pshmem_real4_min_to_all_ +#define shmem_real4_min_to_all__ pshmem_real4_min_to_all__ + +#define SHMEM_REAL8_MIN_TO_ALL PSHMEM_REAL8_MIN_TO_ALL +#define shmem_real8_min_to_all_ pshmem_real8_min_to_all_ +#define shmem_real8_min_to_all__ pshmem_real8_min_to_all__ + +#define SHMEM_REAL16_MIN_TO_ALL PSHMEM_REAL16_MIN_TO_ALL +#define shmem_real16_min_to_all_ pshmem_real16_min_to_all_ +#define shmem_real16_min_to_all__ pshmem_real16_min_to_all__ + +#define SHMEM_INT2_OR_TO_ALL PSHMEM_INT2_OR_TO_ALL +#define shmem_int2_or_to_all_ pshmem_int2_or_to_all_ +#define shmem_int2_or_to_all__ pshmem_int2_or_to_all__ + +#define SHMEM_INT4_OR_TO_ALL PSHMEM_INT4_OR_TO_ALL +#define shmem_int4_or_to_all_ pshmem_int4_or_to_all_ +#define shmem_int4_or_to_all__ pshmem_int4_or_to_all__ + +#define SHMEM_INT8_OR_TO_ALL PSHMEM_INT8_OR_TO_ALL +#define shmem_int8_or_to_all_ pshmem_int8_or_to_all_ +#define shmem_int8_or_to_all__ pshmem_int8_or_to_all__ + +#define SHMEM_PE_ACCESSIBLE PSHMEM_PE_ACCESSIBLE +#define shmem_pe_accessible_ pshmem_pe_accessible_ +#define shmem_pe_accessible__ pshmem_pe_accessible__ + +#define SHMEM_INT2_PROD_TO_ALL PSHMEM_INT2_PROD_TO_ALL +#define shmem_int2_prod_to_all_ pshmem_int2_prod_to_all_ +#define shmem_int2_prod_to_all__ pshmem_int2_prod_to_all__ + +#define SHMEM_INT4_PROD_TO_ALL PSHMEM_INT4_PROD_TO_ALL +#define shmem_int4_prod_to_all_ pshmem_int4_prod_to_all_ +#define shmem_int4_prod_to_all__ pshmem_int4_prod_to_all__ + +#define SHMEM_INT8_PROD_TO_ALL PSHMEM_INT8_PROD_TO_ALL +#define shmem_int8_prod_to_all_ pshmem_int8_prod_to_all_ +#define shmem_int8_prod_to_all__ pshmem_int8_prod_to_all__ + +#define SHMEM_COMP4_PROD_TO_ALL PSHMEM_COMP4_PROD_TO_ALL +#define shmem_comp4_prod_to_all_ pshmem_comp4_prod_to_all_ +#define shmem_comp4_prod_to_all__ pshmem_comp4_prod_to_all__ + +#define SHMEM_COMP8_PROD_TO_ALL PSHMEM_COMP8_PROD_TO_ALL +#define shmem_comp8_prod_to_all_ pshmem_comp8_prod_to_all_ +#define shmem_comp8_prod_to_all__ pshmem_comp8_prod_to_all__ + +#define SHMEM_REAL4_PROD_TO_ALL PSHMEM_REAL4_PROD_TO_ALL +#define shmem_real4_prod_to_all_ pshmem_real4_prod_to_all_ +#define shmem_real4_prod_to_all__ pshmem_real4_prod_to_all__ + +#define SHMEM_REAL8_PROD_TO_ALL PSHMEM_REAL8_PROD_TO_ALL +#define shmem_real8_prod_to_all_ pshmem_real8_prod_to_all_ +#define shmem_real8_prod_to_all__ pshmem_real8_prod_to_all__ + +#define SHMEM_REAL16_PROD_TO_ALL PSHMEM_REAL16_PROD_TO_ALL +#define shmem_real16_prod_to_all_ pshmem_real16_prod_to_all_ +#define shmem_real16_prod_to_all__ pshmem_real16_prod_to_all__ + +#define SHMEM_PTR PSHMEM_PTR +#define shmem_ptr_ pshmem_ptr_ +#define shmem_ptr__ pshmem_ptr__ + +#define SHMEM_PUT32 PSHMEM_PUT32 +#define shmem_put32_ pshmem_put32_ +#define shmem_put32__ pshmem_put32__ + +#define SHMEM_PUT4 PSHMEM_PUT4 +#define shmem_put4_ pshmem_put4_ +#define shmem_put4__ pshmem_put4__ + +#define SHMEM_PUT64 PSHMEM_PUT64 +#define shmem_put64_ pshmem_put64_ +#define shmem_put64__ pshmem_put64__ + +#define SHMEM_PUT128 PSHMEM_PUT128 +#define shmem_put128_ pshmem_put128_ +#define shmem_put128__ pshmem_put128__ + +#define SHMEM_PUT8 PSHMEM_PUT8 +#define shmem_put8_ pshmem_put8_ +#define shmem_put8__ pshmem_put8__ + +#define SHMEM_PUT PSHMEM_PUT +#define shmem_put_ pshmem_put_ +#define shmem_put__ pshmem_put__ + +#define SHMEM_PUTMEM PSHMEM_PUTMEM +#define shmem_putmem_ pshmem_putmem_ +#define shmem_putmem__ pshmem_putmem__ + +#define SHMEM_QUIET PSHMEM_QUIET +#define shmem_quiet_ pshmem_quiet_ +#define shmem_quiet__ pshmem_quiet__ + +#define SHMEM_REAL4_SWAP PSHMEM_REAL4_SWAP +#define shmem_real4_swap_ pshmem_real4_swap_ +#define shmem_real4_swap__ pshmem_real4_swap__ + +#define SHMEM_REAL8_SWAP PSHMEM_REAL8_SWAP +#define shmem_real8_swap_ pshmem_real8_swap_ +#define shmem_real8_swap__ pshmem_real8_swap__ + +#define SHMEM_REAL_GET PSHMEM_REAL_GET +#define shmem_real_get_ pshmem_real_get_ +#define shmem_real_get__ pshmem_real_get__ + +#define SHMEM_REAL_IGET PSHMEM_REAL_IGET +#define shmem_real_iget_ pshmem_real_iget_ +#define shmem_real_iget__ pshmem_real_iget__ + +#define SHMEM_REAL_IPUT PSHMEM_REAL_IPUT +#define shmem_real_iput_ pshmem_real_iput_ +#define shmem_real_iput__ pshmem_real_iput__ + +#define SHMEM_REAL_PUT PSHMEM_REAL_PUT +#define shmem_real_put_ pshmem_real_put_ +#define shmem_real_put__ pshmem_real_put__ + +#define SHMEM_INT2_SUM_TO_ALL PSHMEM_INT2_SUM_TO_ALL +#define shmem_int2_sum_to_all_ pshmem_int2_sum_to_all_ +#define shmem_int2_sum_to_all__ pshmem_int2_sum_to_all__ + +#define SHMEM_INT4_SUM_TO_ALL PSHMEM_INT4_SUM_TO_ALL +#define shmem_int4_sum_to_all_ pshmem_int4_sum_to_all_ +#define shmem_int4_sum_to_all__ pshmem_int4_sum_to_all__ + +#define SHMEM_INT8_SUM_TO_ALL PSHMEM_INT8_SUM_TO_ALL +#define shmem_int8_sum_to_all_ pshmem_int8_sum_to_all_ +#define shmem_int8_sum_to_all__ pshmem_int8_sum_to_all__ + +#define SHMEM_COMP4_SUM_TO_ALL PSHMEM_COMP4_SUM_TO_ALL +#define shmem_comp4_sum_to_all_ pshmem_comp4_sum_to_all_ +#define shmem_comp4_sum_to_all__ pshmem_comp4_sum_to_all__ + +#define SHMEM_COMP8_SUM_TO_ALL PSHMEM_COMP8_SUM_TO_ALL +#define shmem_comp8_sum_to_all_ pshmem_comp8_sum_to_all_ +#define shmem_comp8_sum_to_all__ pshmem_comp8_sum_to_all__ + +#define SHMEM_REAL4_SUM_TO_ALL PSHMEM_REAL4_SUM_TO_ALL +#define shmem_real4_sum_to_all_ pshmem_real4_sum_to_all_ +#define shmem_real4_sum_to_all__ pshmem_real4_sum_to_all__ + +#define SHMEM_REAL8_SUM_TO_ALL PSHMEM_REAL8_SUM_TO_ALL +#define shmem_real8_sum_to_all_ pshmem_real8_sum_to_all_ +#define shmem_real8_sum_to_all__ pshmem_real8_sum_to_all__ + +#define SHMEM_REAL16_SUM_TO_ALL PSHMEM_REAL16_SUM_TO_ALL +#define shmem_real16_sum_to_all_ pshmem_real16_sum_to_all_ +#define shmem_real16_sum_to_all__ pshmem_real16_sum_to_all__ + +#define SHMEM_SWAP PSHMEM_SWAP +#define shmem_swap_ pshmem_swap_ +#define shmem_swap__ pshmem_swap__ + +#define SHMEM_WAIT PSHMEM_WAIT +#define shmem_wait_ pshmem_wait_ +#define shmem_wait__ pshmem_wait__ + +#define SHMEM_WAIT_UNTIL PSHMEM_WAIT_UNTIL +#define shmem_wait_until_ pshmem_wait_until_ +#define shmem_wait_until__ pshmem_wait_until__ + +#define SHMEM_INT2_XOR_TO_ALL PSHMEM_INT2_XOR_TO_ALL +#define shmem_int2_xor_to_all_ pshmem_int2_xor_to_all_ +#define shmem_int2_xor_to_all__ pshmem_int2_xor_to_all__ + +#define SHMEM_INT4_XOR_TO_ALL PSHMEM_INT4_XOR_TO_ALL +#define shmem_int4_xor_to_all_ pshmem_int4_xor_to_all_ +#define shmem_int4_xor_to_all__ pshmem_int4_xor_to_all__ + +#define SHMEM_INT8_XOR_TO_ALL PSHMEM_INT8_XOR_TO_ALL +#define shmem_int8_xor_to_all_ pshmem_int8_xor_to_all_ +#define shmem_int8_xor_to_all__ pshmem_int8_xor_to_all__ + +#define SHMEM_COMP4_XOR_TO_ALL PSHMEM_COMP4_XOR_TO_ALL +#define shmem_comp4_xor_to_all_ pshmem_comp4_xor_to_all_ +#define shmem_comp4_xor_to_all__ pshmem_comp4_xor_to_all__ + +#define SHMEM_COMP8_XOR_TO_ALL PSHMEM_COMP8_XOR_TO_ALL +#define shmem_comp8_xor_to_all_ pshmem_comp8_xor_to_all_ +#define shmem_comp8_xor_to_all__ pshmem_comp8_xor_to_all__ + +#define SHPALLOC PSHPALLOC +#define shpalloc_ pshpalloc_ +#define shpalloc__ pshpalloc__ + +#define SHPCLMOVE PSHPCLMOVE +#define shpclmove_ pshpclmove_ +#define shpclmove__ pshpclmove__ + +#define SHPDEALLC PSHPDEALLC +#define shpdeallc_ pshpdeallc_ +#define shpdeallc__ pshpdeallc__ + +#define START_PES PSTART_PES +#define start_pes_ pstart_pes_ +#define start_pes__ pstart_pes__ + +#endif /* OSHMEM_FORTRAN_PROFILE_DEFINES_H */ diff --git a/oshmem/shmem/fortran/profile/pbindings.h b/oshmem/shmem/fortran/profile/pbindings.h new file mode 100644 index 0000000000..ad680a92d4 --- /dev/null +++ b/oshmem/shmem/fortran/profile/pbindings.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2014 Mellanox Technologies, Inc. + * All rights reserved. + * Copyright (c) 2013 Cisco Systems, Inc. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef SHMEM_FORTRAN_PBINDINGS_H +#define SHMEM_FORTRAN_PBINDINGS_H + +#include "prototypes_pshmem.h" + +#define SHMEM_GENERATE_WEAK_PRAGMA(x) _Pragma(#x) + +#define SHMEM_GENERATE_WEAK_BINDINGS(UPPER_NAME, lower_name) \ + SHMEM_GENERATE_WEAK_PRAGMA(weak UPPER_NAME = P ## UPPER_NAME) \ + SHMEM_GENERATE_WEAK_PRAGMA(weak lower_name ## _ = p ## lower_name ## _) \ + SHMEM_GENERATE_WEAK_PRAGMA(weak lower_name ## __ = p ## lower_name ## __) + +#endif /*SHMEM_FORTRAN_PBINDINGS_H*/ diff --git a/oshmem/shmem/fortran/profile/prototypes_pshmem.h b/oshmem/shmem/fortran/profile/prototypes_pshmem.h new file mode 100644 index 0000000000..34882028bf --- /dev/null +++ b/oshmem/shmem/fortran/profile/prototypes_pshmem.h @@ -0,0 +1,167 @@ +/* + * Copyright (c) 2014 Mellanox Technologies, Inc. + * All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef OSHMEM_F77_PROTOTYPES_PSHMEM_H +#define OSHMEM_F77_PROTOTYPES_PSHMEM_H +#include "oshmem_config.h" +#include "oshmem/shmem/fortran/shmem_fortran_pointer.h" + +BEGIN_C_DECLS + +#define PN(ret, lower_name, upper_name, args) \ + OSHMEM_DECLSPEC ret lower_name##_f args; \ + OSHMEM_DECLSPEC ret lower_name##_ args; \ + OSHMEM_DECLSPEC ret lower_name##__ args; \ + OSHMEM_DECLSPEC ret upper_name args + +PN (void, pstart_pes, PSTART_PES, (MPI_Fint npes)); +PN (MPI_Fint, pnum_pes, PNUM_PES, (void)); +PN (MPI_Fint, pmy_pe, PMY_PE, (void)); +OSHMEM_DECLSPEC MPI_Fint p_my_pe(void); +PN (void, shmem_finalize, SHMEM_FINALIZE, (void)); +PN (void, pshmem_barrier_all, PSHMEM_BARRIER_ALL, (void)); +PN (void, pshpalloc, PSHPALLOC, (FORTRAN_POINTER_T *addr, MPI_Fint *length, MPI_Fint *errcode, MPI_Fint *abort)); +PN (void, pshpdeallc, PSHPDEALLC, (FORTRAN_POINTER_T *addr, MPI_Fint *errcode, MPI_Fint *abort)); +PN (void, pshpclmove, PSHPCLMOVE, (FORTRAN_POINTER_T *addr, MPI_Fint *length, MPI_Fint *status, MPI_Fint *abort)); +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)); +PN (void, pshmem_double_put, PSHMEM_DOUBLE_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, pshmem_logical_put, PSHMEM_LOGICAL_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, pshmem_integer_put, PSHMEM_INTEGER_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, pshmem_real_put, PSHMEM_REAL_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, pshmem_put4, PSHMEM_PUT4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, pshmem_put8, PSHMEM_PUT8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, pshmem_put32, PSHMEM_PUT32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +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)); +PN (void, pshmem_iput64, PSHMEM_IPUT64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, pshmem_iput128, PSHMEM_IPUT128, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, pshmem_complex_iput, PSHMEM_COMPLEX_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, pshmem_double_iput, PSHMEM_DOUBLE_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +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_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)); +PN (void, pshmem_integer_get, PSHMEM_INTEGER_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, pshmem_get4, PSHMEM_GET4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, pshmem_get8, PSHMEM_GET8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, pshmem_get32, PSHMEM_GET32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, pshmem_get64, PSHMEM_GET64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, pshmem_get128, PSHMEM_GET128, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +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)); +PN (void, pshmem_iget64, PSHMEM_IGET64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, pshmem_iget128, PSHMEM_IGET128, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, pshmem_complex_iget, PSHMEM_COMPLEX_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, pshmem_double_iget, PSHMEM_DOUBLE_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +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 (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)); +PN (ompi_fortran_real4_t, pshmem_real4_swap, PSHMEM_REAL4_SWAP, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe)); +PN (ompi_fortran_real8_t, pshmem_real8_swap, PSHMEM_REAL8_SWAP, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe)); +PN (ompi_fortran_integer4_t, pshmem_int4_cswap, PSHMEM_INT4_CSWAP, (FORTRAN_POINTER_T target, MPI_Fint *cond, FORTRAN_POINTER_T value, MPI_Fint *pe)); +PN (ompi_fortran_integer8_t, pshmem_int8_cswap, PSHMEM_INT8_CSWAP, (FORTRAN_POINTER_T target, MPI_Fint *cond, FORTRAN_POINTER_T value, MPI_Fint *pe)); +PN (ompi_fortran_integer4_t, pshmem_int4_fadd, PSHMEM_INT4_FADD, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe)); +PN (ompi_fortran_integer8_t, pshmem_int8_fadd, PSHMEM_INT8_FADD, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe)); +PN (void, pshmem_int4_inc, PSHMEM_INT4_INC, (FORTRAN_POINTER_T target, MPI_Fint *pe)); +PN (void, pshmem_int8_inc, PSHMEM_INT8_INC, (FORTRAN_POINTER_T target, MPI_Fint *pe)); +PN (ompi_fortran_integer4_t, pshmem_int4_finc, PSHMEM_INT4_FINC, (FORTRAN_POINTER_T target, MPI_Fint *pe)); +PN (ompi_fortran_integer8_t, pshmem_int8_finc, PSHMEM_INT8_FINC, (FORTRAN_POINTER_T target, MPI_Fint *pe)); +PN (void, pshmem_int4_add, PSHMEM_INT4_ADD, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe)); +PN (void, pshmem_int8_add, PSHMEM_INT8_ADD, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe)); +PN (void, pshmem_int4_wait, PSHMEM_INT4_WAIT, (ompi_fortran_integer4_t *var, ompi_fortran_integer4_t *value)); +PN (void, pshmem_int8_wait, PSHMEM_INT8_WAIT, (ompi_fortran_integer8_t *var, ompi_fortran_integer8_t *value)); +PN (void, pshmem_wait, PSHMEM_WAIT, (MPI_Fint *var, MPI_Fint *value)); +PN (void, pshmem_int4_wait_until, PSHMEM_INT4_WAIT_UNTIL, (ompi_fortran_integer4_t *var, MPI_Fint *cmp, ompi_fortran_integer4_t *value)); +PN (void, pshmem_int8_wait_until, PSHMEM_INT8_WAIT_UNTIL, (ompi_fortran_integer8_t *var, MPI_Fint *cmp, ompi_fortran_integer8_t *value)); +PN (void, pshmem_wait_until, PSHMEM_WAIT_UNTIL, (MPI_Fint *var, MPI_Fint *cmp, MPI_Fint *value)); +PN (void, pshmem_barrier, PSHMEM_BARRIER, (MPI_Fint *PE_start, MPI_Fint *logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int2_and_to_all, PSHMEM_INT2_AND_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int4_and_to_all, PSHMEM_INT4_AND_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int8_and_to_all, PSHMEM_INT8_AND_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int2_or_to_all, PSHMEM_INT2_OR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int4_or_to_all, PSHMEM_INT4_OR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int8_or_to_all, PSHMEM_INT8_OR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int2_xor_to_all, PSHMEM_INT2_XOR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int4_xor_to_all, PSHMEM_INT4_XOR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int8_xor_to_all, PSHMEM_INT8_XOR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_comp4_xor_to_all, PSHMEM_COMP4_XOR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_comp8_xor_to_all, PSHMEM_COMP8_XOR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int2_max_to_all, PSHMEM_INT2_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int4_max_to_all, PSHMEM_INT4_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int8_max_to_all, PSHMEM_INT8_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real4_max_to_all, PSHMEM_REAL4_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real8_max_to_all, PSHMEM_REAL8_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real16_max_to_all, PSHMEM_REAL16_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int2_min_to_all, PSHMEM_INT2_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int4_min_to_all, PSHMEM_INT4_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int8_min_to_all, PSHMEM_INT8_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real4_min_to_all, PSHMEM_REAL4_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real8_min_to_all, PSHMEM_REAL8_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real16_min_to_all, PSHMEM_REAL16_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int2_sum_to_all, PSHMEM_INT2_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int4_sum_to_all, PSHMEM_INT4_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int8_sum_to_all, PSHMEM_INT8_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_comp4_sum_to_all, PSHMEM_COMP4_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_comp8_sum_to_all, PSHMEM_COMP8_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real4_sum_to_all, PSHMEM_REAL4_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real8_sum_to_all, PSHMEM_REAL8_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real16_sum_to_all, PSHMEM_REAL16_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int2_prod_to_all, PSHMEM_INT2_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int4_prod_to_all, PSHMEM_INT4_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_int8_prod_to_all, PSHMEM_INT8_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_comp4_prod_to_all, SHMEM_COMP4_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_comp8_prod_to_all, SHMEM_COMP8_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real4_prod_to_all, PSHMEM_REAL4_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real8_prod_to_all, PSHMEM_REAL8_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_real16_prod_to_all, PSHMEM_REAL16_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_collect4, PSHMEM_COLLECT4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_collect8, PSHMEM_COLLECT8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_collect32, PSHMEM_COLLECT32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_collect64, PSHMEM_COLLECT64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_fcollect4, PSHMEM_FCOLLECT4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_fcollect8, PSHMEM_FCOLLECT8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_fcollect32, PSHMEM_FCOLLECT32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_fcollect64, PSHMEM_FCOLLECT64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_broadcast4, PSHMEM_BROADCAST4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_root, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_broadcast8, PSHMEM_BROADCAST8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_root, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_broadcast32, PSHMEM_BROADCAST32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_root, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_broadcast64, PSHMEM_BROADCAST64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nlong, MPI_Fint *PE_root, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, pshmem_set_lock, PSHMEM_SET_LOCK, (FORTRAN_POINTER_T lock)); +PN (void, pshmem_clear_lock, PSHMEM_CLEAR_LOCK, (FORTRAN_POINTER_T lock)); +PN (MPI_Fint, pshmem_test_lock, PSHMEM_TEST_LOCK, (FORTRAN_POINTER_T lock)); +PN (void, pshmem_set_cache_inv, PSHMEM_SET_CACHE_INV, (void)); +PN (void, pshmem_set_cache_line_inv, PSHMEM_SET_CACHE_LINE_INV, (FORTRAN_POINTER_T target)); +PN (void, pshmem_clear_cache_inv, PSHMEM_CLEAR_CACHE_INV, (void)); +PN (void, pshmem_clear_cache_line_inv, PSHMEM_CLEAR_CACHE_LINE_INV, (FORTRAN_POINTER_T target)); +PN (void, pshmem_udcflush, PSHMEM_UDCFLUSH, (void)); +PN (void, pshmem_udcflush_line, PSHMEM_UDCFLUSH_LINE, (FORTRAN_POINTER_T target)); +PN (void, pshmem_fence, PSHMEM_FENCE, (void)); +PN (void, pshmem_quiet, PSHMEM_QUIET, (void)); + +END_C_DECLS +#endif /*OSHMEM_F77_PROTOTYPES_PSHMEM_H*/ diff --git a/oshmem/shmem/fortran/prototypes_shmem.h b/oshmem/shmem/fortran/prototypes_shmem.h index 567a3482ff..4670d1ca07 100644 --- a/oshmem/shmem/fortran/prototypes_shmem.h +++ b/oshmem/shmem/fortran/prototypes_shmem.h @@ -1,10 +1,10 @@ /* - * Copyright (c) 2013 Mellanox Technologies, Inc. + * Copyright (c) 2014 Mellanox Technologies, Inc. * All rights reserved. * $COPYRIGHT$ - * + * * Additional copyrights may follow - * + * * $HEADER$ */ @@ -19,64 +19,66 @@ BEGIN_C_DECLS OSHMEM_DECLSPEC ret lower_name##_f args; \ OSHMEM_DECLSPEC ret lower_name##_ args; \ OSHMEM_DECLSPEC ret lower_name##__ args; \ - OSHMEM_DECLSPEC ret upper_name args + OSHMEM_DECLSPEC ret upper_name args PN (void, start_pes, START_PES, (MPI_Fint npes)); PN (MPI_Fint, num_pes, NUM_PES, (void)); PN (MPI_Fint, my_pe, MY_PE, (void)); +OSHMEM_DECLSPEC MPI_Fint _my_pe_(void); PN (void, shmem_finalize, SHMEM_FINALIZE, (void)); PN (void, shmem_barrier_all, SHMEM_BARRIER_ALL, (void)); -PN (void, shpalloc, SHPALLOC, (FORTRAN_POINTER_T *addr, MPI_Fint *length, MPI_Fint *errcode, MPI_Fint *abort)); -PN (void, shpdeallc, SHPDEALLC, (FORTRAN_POINTER_T *addr, MPI_Fint *errcode, MPI_Fint *abort)); -PN (void, shpclmove, SHPCLMOVE, (FORTRAN_POINTER_T *addr, MPI_Fint *length, MPI_Fint *status, MPI_Fint *abort)); -PN (FORTRAN_POINTER_T*, shmem_ptr, SHMEM_PTR, (FORTRAN_POINTER_T target, MPI_Fint *pe)); -PN (ompi_fortran_logical_t, shmem_pe_accessible, SHMEM_PE_ACCESSIBLE, (MPI_Fint *pe)); -PN (MPI_Fint, shmem_addr_accessible, SHMEM_ADDR_ACCESSIBLE, (FORTRAN_POINTER_T addr, MPI_Fint *pe)); -PN (void, shmem_put, SHMEM_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_character_put, SHMEM_CHARACTER_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_complex_put, SHMEM_COMPLEX_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_double_put, SHMEM_DOUBLE_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_logical_put, SHMEM_LOGICAL_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_integer_put, SHMEM_INTEGER_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_real_put, SHMEM_REAL_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_put4, SHMEM_PUT4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_put8, SHMEM_PUT8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_put32, SHMEM_PUT32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_put64, SHMEM_PUT64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_putmem, SHMEM_PUTMEM, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); -PN (void, shmem_iput4, SHMEM_IPUT4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_iput8, SHMEM_IPUT8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_iput32, SHMEM_IPUT32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_iput64, SHMEM_IPUT64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_iput128, SHMEM_IPUT128, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_complex_iput, SHMEM_COMPLEX_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_double_iput, SHMEM_DOUBLE_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_integer_iput, SHMEM_INTEGER_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_logical_iput, SHMEM_LOGICAL_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_real_iput, SHMEM_REAL_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_character_get, SHMEM_CHARACTER_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_complex_get, SHMEM_COMPLEX_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_double_get, SHMEM_DOUBLE_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_integer_get, SHMEM_INTEGER_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_get4, SHMEM_GET4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_get8, SHMEM_GET8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_get32, SHMEM_GET32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_get64, SHMEM_GET64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_get128, SHMEM_GET128, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_getmem, SHMEM_GETMEM, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_logical_get, SHMEM_LOGICAL_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_real_get, SHMEM_REAL_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_iget4, SHMEM_IGET4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_iget8, SHMEM_IGET8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_iget32, SHMEM_IGET32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_iget64, SHMEM_IGET64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_iget128, SHMEM_IGET128, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_complex_iget, SHMEM_COMPLEX_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_double_iget, SHMEM_DOUBLE_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_integer_iget, SHMEM_INTEGER_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_logical_iget, SHMEM_LOGICAL_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (void, shmem_real_iget, SHMEM_REAL_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); -PN (MPI_Fint, shmem_swap, SHMEM_SWAP, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe)); +PN (void, shpalloc, SHPALLOC, (FORTRAN_POINTER_T *addr, MPI_Fint *length, MPI_Fint *errcode, MPI_Fint *abort)); +PN (void, shpdeallc, SHPDEALLC, (FORTRAN_POINTER_T *addr, MPI_Fint *errcode, MPI_Fint *abort)); +PN (void, shpclmove, SHPCLMOVE, (FORTRAN_POINTER_T *addr, MPI_Fint *length, MPI_Fint *status, MPI_Fint *abort)); +PN (FORTRAN_POINTER_T*, shmem_ptr, SHMEM_PTR, (FORTRAN_POINTER_T target, MPI_Fint *pe)); +PN (ompi_fortran_logical_t, shmem_pe_accessible, SHMEM_PE_ACCESSIBLE, (MPI_Fint *pe)); +PN (MPI_Fint, shmem_addr_accessible, SHMEM_ADDR_ACCESSIBLE, (FORTRAN_POINTER_T addr, MPI_Fint *pe)); +PN (void, shmem_put, SHMEM_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_character_put, SHMEM_CHARACTER_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_complex_put, SHMEM_COMPLEX_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_double_put, SHMEM_DOUBLE_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_logical_put, SHMEM_LOGICAL_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_integer_put, SHMEM_INTEGER_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_real_put, SHMEM_REAL_PUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_put4, SHMEM_PUT4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_put8, SHMEM_PUT8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_put32, SHMEM_PUT32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_put64, SHMEM_PUT64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_put128, SHMEM_PUT128, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_putmem, SHMEM_PUTMEM, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe)); +PN (void, shmem_iput4, SHMEM_IPUT4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_iput8, SHMEM_IPUT8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_iput32, SHMEM_IPUT32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_iput64, SHMEM_IPUT64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_iput128, SHMEM_IPUT128, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_complex_iput, SHMEM_COMPLEX_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_double_iput, SHMEM_DOUBLE_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_integer_iput, SHMEM_INTEGER_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_logical_iput, SHMEM_LOGICAL_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_real_iput, SHMEM_REAL_IPUT, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_character_get, SHMEM_CHARACTER_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_complex_get, SHMEM_COMPLEX_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_double_get, SHMEM_DOUBLE_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_integer_get, SHMEM_INTEGER_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_get4, SHMEM_GET4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_get8, SHMEM_GET8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_get32, SHMEM_GET32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_get64, SHMEM_GET64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_get128, SHMEM_GET128, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_getmem, SHMEM_GETMEM, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_logical_get, SHMEM_LOGICAL_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_real_get, SHMEM_REAL_GET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_iget4, SHMEM_IGET4, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_iget8, SHMEM_IGET8, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_iget32, SHMEM_IGET32, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_iget64, SHMEM_IGET64, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_iget128, SHMEM_IGET128, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_complex_iget, SHMEM_COMPLEX_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_double_iget, SHMEM_DOUBLE_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_integer_iget, SHMEM_INTEGER_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_logical_iget, SHMEM_LOGICAL_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (void, shmem_real_iget, SHMEM_REAL_IGET, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *tst, MPI_Fint *sst, MPI_Fint *len, MPI_Fint *pe)); +PN (MPI_Fint, shmem_swap, SHMEM_SWAP, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe)); PN (ompi_fortran_integer4_t, shmem_int4_swap, SHMEM_INT4_SWAP, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe)); PN (ompi_fortran_integer8_t, shmem_int8_swap, SHMEM_INT8_SWAP, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe)); PN (ompi_fortran_real4_t, shmem_real4_swap, SHMEM_REAL4_SWAP, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T value, MPI_Fint *pe)); @@ -98,31 +100,42 @@ PN (void, shmem_int4_wait_until, SHMEM_INT4_WAIT_UNTIL, (ompi_fortran_integer4_t PN (void, shmem_int8_wait_until, SHMEM_INT8_WAIT_UNTIL, (ompi_fortran_integer8_t *var, MPI_Fint *cmp, ompi_fortran_integer8_t *value)); PN (void, shmem_wait_until, SHMEM_WAIT_UNTIL, (MPI_Fint *var, MPI_Fint *cmp, MPI_Fint *value)); PN (void, shmem_barrier, SHMEM_BARRIER, (MPI_Fint *PE_start, MPI_Fint *logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T pSync)); +PN (void, shmem_int2_and_to_all, SHMEM_INT2_AND_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int4_and_to_all, SHMEM_INT4_AND_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int8_and_to_all, SHMEM_INT8_AND_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_int2_or_to_all, SHMEM_INT2_OR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int4_or_to_all, SHMEM_INT4_OR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int8_or_to_all, SHMEM_INT8_OR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_int2_xor_to_all, SHMEM_INT2_XOR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int4_xor_to_all, SHMEM_INT4_XOR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int8_xor_to_all, SHMEM_INT8_XOR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_comp4_xor_to_all, SHMEM_COMP4_XOR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_comp8_xor_to_all, SHMEM_COMP8_XOR_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_int2_max_to_all, SHMEM_INT2_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int4_max_to_all, SHMEM_INT4_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int8_max_to_all, SHMEM_INT8_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real4_max_to_all, SHMEM_REAL4_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real8_max_to_all, SHMEM_REAL8_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real16_max_to_all, SHMEM_REAL16_MAX_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_int2_min_to_all, SHMEM_INT2_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int4_min_to_all, SHMEM_INT4_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int8_min_to_all, SHMEM_INT8_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real4_min_to_all, SHMEM_REAL4_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real8_min_to_all, SHMEM_REAL8_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real16_min_to_all, SHMEM_REAL16_MIN_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_int2_sum_to_all, SHMEM_INT2_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int4_sum_to_all, SHMEM_INT4_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int8_sum_to_all, SHMEM_INT8_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_comp4_sum_to_all, SHMEM_COMP4_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_comp8_sum_to_all, SHMEM_COMP8_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real4_sum_to_all, SHMEM_REAL4_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real8_sum_to_all, SHMEM_REAL8_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real16_sum_to_all, SHMEM_REAL16_SUM_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_int2_prod_to_all, SHMEM_INT2_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int4_prod_to_all, SHMEM_INT4_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_int8_prod_to_all, SHMEM_INT8_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_comp4_prod_to_all, SHMEM_COMP4_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); +PN (void, shmem_comp8_prod_to_all, SHMEM_COMP8_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real4_prod_to_all, SHMEM_REAL4_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real8_prod_to_all, SHMEM_REAL8_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); PN (void, shmem_real16_prod_to_all, SHMEM_REAL16_PROD_TO_ALL, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync)); @@ -151,4 +164,4 @@ PN (void, shmem_fence, SHMEM_FENCE, (void)); PN (void, shmem_quiet, SHMEM_QUIET, (void)); END_C_DECLS -#endif /*OSHMEM_F77_PROTOTYPES_SHMEM_H*/ +#endif /*OSHMEM_F77_PROTOTYPES_SHMEM_H*/ diff --git a/oshmem/shmem/fortran/shmem_addr_accessible_f.c b/oshmem/shmem/fortran/shmem_addr_accessible_f.c index 0e947841d2..0e4eb8c437 100644 --- a/oshmem/shmem/fortran/shmem_addr_accessible_f.c +++ b/oshmem/shmem/fortran/shmem_addr_accessible_f.c @@ -15,6 +15,12 @@ #include "oshmem/shmem/shmem_api_logger.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_ADDR_ACCESSIBLE, shmem_addr_accessible) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (MPI_Fint, SHMEM_ADDR_ACCESSIBLE, shmem_addr_accessible_, diff --git a/oshmem/shmem/fortran/shmem_and_to_all_f.c b/oshmem/shmem/fortran/shmem_and_to_all_f.c index 8e86b2830c..3803b25e0e 100644 --- a/oshmem/shmem/fortran/shmem_and_to_all_f.c +++ b/oshmem/shmem/fortran/shmem_and_to_all_f.c @@ -18,6 +18,22 @@ #include "oshmem/proc/proc_group_cache.h" #include "oshmem/op/op.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT2_AND_TO_ALL, shmem_int2_and_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_AND_TO_ALL, shmem_int4_and_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_AND_TO_ALL, shmem_int8_and_to_all) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_INT2_AND_TO_ALL, + shmem_int2_and_to_all_, + shmem_int2_and_to_all__, + shmem_int2_and_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT4_AND_TO_ALL, shmem_int4_and_to_all_, @@ -98,5 +114,6 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, }\ } +SHMEM_AND_TO_ALL(shmem_int2_and_to_all_f, oshmem_op_and_fint2, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_AND_TO_ALL(shmem_int4_and_to_all_f, oshmem_op_and_fint4, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_AND_TO_ALL(shmem_int8_and_to_all_f, oshmem_op_and_fint8, OSHMEM_GROUP_CACHE_ENABLED) diff --git a/oshmem/shmem/fortran/shmem_barrier_all_f.c b/oshmem/shmem/fortran/shmem_barrier_all_f.c index 4f43b0af30..1798eb530e 100644 --- a/oshmem/shmem/fortran/shmem_barrier_all_f.c +++ b/oshmem/shmem/fortran/shmem_barrier_all_f.c @@ -13,6 +13,12 @@ #include "oshmem/shmem/fortran/bindings.h" #include "oshmem/include/shmem.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_BARRIER_ALL, shmem_barrier_all) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_BARRIER_ALL, shmem_barrier_all_, diff --git a/oshmem/shmem/fortran/shmem_barrier_f.c b/oshmem/shmem/fortran/shmem_barrier_f.c index e6cbee4440..ceea64b154 100644 --- a/oshmem/shmem/fortran/shmem_barrier_f.c +++ b/oshmem/shmem/fortran/shmem_barrier_f.c @@ -13,6 +13,12 @@ #include "oshmem/shmem/fortran/bindings.h" #include "oshmem/include/shmem.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_BARRIER, shmem_barrier) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_BARRIER, shmem_barrier_, diff --git a/oshmem/shmem/fortran/shmem_broadcast_f.c b/oshmem/shmem/fortran/shmem_broadcast_f.c index 24bcc80061..9ef8104478 100644 --- a/oshmem/shmem/fortran/shmem_broadcast_f.c +++ b/oshmem/shmem/fortran/shmem_broadcast_f.c @@ -18,6 +18,15 @@ #include "oshmem/proc/proc_group_cache.h" #include "oshmem/op/op.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_BROADCAST4, shmem_broadcast4) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_BROADCAST8, shmem_broadcast8) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_BROADCAST32, shmem_broadcast32) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_BROADCAST64, shmem_broadcast64) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_BROADCAST4, shmem_broadcast4_, diff --git a/oshmem/shmem/fortran/shmem_cache_f.c b/oshmem/shmem/fortran/shmem_cache_f.c index 66d0fe4dc0..e2eab6ab88 100644 --- a/oshmem/shmem/fortran/shmem_cache_f.c +++ b/oshmem/shmem/fortran/shmem_cache_f.c @@ -15,6 +15,17 @@ #include "oshmem/shmem/shmem_api_logger.h" #include "ompi/datatype/ompi_datatype.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_SET_CACHE_INV, shmem_set_cache_inv) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_SET_CACHE_LINE_INV, shmem_set_cache_line_inv) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_CLEAR_CACHE_INV, shmem_clear_cache_inv) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_CLEAR_CACHE_LINE_INV, shmem_clear_cache_line_inv) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_UDCFLUSH, shmem_udcflush) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_UDCFLUSH_LINE, shmem_udcflush_line) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_SET_CACHE_INV, shmem_set_cache_inv_, diff --git a/oshmem/shmem/fortran/shmem_character_get_f.c b/oshmem/shmem/fortran/shmem_character_get_f.c index 28aca18f6c..c43865d94e 100644 --- a/oshmem/shmem/fortran/shmem_character_get_f.c +++ b/oshmem/shmem/fortran/shmem_character_get_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_CHARACTER_GET, shmem_character_get) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_CHARACTER_GET, shmem_character_get_, diff --git a/oshmem/shmem/fortran/shmem_character_put_f.c b/oshmem/shmem/fortran/shmem_character_put_f.c index 85536f4753..76bd89215c 100644 --- a/oshmem/shmem/fortran/shmem_character_put_f.c +++ b/oshmem/shmem/fortran/shmem_character_put_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_CHARACTER_PUT, shmem_character_put) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_CHARACTER_PUT, shmem_character_put_, diff --git a/oshmem/shmem/fortran/shmem_collect_f.c b/oshmem/shmem/fortran/shmem_collect_f.c index 62549eb403..7927267a5c 100644 --- a/oshmem/shmem/fortran/shmem_collect_f.c +++ b/oshmem/shmem/fortran/shmem_collect_f.c @@ -18,6 +18,19 @@ #include "oshmem/proc/proc_group_cache.h" #include "oshmem/op/op.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COLLECT4, shmem_collect4) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COLLECT8, shmem_collect8) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COLLECT32, shmem_collect32) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COLLECT64, shmem_collect64) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_FCOLLECT4, shmem_fcollect4) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_FCOLLECT8, shmem_fcollect8) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_FCOLLECT32, shmem_fcollect32) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_FCOLLECT64, shmem_fcollect64) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_COLLECT4, shmem_collect4_, diff --git a/oshmem/shmem/fortran/shmem_complex_get_f.c b/oshmem/shmem/fortran/shmem_complex_get_f.c index be9a744efc..ba589cd2c2 100644 --- a/oshmem/shmem/fortran/shmem_complex_get_f.c +++ b/oshmem/shmem/fortran/shmem_complex_get_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COMPLEX_GET, shmem_complex_get) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_COMPLEX_GET, shmem_complex_get_, diff --git a/oshmem/shmem/fortran/shmem_complex_iget_f.c b/oshmem/shmem/fortran/shmem_complex_iget_f.c index 05da4a09f5..b8a1e75da6 100644 --- a/oshmem/shmem/fortran/shmem_complex_iget_f.c +++ b/oshmem/shmem/fortran/shmem_complex_iget_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COMPLEX_IGET, shmem_complex_iget) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_COMPLEX_IGET, shmem_complex_iget_, diff --git a/oshmem/shmem/fortran/shmem_complex_iput_f.c b/oshmem/shmem/fortran/shmem_complex_iput_f.c index 5cfa4fbfe1..095abb64f8 100644 --- a/oshmem/shmem/fortran/shmem_complex_iput_f.c +++ b/oshmem/shmem/fortran/shmem_complex_iput_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COMPLEX_IPUT, shmem_complex_iput) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_COMPLEX_IPUT, shmem_complex_iput_, diff --git a/oshmem/shmem/fortran/shmem_complex_put_f.c b/oshmem/shmem/fortran/shmem_complex_put_f.c index 1f09c6e839..228838264e 100644 --- a/oshmem/shmem/fortran/shmem_complex_put_f.c +++ b/oshmem/shmem/fortran/shmem_complex_put_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COMPLEX_PUT, shmem_complex_put) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_COMPLEX_PUT, shmem_complex_put_, diff --git a/oshmem/shmem/fortran/shmem_double_get_f.c b/oshmem/shmem/fortran/shmem_double_get_f.c index 022796e3a8..cd7b998ced 100644 --- a/oshmem/shmem/fortran/shmem_double_get_f.c +++ b/oshmem/shmem/fortran/shmem_double_get_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_DOUBLE_GET, shmem_double_get) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_DOUBLE_GET, shmem_double_get_, diff --git a/oshmem/shmem/fortran/shmem_double_iget_f.c b/oshmem/shmem/fortran/shmem_double_iget_f.c index 21a6eb0c6a..2655ac1a1e 100644 --- a/oshmem/shmem/fortran/shmem_double_iget_f.c +++ b/oshmem/shmem/fortran/shmem_double_iget_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_DOUBLE_IGET, shmem_double_iget) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_DOUBLE_IGET, shmem_double_iget_, diff --git a/oshmem/shmem/fortran/shmem_double_iput_f.c b/oshmem/shmem/fortran/shmem_double_iput_f.c index 48cda8b53d..7c20b5be21 100644 --- a/oshmem/shmem/fortran/shmem_double_iput_f.c +++ b/oshmem/shmem/fortran/shmem_double_iput_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_DOUBLE_IPUT, shmem_double_iput) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_DOUBLE_IPUT, shmem_double_iput_, diff --git a/oshmem/shmem/fortran/shmem_double_put_f.c b/oshmem/shmem/fortran/shmem_double_put_f.c index b904ec5b79..ee74987bca 100644 --- a/oshmem/shmem/fortran/shmem_double_put_f.c +++ b/oshmem/shmem/fortran/shmem_double_put_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_DOUBLE_PUT, shmem_double_put) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_DOUBLE_PUT, shmem_double_put_, diff --git a/oshmem/shmem/fortran/shmem_fence_f.c b/oshmem/shmem/fortran/shmem_fence_f.c index d2abe4e281..f73856f401 100644 --- a/oshmem/shmem/fortran/shmem_fence_f.c +++ b/oshmem/shmem/fortran/shmem_fence_f.c @@ -14,6 +14,12 @@ #include "oshmem/include/shmem.h" #include "oshmem/mca/spml/spml.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_FENCE, shmem_fence) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_FENCE, shmem_fence_, diff --git a/oshmem/shmem/fortran/shmem_get128_f.c b/oshmem/shmem/fortran/shmem_get128_f.c index 2d05edf535..51c94c1a44 100644 --- a/oshmem/shmem/fortran/shmem_get128_f.c +++ b/oshmem/shmem/fortran/shmem_get128_f.c @@ -17,6 +17,12 @@ #include "oshmem/mca/spml/spml.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_GET128, shmem_get128) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_GET128, shmem_get128_, diff --git a/oshmem/shmem/fortran/shmem_get32_f.c b/oshmem/shmem/fortran/shmem_get32_f.c index c973455106..a54f5dc85b 100644 --- a/oshmem/shmem/fortran/shmem_get32_f.c +++ b/oshmem/shmem/fortran/shmem_get32_f.c @@ -17,6 +17,12 @@ #include "oshmem/mca/spml/spml.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_GET32, shmem_get32) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_GET32, shmem_get32_, diff --git a/oshmem/shmem/fortran/shmem_get4_f.c b/oshmem/shmem/fortran/shmem_get4_f.c index e6367524d1..8ffc98bf0a 100644 --- a/oshmem/shmem/fortran/shmem_get4_f.c +++ b/oshmem/shmem/fortran/shmem_get4_f.c @@ -17,6 +17,12 @@ #include "oshmem/mca/spml/spml.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_GET4, shmem_get4) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_GET4, shmem_get4_, diff --git a/oshmem/shmem/fortran/shmem_get64_f.c b/oshmem/shmem/fortran/shmem_get64_f.c index 3a9d576404..9627052225 100644 --- a/oshmem/shmem/fortran/shmem_get64_f.c +++ b/oshmem/shmem/fortran/shmem_get64_f.c @@ -17,6 +17,12 @@ #include "oshmem/mca/spml/spml.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_GET64, shmem_get64) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_GET64, shmem_get64_, diff --git a/oshmem/shmem/fortran/shmem_get8_f.c b/oshmem/shmem/fortran/shmem_get8_f.c index 9eafbcdbe9..d24a74045b 100644 --- a/oshmem/shmem/fortran/shmem_get8_f.c +++ b/oshmem/shmem/fortran/shmem_get8_f.c @@ -17,6 +17,12 @@ #include "oshmem/mca/spml/spml.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_GET8, shmem_get8) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_GET8, shmem_get8_, diff --git a/oshmem/shmem/fortran/shmem_getmem_f.c b/oshmem/shmem/fortran/shmem_getmem_f.c index b1f1bbf7df..fae84ee1b3 100644 --- a/oshmem/shmem/fortran/shmem_getmem_f.c +++ b/oshmem/shmem/fortran/shmem_getmem_f.c @@ -17,6 +17,12 @@ #include "oshmem/mca/spml/spml.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_GETMEM, shmem_getmem) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_GETMEM, shmem_getmem_, diff --git a/oshmem/shmem/fortran/shmem_iget128_f.c b/oshmem/shmem/fortran/shmem_iget128_f.c index 47393c95a1..a80161bf42 100644 --- a/oshmem/shmem/fortran/shmem_iget128_f.c +++ b/oshmem/shmem/fortran/shmem_iget128_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_IGET128, shmem_iget128) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_IGET128, shmem_iget128_, diff --git a/oshmem/shmem/fortran/shmem_iget32_f.c b/oshmem/shmem/fortran/shmem_iget32_f.c index 9c7e5be9bf..ddc15fbba1 100644 --- a/oshmem/shmem/fortran/shmem_iget32_f.c +++ b/oshmem/shmem/fortran/shmem_iget32_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_IGET32, shmem_iget32) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_IGET32, shmem_iget32_, diff --git a/oshmem/shmem/fortran/shmem_iget4_f.c b/oshmem/shmem/fortran/shmem_iget4_f.c index 383f8476ed..4f64952efd 100644 --- a/oshmem/shmem/fortran/shmem_iget4_f.c +++ b/oshmem/shmem/fortran/shmem_iget4_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_IGET4, shmem_iget4) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_IGET4, shmem_iget4_, diff --git a/oshmem/shmem/fortran/shmem_iget64_f.c b/oshmem/shmem/fortran/shmem_iget64_f.c index 03c60ea38b..eff5d3cb59 100644 --- a/oshmem/shmem/fortran/shmem_iget64_f.c +++ b/oshmem/shmem/fortran/shmem_iget64_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_IGET64, shmem_iget64) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_IGET64, shmem_iget64_, diff --git a/oshmem/shmem/fortran/shmem_iget8_f.c b/oshmem/shmem/fortran/shmem_iget8_f.c index 0c9cc34d12..4f15841f26 100644 --- a/oshmem/shmem/fortran/shmem_iget8_f.c +++ b/oshmem/shmem/fortran/shmem_iget8_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_IGET8, shmem_iget8) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_IGET8, shmem_iget8_, diff --git a/oshmem/shmem/fortran/shmem_int4_add_f.c b/oshmem/shmem/fortran/shmem_int4_add_f.c index 5cd1aa32c3..82fb5fe611 100644 --- a/oshmem/shmem/fortran/shmem_int4_add_f.c +++ b/oshmem/shmem/fortran/shmem_int4_add_f.c @@ -19,6 +19,12 @@ #include "oshmem/op/op.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_ADD, shmem_int4_add) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT4_ADD, shmem_int4_add_, diff --git a/oshmem/shmem/fortran/shmem_int4_cswap_f.c b/oshmem/shmem/fortran/shmem_int4_cswap_f.c index 6a0fda8bb0..2a8ac75227 100644 --- a/oshmem/shmem/fortran/shmem_int4_cswap_f.c +++ b/oshmem/shmem/fortran/shmem_int4_cswap_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_CSWAP, shmem_int4_cswap) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (ompi_fortran_integer4_t, SHMEM_INT4_CSWAP, shmem_int4_cswap_, diff --git a/oshmem/shmem/fortran/shmem_int4_fadd_f.c b/oshmem/shmem/fortran/shmem_int4_fadd_f.c index 17e44c7d8a..f962ebb8f3 100644 --- a/oshmem/shmem/fortran/shmem_int4_fadd_f.c +++ b/oshmem/shmem/fortran/shmem_int4_fadd_f.c @@ -19,6 +19,12 @@ #include "oshmem/op/op.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_FADD, shmem_int4_fadd) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (ompi_fortran_integer4_t, SHMEM_INT4_FADD, shmem_int4_fadd_, diff --git a/oshmem/shmem/fortran/shmem_int4_finc_f.c b/oshmem/shmem/fortran/shmem_int4_finc_f.c index 9bf5165422..2d1ff2419d 100644 --- a/oshmem/shmem/fortran/shmem_int4_finc_f.c +++ b/oshmem/shmem/fortran/shmem_int4_finc_f.c @@ -19,6 +19,12 @@ #include "oshmem/op/op.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_FINC, shmem_int4_finc) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (ompi_fortran_integer4_t, SHMEM_INT4_FINC, shmem_int4_finc_, diff --git a/oshmem/shmem/fortran/shmem_int4_inc_f.c b/oshmem/shmem/fortran/shmem_int4_inc_f.c index b48e979531..24f58e3bb8 100644 --- a/oshmem/shmem/fortran/shmem_int4_inc_f.c +++ b/oshmem/shmem/fortran/shmem_int4_inc_f.c @@ -19,6 +19,12 @@ #include "oshmem/op/op.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_INC, shmem_int4_inc) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT4_INC, shmem_int4_inc_, diff --git a/oshmem/shmem/fortran/shmem_int4_swap_f.c b/oshmem/shmem/fortran/shmem_int4_swap_f.c index c27de698fa..806bb4629e 100644 --- a/oshmem/shmem/fortran/shmem_int4_swap_f.c +++ b/oshmem/shmem/fortran/shmem_int4_swap_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_SWAP, shmem_int4_swap) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (ompi_fortran_integer4_t, SHMEM_INT4_SWAP, shmem_int4_swap_, diff --git a/oshmem/shmem/fortran/shmem_int4_wait_f.c b/oshmem/shmem/fortran/shmem_int4_wait_f.c index 8611699593..c128251de6 100644 --- a/oshmem/shmem/fortran/shmem_int4_wait_f.c +++ b/oshmem/shmem/fortran/shmem_int4_wait_f.c @@ -16,6 +16,12 @@ #include "oshmem/mca/spml/spml.h" #include "ompi/datatype/ompi_datatype.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_WAIT, shmem_int4_wait) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT4_WAIT, shmem_int4_wait_, diff --git a/oshmem/shmem/fortran/shmem_int4_wait_until_f.c b/oshmem/shmem/fortran/shmem_int4_wait_until_f.c index b1a07024e2..cac9b52ad4 100644 --- a/oshmem/shmem/fortran/shmem_int4_wait_until_f.c +++ b/oshmem/shmem/fortran/shmem_int4_wait_until_f.c @@ -16,6 +16,12 @@ #include "oshmem/mca/spml/spml.h" #include "ompi/datatype/ompi_datatype.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_WAIT_UNTIL, shmem_int4_wait_until) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT4_WAIT_UNTIL, shmem_int4_wait_until_, diff --git a/oshmem/shmem/fortran/shmem_int8_add_f.c b/oshmem/shmem/fortran/shmem_int8_add_f.c index 36bd945d7f..e2d701f4e6 100644 --- a/oshmem/shmem/fortran/shmem_int8_add_f.c +++ b/oshmem/shmem/fortran/shmem_int8_add_f.c @@ -19,6 +19,12 @@ #include "oshmem/op/op.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_ADD, shmem_int8_add) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT8_ADD, shmem_int8_add_, diff --git a/oshmem/shmem/fortran/shmem_int8_cswap_f.c b/oshmem/shmem/fortran/shmem_int8_cswap_f.c index 07a47a9ebf..9ef5da984d 100644 --- a/oshmem/shmem/fortran/shmem_int8_cswap_f.c +++ b/oshmem/shmem/fortran/shmem_int8_cswap_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_CSWAP, shmem_int8_cswap) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (ompi_fortran_integer8_t, SHMEM_INT8_CSWAP, shmem_int8_cswap_, diff --git a/oshmem/shmem/fortran/shmem_int8_fadd_f.c b/oshmem/shmem/fortran/shmem_int8_fadd_f.c index c643d3c5f7..61c75303d0 100644 --- a/oshmem/shmem/fortran/shmem_int8_fadd_f.c +++ b/oshmem/shmem/fortran/shmem_int8_fadd_f.c @@ -19,6 +19,12 @@ #include "oshmem/op/op.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_FADD, shmem_int8_fadd) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (ompi_fortran_integer8_t, SHMEM_INT8_FADD, shmem_int8_fadd_, diff --git a/oshmem/shmem/fortran/shmem_int8_finc_f.c b/oshmem/shmem/fortran/shmem_int8_finc_f.c index 8afeed32db..62b2596a6d 100644 --- a/oshmem/shmem/fortran/shmem_int8_finc_f.c +++ b/oshmem/shmem/fortran/shmem_int8_finc_f.c @@ -19,6 +19,12 @@ #include "oshmem/op/op.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_FINC, shmem_int8_finc) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (ompi_fortran_integer8_t, SHMEM_INT8_FINC, shmem_int8_finc_, diff --git a/oshmem/shmem/fortran/shmem_int8_inc_f.c b/oshmem/shmem/fortran/shmem_int8_inc_f.c index a2fd42b408..5198a7fc69 100644 --- a/oshmem/shmem/fortran/shmem_int8_inc_f.c +++ b/oshmem/shmem/fortran/shmem_int8_inc_f.c @@ -19,6 +19,12 @@ #include "oshmem/op/op.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_INC, shmem_int8_inc) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT8_INC, shmem_int8_inc_, diff --git a/oshmem/shmem/fortran/shmem_int8_swap_f.c b/oshmem/shmem/fortran/shmem_int8_swap_f.c index 727f92eb95..55d8d43020 100644 --- a/oshmem/shmem/fortran/shmem_int8_swap_f.c +++ b/oshmem/shmem/fortran/shmem_int8_swap_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_SWAP, shmem_int8_swap) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (ompi_fortran_integer8_t, SHMEM_INT8_SWAP, shmem_int8_swap_, diff --git a/oshmem/shmem/fortran/shmem_int8_wait_f.c b/oshmem/shmem/fortran/shmem_int8_wait_f.c index 9b488468d0..4cbd853f17 100644 --- a/oshmem/shmem/fortran/shmem_int8_wait_f.c +++ b/oshmem/shmem/fortran/shmem_int8_wait_f.c @@ -16,6 +16,12 @@ #include "oshmem/mca/spml/spml.h" #include "ompi/datatype/ompi_datatype.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_WAIT, shmem_int8_wait) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT8_WAIT, shmem_int8_wait_, diff --git a/oshmem/shmem/fortran/shmem_int8_wait_until_f.c b/oshmem/shmem/fortran/shmem_int8_wait_until_f.c index f28e8f1e35..cf23f85750 100644 --- a/oshmem/shmem/fortran/shmem_int8_wait_until_f.c +++ b/oshmem/shmem/fortran/shmem_int8_wait_until_f.c @@ -16,6 +16,12 @@ #include "oshmem/mca/spml/spml.h" #include "ompi/datatype/ompi_datatype.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_WAIT_UNTIL, shmem_int8_wait_until) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT8_WAIT_UNTIL, shmem_int8_wait_until_, diff --git a/oshmem/shmem/fortran/shmem_integer_get_f.c b/oshmem/shmem/fortran/shmem_integer_get_f.c index 5c09de8986..d140d37889 100644 --- a/oshmem/shmem/fortran/shmem_integer_get_f.c +++ b/oshmem/shmem/fortran/shmem_integer_get_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INTEGER_GET, shmem_integer_get) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INTEGER_GET, shmem_integer_get_, diff --git a/oshmem/shmem/fortran/shmem_integer_iget_f.c b/oshmem/shmem/fortran/shmem_integer_iget_f.c index 9ff1ea36f9..ac4e67a042 100644 --- a/oshmem/shmem/fortran/shmem_integer_iget_f.c +++ b/oshmem/shmem/fortran/shmem_integer_iget_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INTEGER_IGET, shmem_integer_iget) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INTEGER_IGET, shmem_integer_iget_, diff --git a/oshmem/shmem/fortran/shmem_integer_iput_f.c b/oshmem/shmem/fortran/shmem_integer_iput_f.c index 30b11730e9..823459136e 100644 --- a/oshmem/shmem/fortran/shmem_integer_iput_f.c +++ b/oshmem/shmem/fortran/shmem_integer_iput_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INTEGER_IPUT, shmem_integer_iput) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INTEGER_IPUT, shmem_integer_iput_, diff --git a/oshmem/shmem/fortran/shmem_integer_put_f.c b/oshmem/shmem/fortran/shmem_integer_put_f.c index 8fad6cfc8e..38de14bba8 100644 --- a/oshmem/shmem/fortran/shmem_integer_put_f.c +++ b/oshmem/shmem/fortran/shmem_integer_put_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INTEGER_PUT, shmem_integer_put) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INTEGER_PUT, shmem_integer_put_, diff --git a/oshmem/shmem/fortran/shmem_iput128_f.c b/oshmem/shmem/fortran/shmem_iput128_f.c index 822f1d9fb7..c9a98fa4ea 100644 --- a/oshmem/shmem/fortran/shmem_iput128_f.c +++ b/oshmem/shmem/fortran/shmem_iput128_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_IPUT128, shmem_iput128) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_IPUT128, shmem_iput128_, diff --git a/oshmem/shmem/fortran/shmem_iput32_f.c b/oshmem/shmem/fortran/shmem_iput32_f.c index 6b5d033644..574f205d5d 100644 --- a/oshmem/shmem/fortran/shmem_iput32_f.c +++ b/oshmem/shmem/fortran/shmem_iput32_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_IPUT32, shmem_iput32) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_IPUT32, shmem_iput32_, diff --git a/oshmem/shmem/fortran/shmem_iput4_f.c b/oshmem/shmem/fortran/shmem_iput4_f.c index c53557a5be..db3a603761 100644 --- a/oshmem/shmem/fortran/shmem_iput4_f.c +++ b/oshmem/shmem/fortran/shmem_iput4_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_IPUT4, shmem_iput4) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_IPUT4, shmem_iput4_, diff --git a/oshmem/shmem/fortran/shmem_iput64_f.c b/oshmem/shmem/fortran/shmem_iput64_f.c index 35b1606b6a..d6e534599b 100644 --- a/oshmem/shmem/fortran/shmem_iput64_f.c +++ b/oshmem/shmem/fortran/shmem_iput64_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_IPUT64, shmem_iput64) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_IPUT64, shmem_iput64_, diff --git a/oshmem/shmem/fortran/shmem_iput8_f.c b/oshmem/shmem/fortran/shmem_iput8_f.c index b7439d47a0..649c76a08d 100644 --- a/oshmem/shmem/fortran/shmem_iput8_f.c +++ b/oshmem/shmem/fortran/shmem_iput8_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_IPUT8, shmem_iput8) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_IPUT8, shmem_iput8_, diff --git a/oshmem/shmem/fortran/shmem_lock_f.c b/oshmem/shmem/fortran/shmem_lock_f.c index 23b1827f6f..e7b7620fa8 100644 --- a/oshmem/shmem/fortran/shmem_lock_f.c +++ b/oshmem/shmem/fortran/shmem_lock_f.c @@ -16,6 +16,14 @@ #include "ompi/datatype/ompi_datatype.h" #include "oshmem/shmem/shmem_lock.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_SET_LOCK, shmem_set_lock) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_CLEAR_LOCK, shmem_clear_lock) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_TEST_LOCK, shmem_test_lock) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_SET_LOCK, shmem_set_lock_, diff --git a/oshmem/shmem/fortran/shmem_logical_get_f.c b/oshmem/shmem/fortran/shmem_logical_get_f.c index 6564d67559..fd5a005e67 100644 --- a/oshmem/shmem/fortran/shmem_logical_get_f.c +++ b/oshmem/shmem/fortran/shmem_logical_get_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_LOGICAL_GET, shmem_logical_get) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_LOGICAL_GET, shmem_logical_get_, diff --git a/oshmem/shmem/fortran/shmem_logical_iget_f.c b/oshmem/shmem/fortran/shmem_logical_iget_f.c index efb817637c..76674c0ec9 100644 --- a/oshmem/shmem/fortran/shmem_logical_iget_f.c +++ b/oshmem/shmem/fortran/shmem_logical_iget_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_LOGICAL_IGET, shmem_logical_iget) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_LOGICAL_IGET, shmem_logical_iget_, diff --git a/oshmem/shmem/fortran/shmem_logical_iput_f.c b/oshmem/shmem/fortran/shmem_logical_iput_f.c index 76a74c709f..c8e4c061ee 100644 --- a/oshmem/shmem/fortran/shmem_logical_iput_f.c +++ b/oshmem/shmem/fortran/shmem_logical_iput_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_LOGICAL_IPUT, shmem_logical_iput) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_LOGICAL_IPUT, shmem_logical_iput_, diff --git a/oshmem/shmem/fortran/shmem_logical_put_f.c b/oshmem/shmem/fortran/shmem_logical_put_f.c index 81a19611fc..4409e1197c 100644 --- a/oshmem/shmem/fortran/shmem_logical_put_f.c +++ b/oshmem/shmem/fortran/shmem_logical_put_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_LOGICAL_PUT, shmem_logical_put) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_LOGICAL_PUT, shmem_logical_put_, diff --git a/oshmem/shmem/fortran/shmem_max_to_all_f.c b/oshmem/shmem/fortran/shmem_max_to_all_f.c index be4ab41f99..60762d6234 100644 --- a/oshmem/shmem/fortran/shmem_max_to_all_f.c +++ b/oshmem/shmem/fortran/shmem_max_to_all_f.c @@ -18,6 +18,25 @@ #include "oshmem/proc/proc_group_cache.h" #include "oshmem/op/op.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT2_MAX_TO_ALL, shmem_int2_max_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_MAX_TO_ALL, shmem_int4_max_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_MAX_TO_ALL, shmem_int8_max_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL4_MAX_TO_ALL, shmem_real4_max_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL8_MAX_TO_ALL, shmem_real8_max_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL16_MAX_TO_ALL, shmem_real16_max_to_all) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_INT2_MAX_TO_ALL, + shmem_int2_max_to_all_, + shmem_int2_max_to_all__, + shmem_int2_max_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT4_MAX_TO_ALL, shmem_int4_max_to_all_, @@ -119,6 +138,7 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, }\ } +SHMEM_MAX_TO_ALL(shmem_int2_max_to_all_f, oshmem_op_max_fint2, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_MAX_TO_ALL(shmem_int4_max_to_all_f, oshmem_op_max_fint4, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_MAX_TO_ALL(shmem_int8_max_to_all_f, oshmem_op_max_fint8, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_MAX_TO_ALL(shmem_real4_max_to_all_f, oshmem_op_max_freal4, OSHMEM_GROUP_CACHE_ENABLED) diff --git a/oshmem/shmem/fortran/shmem_min_to_all_f.c b/oshmem/shmem/fortran/shmem_min_to_all_f.c index abf973b37e..73084eed49 100644 --- a/oshmem/shmem/fortran/shmem_min_to_all_f.c +++ b/oshmem/shmem/fortran/shmem_min_to_all_f.c @@ -18,6 +18,25 @@ #include "oshmem/proc/proc_group_cache.h" #include "oshmem/op/op.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT2_MIN_TO_ALL, shmem_int2_min_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_MIN_TO_ALL, shmem_int4_min_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_MIN_TO_ALL, shmem_int8_min_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL4_MIN_TO_ALL, shmem_real4_min_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL8_MIN_TO_ALL, shmem_real8_min_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL16_MIN_TO_ALL, shmem_real16_min_to_all) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_INT2_MIN_TO_ALL, + shmem_int2_min_to_all_, + shmem_int2_min_to_all__, + shmem_int2_min_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT4_MIN_TO_ALL, shmem_int4_min_to_all_, @@ -50,6 +69,15 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_REAL16_MIN_TO_ALL, + shmem_real16_min_to_all_, + shmem_real16_min_to_all__, + shmem_real16_min_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + + #define SHMEM_MIN_TO_ALL(F_NAME, T_NAME, OSHMEM_GROUP_CACHE_ENABLED) void F_NAME(FORTRAN_POINTER_T target, \ FORTRAN_POINTER_T source, \ MPI_Fint *nreduce,\ @@ -111,6 +139,7 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, }\ } +SHMEM_MIN_TO_ALL(shmem_int2_min_to_all_f, oshmem_op_min_fint2, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_MIN_TO_ALL(shmem_int4_min_to_all_f, oshmem_op_min_fint4, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_MIN_TO_ALL(shmem_int8_min_to_all_f, oshmem_op_min_fint8, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_MIN_TO_ALL(shmem_real4_min_to_all_f, oshmem_op_min_freal4, OSHMEM_GROUP_CACHE_ENABLED) diff --git a/oshmem/shmem/fortran/shmem_or_to_all_f.c b/oshmem/shmem/fortran/shmem_or_to_all_f.c index 0404a4e6ac..16747429a2 100644 --- a/oshmem/shmem/fortran/shmem_or_to_all_f.c +++ b/oshmem/shmem/fortran/shmem_or_to_all_f.c @@ -18,6 +18,22 @@ #include "oshmem/proc/proc_group_cache.h" #include "oshmem/op/op.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT2_OR_TO_ALL, shmem_int2_or_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_OR_TO_ALL, shmem_int4_or_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_OR_TO_ALL, shmem_int8_or_to_all) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_INT2_OR_TO_ALL, + shmem_int2_or_to_all_, + shmem_int2_or_to_all__, + shmem_int2_or_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT4_OR_TO_ALL, shmem_int4_or_to_all_, @@ -95,5 +111,6 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, }\ } +SHMEM_OR_TO_ALL(shmem_int2_or_to_all_f, oshmem_op_or_fint2, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_OR_TO_ALL(shmem_int4_or_to_all_f, oshmem_op_or_fint4, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_OR_TO_ALL(shmem_int8_or_to_all_f, oshmem_op_or_fint8, OSHMEM_GROUP_CACHE_ENABLED) diff --git a/oshmem/shmem/fortran/shmem_pe_accessible_f.c b/oshmem/shmem/fortran/shmem_pe_accessible_f.c index 82e38338c7..e24028b3d4 100644 --- a/oshmem/shmem/fortran/shmem_pe_accessible_f.c +++ b/oshmem/shmem/fortran/shmem_pe_accessible_f.c @@ -15,6 +15,12 @@ #include "oshmem/shmem/shmem_api_logger.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_PE_ACCESSIBLE, shmem_pe_accessible) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (ompi_fortran_logical_t, SHMEM_PE_ACCESSIBLE, shmem_pe_accessible_, diff --git a/oshmem/shmem/fortran/shmem_prod_to_all_f.c b/oshmem/shmem/fortran/shmem_prod_to_all_f.c index 4332e3f9b0..80a0f28ef5 100644 --- a/oshmem/shmem/fortran/shmem_prod_to_all_f.c +++ b/oshmem/shmem/fortran/shmem_prod_to_all_f.c @@ -18,6 +18,27 @@ #include "oshmem/proc/proc_group_cache.h" #include "oshmem/op/op.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT2_PROD_TO_ALL, shmem_int2_prod_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_PROD_TO_ALL, shmem_int4_prod_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_PROD_TO_ALL, shmem_int8_prod_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COMP4_PROD_TO_ALL, shmem_comp4_prod_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COMP8_PROD_TO_ALL, shmem_comp8_prod_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL4_PROD_TO_ALL, shmem_real4_prod_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL8_PROD_TO_ALL, shmem_real8_prod_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL16_PROD_TO_ALL, shmem_real16_prod_to_all) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_INT2_PROD_TO_ALL, + shmem_int2_prod_to_all_, + shmem_int2_prod_to_all__, + shmem_int2_prod_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT4_PROD_TO_ALL, shmem_int4_prod_to_all_, @@ -34,6 +55,23 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_COMP4_PROD_TO_ALL, + shmem_comp4_prod_to_all_, + shmem_comp4_prod_to_all__, + shmem_comp4_prod_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_COMP8_PROD_TO_ALL, + shmem_comp8_prod_to_all_, + shmem_comp8_prod_to_all__, + shmem_comp8_prod_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_REAL4_PROD_TO_ALL, shmem_real4_prod_to_all_, @@ -50,6 +88,14 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_REAL16_PROD_TO_ALL, + shmem_real16_prod_to_all_, + shmem_real16_prod_to_all__, + shmem_real16_prod_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + #define SHMEM_PROD_TO_ALL(F_NAME, T_NAME, OSHMEM_GROUP_CACHE_ENABLED) void F_NAME(FORTRAN_POINTER_T target, \ FORTRAN_POINTER_T source, \ MPI_Fint *nreduce,\ @@ -111,8 +157,11 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, }\ } +SHMEM_PROD_TO_ALL(shmem_int2_prod_to_all_f, oshmem_op_prod_fint2, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_PROD_TO_ALL(shmem_int4_prod_to_all_f, oshmem_op_prod_fint4, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_PROD_TO_ALL(shmem_int8_prod_to_all_f, oshmem_op_prod_fint8, OSHMEM_GROUP_CACHE_ENABLED) +SHMEM_PROD_TO_ALL(shmem_comp4_prod_to_all_f, oshmem_op_prod_complexf, OSHMEM_GROUP_CACHE_ENABLED) +SHMEM_PROD_TO_ALL(shmem_comp8_prod_to_all_f, oshmem_op_prod_complexd, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_PROD_TO_ALL(shmem_real4_prod_to_all_f, oshmem_op_prod_freal4, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_PROD_TO_ALL(shmem_real8_prod_to_all_f, oshmem_op_prod_freal8, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_PROD_TO_ALL(shmem_real16_prod_to_all_f, oshmem_op_prod_freal16, OSHMEM_GROUP_CACHE_ENABLED) diff --git a/oshmem/shmem/fortran/shmem_ptr_f.c b/oshmem/shmem/fortran/shmem_ptr_f.c index 14a00a2aa3..6b5fbe36dd 100644 --- a/oshmem/shmem/fortran/shmem_ptr_f.c +++ b/oshmem/shmem/fortran/shmem_ptr_f.c @@ -15,6 +15,12 @@ #include "oshmem/shmem/shmem_api_logger.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_PTR, shmem_ptr) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (FORTRAN_POINTER_T *, SHMEM_PTR, shmem_ptr_, diff --git a/oshmem/shmem/fortran/shmem_put128_f.c b/oshmem/shmem/fortran/shmem_put128_f.c new file mode 100644 index 0000000000..f753c91168 --- /dev/null +++ b/oshmem/shmem/fortran/shmem_put128_f.c @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2014 Mellanox Technologies, Inc. + * All rights reserved. + * Copyright (c) 2013 Cisco Systems, Inc. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#include "oshmem_config.h" +#include "oshmem/shmem/fortran/bindings.h" +#include "oshmem/include/shmem.h" +#include "oshmem/shmem/shmem_api_logger.h" +#include "oshmem/runtime/runtime.h" +#include "oshmem/mca/spml/spml.h" +#include "ompi/datatype/ompi_datatype.h" +#include "stdio.h" + +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_PUT128, shmem_put128) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_PUT128, + shmem_put128_, + shmem_put128__, + shmem_put128_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe), + (target,source,length,pe) ) + +void shmem_put128_f(FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *length, MPI_Fint *pe) +{ + MCA_SPML_CALL(put(FPTR_2_VOID_PTR(target), + OMPI_FINT_2_INT(*length) * 16, + FPTR_2_VOID_PTR(source), + OMPI_FINT_2_INT(*pe))); +} + diff --git a/oshmem/shmem/fortran/shmem_put32_f.c b/oshmem/shmem/fortran/shmem_put32_f.c index 4159d4951a..57756332be 100644 --- a/oshmem/shmem/fortran/shmem_put32_f.c +++ b/oshmem/shmem/fortran/shmem_put32_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_PUT32, shmem_put32) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_PUT32, shmem_put32_, diff --git a/oshmem/shmem/fortran/shmem_put4_f.c b/oshmem/shmem/fortran/shmem_put4_f.c index c8a0e49c38..edbd662aa3 100644 --- a/oshmem/shmem/fortran/shmem_put4_f.c +++ b/oshmem/shmem/fortran/shmem_put4_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_PUT4, shmem_put4) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_PUT4, shmem_put4_, diff --git a/oshmem/shmem/fortran/shmem_put64_f.c b/oshmem/shmem/fortran/shmem_put64_f.c index c4191a1aee..fb476bcad1 100644 --- a/oshmem/shmem/fortran/shmem_put64_f.c +++ b/oshmem/shmem/fortran/shmem_put64_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_PUT64, shmem_put64) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_PUT64, shmem_put64_, diff --git a/oshmem/shmem/fortran/shmem_put8_f.c b/oshmem/shmem/fortran/shmem_put8_f.c index f9b0ab6ff7..9fc6bcf78e 100644 --- a/oshmem/shmem/fortran/shmem_put8_f.c +++ b/oshmem/shmem/fortran/shmem_put8_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_PUT8, shmem_put8) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_PUT8, shmem_put8_, diff --git a/oshmem/shmem/fortran/shmem_put_f.c b/oshmem/shmem/fortran/shmem_put_f.c index 09c96979f5..babb14a6e6 100644 --- a/oshmem/shmem/fortran/shmem_put_f.c +++ b/oshmem/shmem/fortran/shmem_put_f.c @@ -16,6 +16,12 @@ #include "oshmem/runtime/runtime.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_PUT, shmem_put) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_PUT, shmem_put_, diff --git a/oshmem/shmem/fortran/shmem_putmem_f.c b/oshmem/shmem/fortran/shmem_putmem_f.c index 77639e973b..482ba407f9 100644 --- a/oshmem/shmem/fortran/shmem_putmem_f.c +++ b/oshmem/shmem/fortran/shmem_putmem_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_PUTMEM, shmem_putmem) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_PUTMEM, shmem_putmem_, diff --git a/oshmem/shmem/fortran/shmem_quiet_f.c b/oshmem/shmem/fortran/shmem_quiet_f.c index 996dcc3c97..70db6cbe07 100644 --- a/oshmem/shmem/fortran/shmem_quiet_f.c +++ b/oshmem/shmem/fortran/shmem_quiet_f.c @@ -14,6 +14,12 @@ #include "oshmem/include/shmem.h" #include "oshmem/mca/spml/spml.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_QUIET, shmem_quiet) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_QUIET, shmem_quiet_, diff --git a/oshmem/shmem/fortran/shmem_real4_swap_f.c b/oshmem/shmem/fortran/shmem_real4_swap_f.c index 1e69ac5f08..d0a6c2c059 100644 --- a/oshmem/shmem/fortran/shmem_real4_swap_f.c +++ b/oshmem/shmem/fortran/shmem_real4_swap_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL4_SWAP, shmem_real4_swap) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (ompi_fortran_real4_t, SHMEM_REAL4_SWAP, shmem_real4_swap_, diff --git a/oshmem/shmem/fortran/shmem_real8_swap_f.c b/oshmem/shmem/fortran/shmem_real8_swap_f.c index 9a0b5bac59..f18870e321 100644 --- a/oshmem/shmem/fortran/shmem_real8_swap_f.c +++ b/oshmem/shmem/fortran/shmem_real8_swap_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL8_SWAP, shmem_real8_swap) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (ompi_fortran_real8_t, SHMEM_REAL8_SWAP, shmem_real8_swap_, diff --git a/oshmem/shmem/fortran/shmem_real_get_f.c b/oshmem/shmem/fortran/shmem_real_get_f.c index 3698505398..eb179400a8 100644 --- a/oshmem/shmem/fortran/shmem_real_get_f.c +++ b/oshmem/shmem/fortran/shmem_real_get_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL_GET, shmem_real_get) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_REAL_GET, shmem_real_get_, diff --git a/oshmem/shmem/fortran/shmem_real_iget_f.c b/oshmem/shmem/fortran/shmem_real_iget_f.c index 082afef9aa..db3411d9c9 100644 --- a/oshmem/shmem/fortran/shmem_real_iget_f.c +++ b/oshmem/shmem/fortran/shmem_real_iget_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL_IGET, shmem_real_iget) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_REAL_IGET, shmem_real_iget_, diff --git a/oshmem/shmem/fortran/shmem_real_iput_f.c b/oshmem/shmem/fortran/shmem_real_iput_f.c index 34ac5f0b3d..827c52b79c 100644 --- a/oshmem/shmem/fortran/shmem_real_iput_f.c +++ b/oshmem/shmem/fortran/shmem_real_iput_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL_IPUT, shmem_real_iput) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_REAL_IPUT, shmem_real_iput_, diff --git a/oshmem/shmem/fortran/shmem_real_put_f.c b/oshmem/shmem/fortran/shmem_real_put_f.c index e786a4fbe8..fd6c6a63ad 100644 --- a/oshmem/shmem/fortran/shmem_real_put_f.c +++ b/oshmem/shmem/fortran/shmem_real_put_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL_PUT, shmem_real_put) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_REAL_PUT, shmem_real_put_, diff --git a/oshmem/shmem/fortran/shmem_sum_to_all_f.c b/oshmem/shmem/fortran/shmem_sum_to_all_f.c index 8e914ef8bd..b3815d8b74 100644 --- a/oshmem/shmem/fortran/shmem_sum_to_all_f.c +++ b/oshmem/shmem/fortran/shmem_sum_to_all_f.c @@ -18,6 +18,27 @@ #include "oshmem/proc/proc_group_cache.h" #include "oshmem/op/op.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT2_SUM_TO_ALL, shmem_int2_sum_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_SUM_TO_ALL, shmem_int4_sum_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_SUM_TO_ALL, shmem_int8_sum_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COMP4_SUM_TO_ALL, shmem_comp4_sum_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COMP8_SUM_TO_ALL, shmem_comp8_sum_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL4_SUM_TO_ALL, shmem_real4_sum_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL8_SUM_TO_ALL, shmem_real8_sum_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_REAL16_SUM_TO_ALL, shmem_real16_sum_to_all) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_INT2_SUM_TO_ALL, + shmem_int2_sum_to_all_, + shmem_int2_sum_to_all__, + shmem_int2_sum_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT4_SUM_TO_ALL, shmem_int4_sum_to_all_, @@ -34,6 +55,22 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_COMP4_SUM_TO_ALL, + shmem_comp4_sum_to_all_, + shmem_comp4_sum_to_all__, + shmem_comp4_sum_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_COMP8_SUM_TO_ALL, + shmem_comp8_sum_to_all_, + shmem_comp8_sum_to_all__, + shmem_comp8_sum_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_REAL4_SUM_TO_ALL, shmem_real4_sum_to_all_, @@ -50,6 +87,14 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_REAL16_SUM_TO_ALL, + shmem_real16_sum_to_all_, + shmem_real16_sum_to_all__, + shmem_real16_sum_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + #define SHMEM_SUM_TO_ALL(F_NAME, T_NAME, OSHMEM_GROUP_CACHE_ENABLED) void F_NAME(FORTRAN_POINTER_T target, \ FORTRAN_POINTER_T source, \ MPI_Fint *nreduce,\ @@ -111,8 +156,11 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, }\ } +SHMEM_SUM_TO_ALL(shmem_int2_sum_to_all_f, oshmem_op_sum_fint2, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_SUM_TO_ALL(shmem_int4_sum_to_all_f, oshmem_op_sum_fint4, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_SUM_TO_ALL(shmem_int8_sum_to_all_f, oshmem_op_sum_fint8, OSHMEM_GROUP_CACHE_ENABLED) +SHMEM_SUM_TO_ALL(shmem_comp4_sum_to_all_f, oshmem_op_sum_complexf, OSHMEM_GROUP_CACHE_ENABLED) +SHMEM_SUM_TO_ALL(shmem_comp8_sum_to_all_f, oshmem_op_sum_complexd, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_SUM_TO_ALL(shmem_real4_sum_to_all_f, oshmem_op_sum_freal4, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_SUM_TO_ALL(shmem_real8_sum_to_all_f, oshmem_op_sum_freal8, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_SUM_TO_ALL(shmem_real16_sum_to_all_f, oshmem_op_sum_freal16, OSHMEM_GROUP_CACHE_ENABLED) diff --git a/oshmem/shmem/fortran/shmem_swap_f.c b/oshmem/shmem/fortran/shmem_swap_f.c index 4c171dcffc..8fd34ff3f8 100644 --- a/oshmem/shmem/fortran/shmem_swap_f.c +++ b/oshmem/shmem/fortran/shmem_swap_f.c @@ -18,6 +18,12 @@ #include "ompi/datatype/ompi_datatype.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_SWAP, shmem_swap) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_FUNCTION (MPI_Fint, SHMEM_SWAP, shmem_swap_, diff --git a/oshmem/shmem/fortran/shmem_wait_f.c b/oshmem/shmem/fortran/shmem_wait_f.c index 1b429b76af..de5deb00dd 100644 --- a/oshmem/shmem/fortran/shmem_wait_f.c +++ b/oshmem/shmem/fortran/shmem_wait_f.c @@ -16,6 +16,12 @@ #include "oshmem/mca/spml/spml.h" #include "ompi/datatype/ompi_datatype.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_WAIT, shmem_wait) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_WAIT, shmem_wait_, diff --git a/oshmem/shmem/fortran/shmem_wait_until_f.c b/oshmem/shmem/fortran/shmem_wait_until_f.c index 9b9ad7bba3..b12bf2ec45 100644 --- a/oshmem/shmem/fortran/shmem_wait_until_f.c +++ b/oshmem/shmem/fortran/shmem_wait_until_f.c @@ -16,6 +16,12 @@ #include "oshmem/mca/spml/spml.h" #include "ompi/datatype/ompi_datatype.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_WAIT_UNTIL, shmem_wait_until) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_WAIT_UNTIL, shmem_wait_until_, diff --git a/oshmem/shmem/fortran/shmem_xor_to_all_f.c b/oshmem/shmem/fortran/shmem_xor_to_all_f.c index 077e18a7ec..d1b42eb26d 100644 --- a/oshmem/shmem/fortran/shmem_xor_to_all_f.c +++ b/oshmem/shmem/fortran/shmem_xor_to_all_f.c @@ -18,6 +18,24 @@ #include "oshmem/proc/proc_group_cache.h" #include "oshmem/op/op.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT2_XOR_TO_ALL, shmem_int2_xor_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT4_XOR_TO_ALL, shmem_int4_xor_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_INT8_XOR_TO_ALL, shmem_int8_xor_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COMP4_XOR_TO_ALL, shmem_comp4_xor_to_all) +SHMEM_GENERATE_WEAK_BINDINGS(SHMEM_COMP8_XOR_TO_ALL, shmem_comp8_xor_to_all) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_INT2_XOR_TO_ALL, + shmem_int2_xor_to_all_, + shmem_int2_xor_to_all__, + shmem_int2_xor_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHMEM_INT4_XOR_TO_ALL, shmem_int4_xor_to_all_, @@ -34,6 +52,22 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_COMP4_XOR_TO_ALL, + shmem_comp4_xor_to_all_, + shmem_comp4_xor_to_all__, + shmem_comp4_xor_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + +SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, + SHMEM_COMP8_XOR_TO_ALL, + shmem_comp8_xor_to_all_, + shmem_comp8_xor_to_all__, + shmem_comp8_xor_to_all_f, + (FORTRAN_POINTER_T target, FORTRAN_POINTER_T source, MPI_Fint *nreduce, MPI_Fint *PE_start, MPI_Fint * logPE_stride, MPI_Fint *PE_size, FORTRAN_POINTER_T *pWrk, FORTRAN_POINTER_T pSync), + (target,source,nreduce,PE_start,logPE_stride,PE_size,pWrk,pSync) ) + #define SHMEM_XOR_TO_ALL(F_NAME, T_NAME, OSHMEM_GROUP_CACHE_ENABLED) void F_NAME(FORTRAN_POINTER_T target, \ FORTRAN_POINTER_T source, \ MPI_Fint *nreduce,\ @@ -97,6 +131,7 @@ SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, }\ } +SHMEM_XOR_TO_ALL(shmem_int2_xor_to_all_f, oshmem_op_xor_fint2, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_XOR_TO_ALL(shmem_int4_xor_to_all_f, oshmem_op_xor_fint4, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_XOR_TO_ALL(shmem_int8_xor_to_all_f, oshmem_op_xor_fint8, OSHMEM_GROUP_CACHE_ENABLED) SHMEM_XOR_TO_ALL(shmem_comp4_xor_to_all_f, oshmem_op_xor_fint4, OSHMEM_GROUP_CACHE_ENABLED) diff --git a/oshmem/shmem/fortran/shpalloc_f.c b/oshmem/shmem/fortran/shpalloc_f.c index d627ca46e8..e3e8dedf62 100644 --- a/oshmem/shmem/fortran/shpalloc_f.c +++ b/oshmem/shmem/fortran/shpalloc_f.c @@ -16,6 +16,12 @@ #include "oshmem/runtime/runtime.h" #include "stdio.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHPALLOC, shpalloc) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHPALLOC, shpalloc_, diff --git a/oshmem/shmem/fortran/shpclmove_f.c b/oshmem/shmem/fortran/shpclmove_f.c index ea6b8f720a..d1e79d376b 100644 --- a/oshmem/shmem/fortran/shpclmove_f.c +++ b/oshmem/shmem/fortran/shpclmove_f.c @@ -16,6 +16,12 @@ #include "stdio.h" #include "oshmem/runtime/runtime.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHPCLMOVE, shpclmove) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHPCLMOVE, shpclmove_, diff --git a/oshmem/shmem/fortran/shpdeallc_f.c b/oshmem/shmem/fortran/shpdeallc_f.c index 67c052441c..49eac47307 100644 --- a/oshmem/shmem/fortran/shpdeallc_f.c +++ b/oshmem/shmem/fortran/shpdeallc_f.c @@ -14,6 +14,13 @@ #include "oshmem/include/shmem.h" #include "oshmem/shmem/shmem_api_logger.h" #include "stdio.h" + +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(SHPDEALLC, shpdeallc) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, SHPDEALLC, shpdeallc_, diff --git a/oshmem/shmem/fortran/start_pes_f.c b/oshmem/shmem/fortran/start_pes_f.c index 43de77ae89..3720dfedec 100644 --- a/oshmem/shmem/fortran/start_pes_f.c +++ b/oshmem/shmem/fortran/start_pes_f.c @@ -13,6 +13,12 @@ #include "oshmem/shmem/fortran/bindings.h" #include "oshmem/include/shmem.h" +#if OSHMEM_PROFILING +#include "oshmem/shmem/fortran/profile/pbindings.h" +SHMEM_GENERATE_WEAK_BINDINGS(START_PES, start_pes) +#include "oshmem/shmem/fortran/profile/defines.h" +#endif + SHMEM_GENERATE_FORTRAN_BINDINGS_SUB (void, START_PES, start_pes_,