update openmpi linux

This commit is contained in:
Bassem Girgis
2019-08-10 19:03:19 -05:00
parent 9b1ac8cf33
commit 8e4b370e8a
1038 changed files with 1569 additions and 25304 deletions

View File

@@ -1,71 +0,0 @@
#!/usr/bin/perl -w
#
# Copyright (c) 2013-2015 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2013-2015 Inria. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
#
# Author Emmanuel Jeannot <emmanuel.jeannot@inria.fr>
#
# This script aggregates the profiles generated by the flush_monitoring function.
# The files need to be in in given format: name_<phase_id>_<process_id>
# They are then aggregated by phases.
# If one needs the profile of all the phases he can concatenate the different files,
# or use the output of the monitoring system done at MPI_Finalize
# in the example it should be call as:
# ./aggregate_profile.pl prof/phase to generate
# prof/phase_1.prof
# prof/phase_2.prof
#
# ensure that this script as the executable right: chmod +x ...
#
die "$0 <name of the profile>\n\tProfile files should be of the form \"name_phaseid_processesid.prof\"\n\tFor instance if you saved the monitoring into phase_0.0.prof, phase_0.1.prof, ..., phase_1.0.prof etc you should call: $0 phase\n" if ($#ARGV!=0);
$name = $ARGV[0];
@files = glob ($name."*");
%phaseid = ();
# Detect the different phases
foreach $file (@files) {
($id)=($file =~ m/$name\_(\d+)\.\d+/);
$phaseid{$id} = 1 if ($id);
}
# for each phases aggregate the files
foreach $id (sort {$a <=> $b} keys %phaseid) {
aggregate($name."_".$id);
}
sub aggregate{
$phase = $_[0];
print "Building $phase.prof\n";
open OUT,">$phase.prof";
@files = glob ($phase."*");
foreach $file ( @files) {
open IN,$file;
while (<IN>) {
print OUT;
}
close IN;
}
close OUT;
}

View File

@@ -1 +0,0 @@
orte-dvm

View File

@@ -1 +0,0 @@
orte-ps

View File

@@ -1 +0,0 @@
orte-top

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +0,0 @@
opal_wrapper

View File

@@ -1 +0,0 @@
opal_wrapper

View File

@@ -1 +0,0 @@
opal_wrapper

Binary file not shown.

View File

@@ -1 +0,0 @@
mpirun

View File

@@ -1,125 +0,0 @@
#!/usr/bin/perl -w
#
# Copyright (c) 2013-2015 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2013-2016 Inria. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
#
# Author Emmanuel Jeannot <emmanuel.jeannot@inria.fr>
#
# Take a profile file and aggregates all the recorded communicaton into matrices.
# It generated a matrices for teh number of messages, (msg),
# for the total bytes transmitted (size) and
# the average nulber of bytes per messages (avg)
#
# The output matix is symetric
#
# If possible it creates file with "internal" tags (collexctive and eta data),
# "external" tags (point to point messages) and "all" (every messgaes).
#
# ensure that this script as the executable right: chmod +x ...
#
if($#ARGV < 0){
die("Usage: $0 <\".prof\" filename>\n");
}else{
$filename=$ARGV[0];
}
profile($filename,"I|E|S|R|C","all");
if ( profile($filename,"E","external") ){
profile($filename,"I","internal");
profile($filename,"S|R","osc");
profile($filename,"C","coll");
}
sub profile{
my $filename= $_[0];
my $filter= $_[1];
my $suffix= $_[2];
my $done = 0;
$outfile=$filename;
$outfile=~s/\.prof$/_size_$suffix\.mat/;
open IN,"<$filename";
$n=0;
@mat1=();
@mat2=();
@mat3=();
$i=0;
while (<IN>) {
$i++;
if (($f,$p1,$p2,$s,$m)=/^($filter)\s+(\d+)\s+(\d+)\s+(\d+)\D+(\d+)/){
$done = 1;
$f++;
#print "$p1 | $p2 | $s | $m\n";
$mat1[$p1][$p2]+=$s;
$mat1[$p2][$p1]+=$s;
$mat2[$p1][$p2]+=$m;
$mat2[$p2][$p1]+=$m;
$n=$p1 if ($p1>$n);
$n=$p2 if ($p2>$n);
}else {
# print("file $filename line $i: $_\n");
}
}
close IN;
#print "$done\n";
foreach $i (0..$n) {
foreach $j (0..$n) {
$mat1[$i][$j]+=0;
$mat2[$i][$j]+=0;
$mat1[$i][$j]/=2;
$mat2[$i][$j]/=2;
if ($mat2[$i][$j]){
$mat3[$i][$j]=$mat1[$i][$j]/$mat2[$i][$j] ;
#printf"%f\t%f\t%f\n",$mat1[$i][$j],$mat2[$i][$j],$mat3[$i][$j];
}else{
$mat3[$i][$j]=0;
}
}
}
if ($done) {
print "$filename -> $suffix\n";
save_file($outfile,$n,\@mat1);
$outfile=~s/_size/_msg/;
save_file($outfile,$n,\@mat2);
$outfile=~s/_msg/_avg/;
save_file($outfile,$n,\@mat3);
print"\n";
}
return $done;
}
sub save_file{
my $outfile=$_[0];
my $n=$_[1];
my @mat=@{$_[2]};
$s=$n+1;
print "$outfile\n";
open OUT,">$outfile";
foreach $i (0..$n) {
foreach $j (0..$n) {
printf OUT "%.0f ",$mat[$i][$j];
}
print OUT "\n";
}
# print"\n------------\n\n";
close OUT;
}

Binary file not shown.

View File

@@ -1 +0,0 @@
opal_wrapper

View File

@@ -1 +0,0 @@
opal_wrapper

View File

@@ -1 +0,0 @@
opal_wrapper

View File

@@ -1 +0,0 @@
opal_wrapper

View File

@@ -1 +0,0 @@
mpirun

View File

@@ -10,6 +10,7 @@
# Copyright (c) 2004-2005 The Regents of the University of California. # Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved. # All rights reserved.
# Copyright (c) 2006-2017 Cisco Systems, Inc. All rights reserved # Copyright (c) 2006-2017 Cisco Systems, Inc. All rights reserved
# Copyright (c) 2018 Intel, Inc. All rights reserved.
# $COPYRIGHT$ # $COPYRIGHT$
# #
# Additional copyrights may follow # Additional copyrights may follow
@@ -52,7 +53,7 @@
# directory. For example: # directory. For example:
# Change component loading path # Change component loading path
# component_path = /usr/local/lib/openmpi:~/my_openmpi_components # mca_base_component_path = /usr/local/lib/openmpi:~/my_openmpi_components
# See "ompi_info --param all all --level 9" for a full listing of Open # See "ompi_info --param all all --level 9" for a full listing of Open
# MPI MCA parameters available and their default values. # MPI MCA parameters available and their default values.

View File

@@ -13,11 +13,15 @@ extern "C" {
/* Enabled Extension: affinity */ /* Enabled Extension: affinity */
#define OMPI_HAVE_MPI_EXT_AFFINITY 1 #define OMPI_HAVE_MPI_EXT_AFFINITY 1
#include "openmpi/ompi/mpiext/affinity/c/mpiext_affinity_c.h" #include "openmpi/mpiext/mpiext_affinity_c.h"
/* Enabled Extension: cuda */ /* Enabled Extension: cuda */
#define OMPI_HAVE_MPI_EXT_CUDA 1 #define OMPI_HAVE_MPI_EXT_CUDA 1
#include "openmpi/ompi/mpiext/cuda/c/mpiext_cuda_c.h" #include "openmpi/mpiext/mpiext_cuda_c.h"
/* Enabled Extension: pcollreq */
#define OMPI_HAVE_MPI_EXT_PCOLLREQ 1
#include "openmpi/mpiext/mpiext_pcollreq_c.h"
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)

View File

@@ -10,17 +10,18 @@
* University of Stuttgart. All rights reserved. * University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2007-2016 Cisco Systems, Inc. All rights reserved. * Copyright (c) 2007-2019 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. * Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved.
* Copyright (c) 2009-2012 Oak Rigde National Laboratory. All rights reserved. * Copyright (c) 2009-2012 Oak Rigde National Laboratory. All rights reserved.
* Copyright (c) 2011 Sandia National Laboratories. All rights reserved. * Copyright (c) 2011 Sandia National Laboratories. All rights reserved.
* Copyright (c) 2012-2015 Los Alamos National Security, LLC. All rights * Copyright (c) 2012-2018 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* Copyright (c) 2011-2013 INRIA. All rights reserved. * Copyright (c) 2011-2013 INRIA. All rights reserved.
* Copyright (c) 2015 University of Houston. All rights reserved. * Copyright (c) 2015 University of Houston. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved. * Copyright (c) 2017-2019 IBM Corporation. All rights reserved.
* Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@@ -48,7 +49,7 @@
#define OPAL_BUILD_PLATFORM_COMPILER_FAMILYID 1 #define OPAL_BUILD_PLATFORM_COMPILER_FAMILYID 1
/* The compiler version which OMPI was built with */ /* The compiler version which OMPI was built with */
#define OPAL_BUILD_PLATFORM_COMPILER_VERSION 524801 #define OPAL_BUILD_PLATFORM_COMPILER_VERSION 590081
/* Define to 1 if you have the ANSI C header files. */ /* Define to 1 if you have the ANSI C header files. */
#define OPAL_STDC_HEADERS 1 #define OPAL_STDC_HEADERS 1
@@ -59,6 +60,9 @@
/* Whether your compiler has __attribute__ deprecated with the optional argument */ /* Whether your compiler has __attribute__ deprecated with the optional argument */
#define OPAL_HAVE_ATTRIBUTE_DEPRECATED_ARGUMENT 1 #define OPAL_HAVE_ATTRIBUTE_DEPRECATED_ARGUMENT 1
/* Whether you compiler has __attribute__ error or not */
#define OPAL_HAVE_ATTRIBUTE_ERROR 1
/* Define to 1 if you have the <sys/time.h> header file. */ /* Define to 1 if you have the <sys/time.h> header file. */
#define OPAL_HAVE_SYS_TIME_H 1 #define OPAL_HAVE_SYS_TIME_H 1
@@ -134,6 +138,9 @@
/* Whether we have FORTRAN REAL*8 or not */ /* Whether we have FORTRAN REAL*8 or not */
#define OMPI_HAVE_FORTRAN_REAL8 0 #define OMPI_HAVE_FORTRAN_REAL8 0
/* Whether in include MPI-1 compatibility */
#define OMPI_ENABLE_MPI1_COMPAT 0
/* Whether we have float _Complex or not */ /* Whether we have float _Complex or not */
#define HAVE_FLOAT__COMPLEX 1 #define HAVE_FLOAT__COMPLEX 1
@@ -182,9 +189,9 @@
#define OMPI_HAVE_CXX_EXCEPTION_SUPPORT 0 #define OMPI_HAVE_CXX_EXCEPTION_SUPPORT 0
/* Major, minor, and release version of Open MPI */ /* Major, minor, and release version of Open MPI */
#define OMPI_MAJOR_VERSION 3 #define OMPI_MAJOR_VERSION 4
#define OMPI_MINOR_VERSION 1 #define OMPI_MINOR_VERSION 0
#define OMPI_RELEASE_VERSION 2 #define OMPI_RELEASE_VERSION 1
/* A type that allows us to have sentinel type values that are still /* A type that allows us to have sentinel type values that are still
valid */ valid */
@@ -274,6 +281,52 @@
# define __mpi_interface_deprecated__(msg) __attribute__((__deprecated__)) # define __mpi_interface_deprecated__(msg) __attribute__((__deprecated__))
# endif # endif
# endif # endif
# endif
/* For MPI removed APIs, there is no generally portable way to cause
* the C compiler to error with a nice message, on the _usage_ of
* one of these symbols. We've gone with tiered appraoch:
*
* If the user configured with --enable-mpi1-compatibility,
* just emit a compiletime warning (via the deprecation function
* attribute) that they're using an MPI1 removed function.
*
* Otherwise, we'd like to issue a fatal error directing the user
* that they've used an MPI1 removed function. If the user's
* compiler supports C11 _Static_assert feature, we #define
* the MPI routines to instead be a call to _Static_assert
* with an appropreate message suggesting the new MPI3 equivalent.
*
* Otherwise, if the user's compiler supports the error function
* attribute, define the MPI routines with that error attribute.
* This is supported by most modern GNU compilers.
*
* Finally if the compiler doesn't support any of those, just
* Don't declare those MPI routines at all in mpi.h
*
* Don't do MACRO magic for building Profiling library as it
* interferes with the above.
*/
# if defined(OMPI_OMIT_MPI1_COMPAT_DECLS)
/* The user set OMPI_OMIT_MPI1_COMPAT_DECLS, do what he commands */
# elif (OMPI_ENABLE_MPI1_COMPAT || OMPI_BUILDING)
# define OMPI_OMIT_MPI1_COMPAT_DECLS 0
# define OMPI_REMOVED_USE_STATIC_ASSERT 0
# define __mpi_interface_removed__(func, newfunc) __mpi_interface_deprecated__(#func " was removed in MPI-3.0. Use " #newfunc " instead. continuing...")
# elif (__STDC_VERSION__ >= 201112L)
# define OMPI_OMIT_MPI1_COMPAT_DECLS 1
# define OMPI_REMOVED_USE_STATIC_ASSERT 1
// This macro definition may show up in compiler output. So we both
// outdent it back to column 0 and give it a user-friendly name to
// help users grok what we are trying to tell them here.
#define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) _Static_assert(0, #func " was removed in MPI-3.0. Use " #newfunc " instead.")
# elif OPAL_HAVE_ATTRIBUTE_ERROR
# define OMPI_OMIT_MPI1_COMPAT_DECLS 0
# define OMPI_REMOVED_USE_STATIC_ASSERT 0
# define __mpi_interface_removed__(func, newfunc) __attribute__((__error__(#func " was removed in MPI-3.0. Use " #newfunc " instead.")))
# else
# define OMPI_OMIT_MPI1_COMPAT_DECLS 1
# define OMPI_REMOVED_USE_STATIC_ASSERT 0
# endif # endif
# endif # endif
#endif #endif
@@ -287,6 +340,22 @@
# define __mpi_interface_deprecated__(msg) # define __mpi_interface_deprecated__(msg)
#endif #endif
#if !defined(__mpi_interface_removed__)
# define __mpi_interface_removed__(A,B)
#endif
#if !defined(THIS_SYMBOL_WAS_REMOVED_IN_MPI30)
# define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc)
#endif
#if !defined(OMPI_REMOVED_USE_STATIC_ASSERT)
# define OMPI_REMOVED_USE_STATIC_ASSERT 0
#endif
#if !defined(OMPI_OMIT_MPI1_COMPAT_DECLS)
# define OMPI_OMIT_MPI1_COMPAT_DECLS !OMPI_ENABLE_MPI1_COMPAT
#endif
/* /*
* To accomodate programs written for MPI implementations that use a * To accomodate programs written for MPI implementations that use a
* straight ROMIO import * straight ROMIO import
@@ -308,7 +377,11 @@
* when building OMPI). * when building OMPI).
*/ */
#if !OMPI_BUILDING #if !OMPI_BUILDING
#if defined(c_plusplus) || defined(__cplusplus)
#define OMPI_PREDEFINED_GLOBAL(type, global) (static_cast<type> (static_cast<void *> (&(global))))
#else
#define OMPI_PREDEFINED_GLOBAL(type, global) ((type) ((void *) &(global))) #define OMPI_PREDEFINED_GLOBAL(type, global) ((type) ((void *) &(global)))
#endif
#else #else
#define OMPI_PREDEFINED_GLOBAL(type, global) ((type) &(global)) #define OMPI_PREDEFINED_GLOBAL(type, global) ((type) &(global))
#endif #endif
@@ -360,37 +433,18 @@ typedef struct ompi_status_public_t ompi_status_public_t;
/* /*
* User typedefs * User typedefs
*
* Even though MPI_Copy_function and MPI_Delete_function are
* deprecated, we do not use the attributes marking them as such,
* because otherwise the compiler will warn for all the functions that
* are declared using them (e.g., MPI_Keyval_create).
*/ */
typedef int (MPI_Copy_function)(MPI_Comm, int, void *,
void *, void *, int *);
typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *);
typedef int (MPI_Datarep_extent_function)(MPI_Datatype, MPI_Aint *, void *); typedef int (MPI_Datarep_extent_function)(MPI_Datatype, MPI_Aint *, void *);
typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype, typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype,
int, void *, MPI_Offset, void *); int, void *, MPI_Offset, void *);
typedef void (MPI_Comm_errhandler_function)(MPI_Comm *, int *, ...); typedef void (MPI_Comm_errhandler_function)(MPI_Comm *, int *, ...);
typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn
__mpi_interface_deprecated__("MPI_Comm_errhandler_fn was deprecated in MPI-2.2; use MPI_Comm_errhandler_function instead");
/* This is a little hackish, but errhandler.h needs space for a /* This is a little hackish, but errhandler.h needs space for a
MPI_File_errhandler_fn. While it could just be removed, this MPI_File_errhandler_fn. While it could just be removed, this
allows us to maintain a stable ABI within OMPI, at least for allows us to maintain a stable ABI within OMPI, at least for
apps that don't use MPI I/O. */ apps that don't use MPI I/O. */
typedef void (ompi_file_errhandler_fn)(MPI_File *, int *, ...); typedef void (ompi_file_errhandler_fn)(MPI_File *, int *, ...);
typedef ompi_file_errhandler_fn MPI_File_errhandler_fn
__mpi_interface_deprecated__("MPI_File_errhandler_fn was deprecated in MPI-2.2; use MPI_File_errhandler_function instead");
typedef ompi_file_errhandler_fn MPI_File_errhandler_function;
typedef void (MPI_Win_errhandler_function)(MPI_Win *, int *, ...); typedef void (MPI_Win_errhandler_function)(MPI_Win *, int *, ...);
typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn
__mpi_interface_deprecated__("MPI_Win_errhandler_fn was deprecated in MPI-2.2; use MPI_Win_errhandler_function instead");
/* MPI_Handler_function is deprecated, but we don't mark it as
such because otherwise the MPI_Errhandler_create() declaration
would cause a warning to be issued */
typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...);
typedef void (MPI_User_function)(void *, void *, int *, MPI_Datatype *); typedef void (MPI_User_function)(void *, void *, int *, MPI_Datatype *);
typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *, typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *,
void *, void *, int *); void *, void *, int *);
@@ -406,6 +460,19 @@ typedef int (MPI_Grequest_query_function)(void *, MPI_Status *);
typedef int (MPI_Grequest_free_function)(void *); typedef int (MPI_Grequest_free_function)(void *);
typedef int (MPI_Grequest_cancel_function)(void *, int); typedef int (MPI_Grequest_cancel_function)(void *, int);
/*
* Deprecated typedefs. Usage is discouraged, as these may be deleted
* in future versions of the MPI Standard.
*/
typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn
__mpi_interface_deprecated__("MPI_Comm_errhandler_fn was deprecated in MPI-2.2; use MPI_Comm_errhandler_function instead");
typedef ompi_file_errhandler_fn MPI_File_errhandler_fn
__mpi_interface_deprecated__("MPI_File_errhandler_fn was deprecated in MPI-2.2; use MPI_File_errhandler_function instead");
typedef ompi_file_errhandler_fn MPI_File_errhandler_function;
typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn
__mpi_interface_deprecated__("MPI_Win_errhandler_fn was deprecated in MPI-2.2; use MPI_Win_errhandler_function instead");
/* /*
* Miscellaneous constants * Miscellaneous constants
*/ */
@@ -754,8 +821,13 @@ enum {
*/ */
#define MPI_INFO_ENV OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_env) #define MPI_INFO_ENV OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_env)
#if defined(c_plusplus) || defined(__cplusplus)
#define MPI_STATUS_IGNORE (static_cast<MPI_Status *> (0))
#define MPI_STATUSES_IGNORE (static_cast<MPI_Status *> (0))
#else
#define MPI_STATUS_IGNORE ((MPI_Status *) 0) #define MPI_STATUS_IGNORE ((MPI_Status *) 0)
#define MPI_STATUSES_IGNORE ((MPI_Status *) 0) #define MPI_STATUSES_IGNORE ((MPI_Status *) 0)
#endif
/* /*
* Special MPI_T handles * Special MPI_T handles
@@ -782,9 +854,6 @@ enum {
protection for this case. */ protection for this case. */
#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS) #if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS)
#define MPI_NULL_DELETE_FN OMPI_C_MPI_NULL_DELETE_FN
#define MPI_NULL_COPY_FN OMPI_C_MPI_NULL_COPY_FN
#define MPI_DUP_FN OMPI_C_MPI_DUP_FN
#define MPI_TYPE_NULL_DELETE_FN OMPI_C_MPI_TYPE_NULL_DELETE_FN #define MPI_TYPE_NULL_DELETE_FN OMPI_C_MPI_TYPE_NULL_DELETE_FN
#define MPI_TYPE_NULL_COPY_FN OMPI_C_MPI_TYPE_NULL_COPY_FN #define MPI_TYPE_NULL_COPY_FN OMPI_C_MPI_TYPE_NULL_COPY_FN
@@ -839,22 +908,6 @@ OMPI_DECLSPEC int OMPI_C_MPI_COMM_DUP_FN( MPI_Comm comm, int comm_keyval,
void* attribute_val_in, void* attribute_val_in,
void* attribute_val_out, void* attribute_val_out,
int* flag ); int* flag );
OMPI_DECLSPEC int OMPI_C_MPI_NULL_DELETE_FN( MPI_Comm comm, int comm_keyval,
void* attribute_val_out,
void* extra_state )
__mpi_interface_deprecated__("MPI_NULL_DELETE_FN is deprecated in MPI-2.0");
OMPI_DECLSPEC int OMPI_C_MPI_NULL_COPY_FN( MPI_Comm comm, int comm_keyval,
void* extra_state,
void* attribute_val_in,
void* attribute_val_out,
int* flag )
__mpi_interface_deprecated__("MPI_NULL_COPY_FN is deprecated in MPI-2.0");
OMPI_DECLSPEC int OMPI_C_MPI_DUP_FN( MPI_Comm comm, int comm_keyval,
void* extra_state,
void* attribute_val_in,
void* attribute_val_out,
int* flag )
__mpi_interface_deprecated__("MPI_DUP_FN is deprecated in MPI-2.0");
OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_DELETE_FN( MPI_Win window, OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_DELETE_FN( MPI_Win window,
int win_keyval, int win_keyval,
void* attribute_val_out, void* attribute_val_out,
@@ -909,8 +962,6 @@ OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_no_op;
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_datatype_null; OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_datatype_null;
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_lb __mpi_interface_deprecated__("MPI_LB is deprecated in MPI-2.0");
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ub __mpi_interface_deprecated__("MPI_UB is deprecated in MPI-2.0");
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_char; OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_char;
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_signed_char; OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_signed_char;
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_char; OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_char;
@@ -1011,6 +1062,32 @@ OMPI_DECLSPEC extern struct ompi_predefined_info_t ompi_mpi_info_env;
OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUS_IGNORE; OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUS_IGNORE;
OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUSES_IGNORE; OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUSES_IGNORE;
/*
* Removed datatypes. These datatypes are only available if Open MPI
* was configured with --enable-mpi1-compatibility.
*
* These datatypes were formally removed from the MPI specification
* and should no longer be used in MPI applications.
*/
#if (OMPI_ENABLE_MPI1_COMPAT || OMPI_BUILDING)
# define MPI_UB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_ub)
# define MPI_LB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_lb)
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_lb;
OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ub;
#else
/* If not building or configured --enable-mpi1-compatibility, then
* we don't want these datatypes, instead we define MPI_UB and
* MPI_LB to our Static Assert message if the compiler supports
* that staticly assert with a nice message.
*/
# if (OMPI_REMOVED_USE_STATIC_ASSERT)
# define MPI_UB THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_UB, MPI_Type_create_resized);
# define MPI_LB THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_LB, MPI_Type_create_resized);
# endif /* OMPI_REMOVED_USE_STATIC_ASSERT */
#endif /* Removed datatypes */
/* /*
* MPI predefined handles * MPI predefined handles
@@ -1059,8 +1136,7 @@ OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUSES_IGNORE;
#define MPI_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_int) #define MPI_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_int)
#define MPI_SHORT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short_int) #define MPI_SHORT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short_int)
#define MPI_2INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2int) #define MPI_2INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2int)
#define MPI_UB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_ub)
#define MPI_LB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_lb)
#define MPI_WCHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_wchar) #define MPI_WCHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_wchar)
#if OPAL_HAVE_LONG_LONG #if OPAL_HAVE_LONG_LONG
#define MPI_LONG_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int) #define MPI_LONG_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int)
@@ -1183,8 +1259,6 @@ OMPI_DECLSPEC int MPI_Accumulate(const void *origin_addr, int origin_count, MPI
OMPI_DECLSPEC int MPI_Add_error_class(int *errorclass); OMPI_DECLSPEC int MPI_Add_error_class(int *errorclass);
OMPI_DECLSPEC int MPI_Add_error_code(int errorclass, int *errorcode); OMPI_DECLSPEC int MPI_Add_error_code(int errorclass, int *errorcode);
OMPI_DECLSPEC int MPI_Add_error_string(int errorcode, const char *string); OMPI_DECLSPEC int MPI_Add_error_string(int errorcode, const char *string);
OMPI_DECLSPEC int MPI_Address(void *location, MPI_Aint *address)
__mpi_interface_deprecated__("MPI_Address is superseded by MPI_Get_address in MPI-2.0");
OMPI_DECLSPEC int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, OMPI_DECLSPEC int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int recvcount, void *recvbuf, int recvcount,
MPI_Datatype recvtype, MPI_Comm comm); MPI_Datatype recvtype, MPI_Comm comm);
@@ -1221,12 +1295,6 @@ OMPI_DECLSPEC int MPI_Alltoallw(const void *sendbuf, const int sendcounts[], co
OMPI_DECLSPEC int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], OMPI_DECLSPEC int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[],
void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[],
MPI_Comm comm, MPI_Request *request); MPI_Comm comm, MPI_Request *request);
OMPI_DECLSPEC int MPI_Attr_delete(MPI_Comm comm, int keyval)
__mpi_interface_deprecated__("MPI_Attr_delete is superseded by MPI_Comm_delete_attr in MPI-2.0");
OMPI_DECLSPEC int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)
__mpi_interface_deprecated__("MPI_Attr_get is superseded by MPI_Comm_get_attr in MPI-2.0");
OMPI_DECLSPEC int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val)
__mpi_interface_deprecated__("MPI_Attr_put is superseded by MPI_Comm_set_attr in MPI-2.0");
OMPI_DECLSPEC int MPI_Barrier(MPI_Comm comm); OMPI_DECLSPEC int MPI_Barrier(MPI_Comm comm);
OMPI_DECLSPEC int MPI_Ibarrier(MPI_Comm comm, MPI_Request *request); OMPI_DECLSPEC int MPI_Ibarrier(MPI_Comm comm, MPI_Request *request);
OMPI_DECLSPEC int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, OMPI_DECLSPEC int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype,
@@ -1328,15 +1396,8 @@ OMPI_DECLSPEC int MPI_Compare_and_swap(const void *origin_addr, const void *com
MPI_Aint target_disp, MPI_Win win); MPI_Aint target_disp, MPI_Win win);
OMPI_DECLSPEC int MPI_Dims_create(int nnodes, int ndims, int dims[]); OMPI_DECLSPEC int MPI_Dims_create(int nnodes, int ndims, int dims[]);
OMPI_DECLSPEC MPI_Fint MPI_Errhandler_c2f(MPI_Errhandler errhandler); OMPI_DECLSPEC MPI_Fint MPI_Errhandler_c2f(MPI_Errhandler errhandler);
OMPI_DECLSPEC int MPI_Errhandler_create(MPI_Handler_function *function,
MPI_Errhandler *errhandler)
__mpi_interface_deprecated__("MPI_Errhandler_create is superseded by MPI_Comm_create_errhandler in MPI-2.0");
OMPI_DECLSPEC MPI_Errhandler MPI_Errhandler_f2c(MPI_Fint errhandler); OMPI_DECLSPEC MPI_Errhandler MPI_Errhandler_f2c(MPI_Fint errhandler);
OMPI_DECLSPEC int MPI_Errhandler_free(MPI_Errhandler *errhandler); OMPI_DECLSPEC int MPI_Errhandler_free(MPI_Errhandler *errhandler);
OMPI_DECLSPEC int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler)
__mpi_interface_deprecated__("MPI_Errhandler_get is superseded by MPI_Comm_get_errhandler in MPI-2.0");
OMPI_DECLSPEC int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)
__mpi_interface_deprecated__("MPI_Errhandler_set is superseded by MPI_Comm_set_errhandler in MPI-2.0");
OMPI_DECLSPEC int MPI_Error_class(int errorcode, int *errorclass); OMPI_DECLSPEC int MPI_Error_class(int errorcode, int *errorclass);
OMPI_DECLSPEC int MPI_Error_string(int errorcode, char *string, int *resultlen); OMPI_DECLSPEC int MPI_Error_string(int errorcode, char *string, int *resultlen);
OMPI_DECLSPEC int MPI_Exscan(const void *sendbuf, void *recvbuf, int count, OMPI_DECLSPEC int MPI_Exscan(const void *sendbuf, void *recvbuf, int count,
@@ -1548,12 +1609,6 @@ OMPI_DECLSPEC int MPI_Isend(const void *buf, int count, MPI_Datatype datatype,
OMPI_DECLSPEC int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, OMPI_DECLSPEC int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest,
int tag, MPI_Comm comm, MPI_Request *request); int tag, MPI_Comm comm, MPI_Request *request);
OMPI_DECLSPEC int MPI_Is_thread_main(int *flag); OMPI_DECLSPEC int MPI_Is_thread_main(int *flag);
OMPI_DECLSPEC int MPI_Keyval_create(MPI_Copy_function *copy_fn,
MPI_Delete_function *delete_fn,
int *keyval, void *extra_state)
__mpi_interface_deprecated__("MPI_Keyval_create is superseded by MPI_Comm_create_keyval in MPI-2.0");
OMPI_DECLSPEC int MPI_Keyval_free(int *keyval)
__mpi_interface_deprecated__("MPI_Keyval_free is superseded by MPI_Comm_free_keyval in MPI-2.0");
OMPI_DECLSPEC int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name); OMPI_DECLSPEC int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name);
OMPI_DECLSPEC MPI_Fint MPI_Message_c2f(MPI_Message message); OMPI_DECLSPEC MPI_Fint MPI_Message_c2f(MPI_Message message);
OMPI_DECLSPEC MPI_Message MPI_Message_f2c(MPI_Fint message); OMPI_DECLSPEC MPI_Message MPI_Message_f2c(MPI_Fint message);
@@ -1755,8 +1810,6 @@ OMPI_DECLSPEC int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb,
MPI_Aint extent, MPI_Datatype *newtype); MPI_Aint extent, MPI_Datatype *newtype);
OMPI_DECLSPEC int MPI_Type_delete_attr(MPI_Datatype type, int type_keyval); OMPI_DECLSPEC int MPI_Type_delete_attr(MPI_Datatype type, int type_keyval);
OMPI_DECLSPEC int MPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype); OMPI_DECLSPEC int MPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype);
OMPI_DECLSPEC int MPI_Type_extent(MPI_Datatype type, MPI_Aint *extent)
__mpi_interface_deprecated__("MPI_Type_extent is superseded by MPI_Type_get_extent in MPI-2.0");
OMPI_DECLSPEC int MPI_Type_free(MPI_Datatype *type); OMPI_DECLSPEC int MPI_Type_free(MPI_Datatype *type);
OMPI_DECLSPEC int MPI_Type_free_keyval(int *type_keyval); OMPI_DECLSPEC int MPI_Type_free_keyval(int *type_keyval);
OMPI_DECLSPEC MPI_Datatype MPI_Type_f2c(MPI_Fint datatype); OMPI_DECLSPEC MPI_Datatype MPI_Type_f2c(MPI_Fint datatype);
@@ -1780,31 +1833,15 @@ OMPI_DECLSPEC int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *tru
MPI_Aint *true_extent); MPI_Aint *true_extent);
OMPI_DECLSPEC int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *true_lb, OMPI_DECLSPEC int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *true_lb,
MPI_Count *true_extent); MPI_Count *true_extent);
OMPI_DECLSPEC int MPI_Type_hindexed(int count, int array_of_blocklengths[],
MPI_Aint array_of_displacements[],
MPI_Datatype oldtype, MPI_Datatype *newtype)
__mpi_interface_deprecated__("MPI_Type_hindexed is superseded by MPI_Type_create_hindexed in MPI-2.0");
OMPI_DECLSPEC int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride,
MPI_Datatype oldtype, MPI_Datatype *newtype)
__mpi_interface_deprecated__("MPI_Type_hvector is superseded by MPI_Type_create_hvector in MPI-2.0");
OMPI_DECLSPEC int MPI_Type_indexed(int count, const int array_of_blocklengths[], OMPI_DECLSPEC int MPI_Type_indexed(int count, const int array_of_blocklengths[],
const int array_of_displacements[], const int array_of_displacements[],
MPI_Datatype oldtype, MPI_Datatype *newtype); MPI_Datatype oldtype, MPI_Datatype *newtype);
OMPI_DECLSPEC int MPI_Type_lb(MPI_Datatype type, MPI_Aint *lb)
__mpi_interface_deprecated__("MPI_Type_lb is deprecated, use MPI_Type_get_extent in MPI-2.0");
OMPI_DECLSPEC int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *type); OMPI_DECLSPEC int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *type);
OMPI_DECLSPEC int MPI_Type_set_attr(MPI_Datatype type, int type_keyval, OMPI_DECLSPEC int MPI_Type_set_attr(MPI_Datatype type, int type_keyval,
void *attr_val); void *attr_val);
OMPI_DECLSPEC int MPI_Type_set_name(MPI_Datatype type, const char *type_name); OMPI_DECLSPEC int MPI_Type_set_name(MPI_Datatype type, const char *type_name);
OMPI_DECLSPEC int MPI_Type_size(MPI_Datatype type, int *size); OMPI_DECLSPEC int MPI_Type_size(MPI_Datatype type, int *size);
OMPI_DECLSPEC int MPI_Type_size_x(MPI_Datatype type, MPI_Count *size); OMPI_DECLSPEC int MPI_Type_size_x(MPI_Datatype type, MPI_Count *size);
OMPI_DECLSPEC int MPI_Type_struct(int count, int array_of_blocklengths[],
MPI_Aint array_of_displacements[],
MPI_Datatype array_of_types[],
MPI_Datatype *newtype)
__mpi_interface_deprecated__("MPI_Type_struct is superseded by MPI_Type_create_struct in MPI-2.0");
OMPI_DECLSPEC int MPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub)
__mpi_interface_deprecated__("MPI_Type_ub is deprecated, use MPI_Type_get_extent in MPI-2.0");
OMPI_DECLSPEC int MPI_Type_vector(int count, int blocklength, int stride, OMPI_DECLSPEC int MPI_Type_vector(int count, int blocklength, int stride,
MPI_Datatype oldtype, MPI_Datatype *newtype); MPI_Datatype oldtype, MPI_Datatype *newtype);
OMPI_DECLSPEC int MPI_Unpack(const void *inbuf, int insize, int *position, OMPI_DECLSPEC int MPI_Unpack(const void *inbuf, int insize, int *position,
@@ -1881,8 +1918,6 @@ OMPI_DECLSPEC int PMPI_Accumulate(const void *origin_addr, int origin_count, MP
OMPI_DECLSPEC int PMPI_Add_error_class(int *errorclass); OMPI_DECLSPEC int PMPI_Add_error_class(int *errorclass);
OMPI_DECLSPEC int PMPI_Add_error_code(int errorclass, int *errorcode); OMPI_DECLSPEC int PMPI_Add_error_code(int errorclass, int *errorcode);
OMPI_DECLSPEC int PMPI_Add_error_string(int errorcode, const char *string); OMPI_DECLSPEC int PMPI_Add_error_string(int errorcode, const char *string);
OMPI_DECLSPEC int PMPI_Address(void *location, MPI_Aint *address)
__mpi_interface_deprecated__("MPI_Address is superseded by MPI_Get_address in MPI-2.0");
OMPI_DECLSPEC int PMPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, OMPI_DECLSPEC int PMPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int recvcount, void *recvbuf, int recvcount,
MPI_Datatype recvtype, MPI_Comm comm); MPI_Datatype recvtype, MPI_Comm comm);
@@ -1919,10 +1954,6 @@ OMPI_DECLSPEC int PMPI_Alltoallw(const void *sendbuf, const int sendcounts[], c
OMPI_DECLSPEC int PMPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], OMPI_DECLSPEC int PMPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[],
void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[],
MPI_Comm comm, MPI_Request *request); MPI_Comm comm, MPI_Request *request);
OMPI_DECLSPEC int PMPI_Attr_delete(MPI_Comm comm, int keyval)
__mpi_interface_deprecated__("MPI_Attr_delete is superseded by MPI_Comm_delete_attr in MPI-2.0");
OMPI_DECLSPEC int PMPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)
__mpi_interface_deprecated__("MPI_Attr_get is superseded by MPI_Comm_get_attr in MPI-2.0");
OMPI_DECLSPEC int PMPI_Dist_graph_create(MPI_Comm comm_old, int n, const int nodes[], OMPI_DECLSPEC int PMPI_Dist_graph_create(MPI_Comm comm_old, int n, const int nodes[],
const int degrees[], const int targets[], const int degrees[], const int targets[],
const int weights[], MPI_Info info, const int weights[], MPI_Info info,
@@ -1944,8 +1975,6 @@ OMPI_DECLSPEC int PMPI_Dist_graph_neighbors_count(MPI_Comm comm,
int *inneighbors, int *inneighbors,
int *outneighbors, int *outneighbors,
int *weighted); int *weighted);
OMPI_DECLSPEC int PMPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val)
__mpi_interface_deprecated__("MPI_Attr_put is superseded by MPI_Comm_set_attr in MPI-2.0");
OMPI_DECLSPEC int PMPI_Barrier(MPI_Comm comm); OMPI_DECLSPEC int PMPI_Barrier(MPI_Comm comm);
OMPI_DECLSPEC int PMPI_Ibarrier(MPI_Comm comm, MPI_Request *request); OMPI_DECLSPEC int PMPI_Ibarrier(MPI_Comm comm, MPI_Request *request);
OMPI_DECLSPEC int PMPI_Bcast(void *buffer, int count, MPI_Datatype datatype, OMPI_DECLSPEC int PMPI_Bcast(void *buffer, int count, MPI_Datatype datatype,
@@ -2026,15 +2055,8 @@ OMPI_DECLSPEC int PMPI_Compare_and_swap(const void *origin_addr, const void *co
MPI_Aint target_disp, MPI_Win win); MPI_Aint target_disp, MPI_Win win);
OMPI_DECLSPEC int PMPI_Dims_create(int nnodes, int ndims, int dims[]); OMPI_DECLSPEC int PMPI_Dims_create(int nnodes, int ndims, int dims[]);
OMPI_DECLSPEC MPI_Fint PMPI_Errhandler_c2f(MPI_Errhandler errhandler); OMPI_DECLSPEC MPI_Fint PMPI_Errhandler_c2f(MPI_Errhandler errhandler);
OMPI_DECLSPEC int PMPI_Errhandler_create(MPI_Handler_function *function,
MPI_Errhandler *errhandler)
__mpi_interface_deprecated__("MPI_Errhandler_create is superseded by MPI_Comm_create_errhandler in MPI-2.0");
OMPI_DECLSPEC MPI_Errhandler PMPI_Errhandler_f2c(MPI_Fint errhandler); OMPI_DECLSPEC MPI_Errhandler PMPI_Errhandler_f2c(MPI_Fint errhandler);
OMPI_DECLSPEC int PMPI_Errhandler_free(MPI_Errhandler *errhandler); OMPI_DECLSPEC int PMPI_Errhandler_free(MPI_Errhandler *errhandler);
OMPI_DECLSPEC int PMPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler)
__mpi_interface_deprecated__("MPI_Errhandler_get is superseded by MPI_Comm_get_errhandler in MPI-2.0");
OMPI_DECLSPEC int PMPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)
__mpi_interface_deprecated__("MPI_Errhandler_set is superseded by MPI_Comm_set_errhandler in MPI-2.0");
OMPI_DECLSPEC int PMPI_Error_class(int errorcode, int *errorclass); OMPI_DECLSPEC int PMPI_Error_class(int errorcode, int *errorclass);
OMPI_DECLSPEC int PMPI_Error_string(int errorcode, char *string, int *resultlen); OMPI_DECLSPEC int PMPI_Error_string(int errorcode, char *string, int *resultlen);
OMPI_DECLSPEC int PMPI_Exscan(const void *sendbuf, void *recvbuf, int count, OMPI_DECLSPEC int PMPI_Exscan(const void *sendbuf, void *recvbuf, int count,
@@ -2248,12 +2270,6 @@ OMPI_DECLSPEC int PMPI_Isend(const void *buf, int count, MPI_Datatype datatype,
OMPI_DECLSPEC int PMPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, OMPI_DECLSPEC int PMPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest,
int tag, MPI_Comm comm, MPI_Request *request); int tag, MPI_Comm comm, MPI_Request *request);
OMPI_DECLSPEC int PMPI_Is_thread_main(int *flag); OMPI_DECLSPEC int PMPI_Is_thread_main(int *flag);
OMPI_DECLSPEC int PMPI_Keyval_create(MPI_Copy_function *copy_fn,
MPI_Delete_function *delete_fn,
int *keyval, void *extra_state)
__mpi_interface_deprecated__("MPI_Keyval_create is superseded by MPI_Comm_create_keyval in MPI-2.0");
OMPI_DECLSPEC int PMPI_Keyval_free(int *keyval)
__mpi_interface_deprecated__("MPI_Keyval_free is superseded by MPI_Comm_free_keyval in MPI-2.0");
OMPI_DECLSPEC int PMPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name); OMPI_DECLSPEC int PMPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name);
OMPI_DECLSPEC MPI_Fint PMPI_Message_c2f(MPI_Message message); OMPI_DECLSPEC MPI_Fint PMPI_Message_c2f(MPI_Message message);
OMPI_DECLSPEC MPI_Message PMPI_Message_f2c(MPI_Fint message); OMPI_DECLSPEC MPI_Message PMPI_Message_f2c(MPI_Fint message);
@@ -2454,8 +2470,6 @@ OMPI_DECLSPEC int PMPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb,
MPI_Aint extent, MPI_Datatype *newtype); MPI_Aint extent, MPI_Datatype *newtype);
OMPI_DECLSPEC int PMPI_Type_delete_attr(MPI_Datatype type, int type_keyval); OMPI_DECLSPEC int PMPI_Type_delete_attr(MPI_Datatype type, int type_keyval);
OMPI_DECLSPEC int PMPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype); OMPI_DECLSPEC int PMPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype);
OMPI_DECLSPEC int PMPI_Type_extent(MPI_Datatype type, MPI_Aint *extent)
__mpi_interface_deprecated__("MPI_Type_extent is superseded by MPI_Type_get_extent in MPI-2.0");
OMPI_DECLSPEC int PMPI_Type_free(MPI_Datatype *type); OMPI_DECLSPEC int PMPI_Type_free(MPI_Datatype *type);
OMPI_DECLSPEC int PMPI_Type_free_keyval(int *type_keyval); OMPI_DECLSPEC int PMPI_Type_free_keyval(int *type_keyval);
OMPI_DECLSPEC MPI_Datatype PMPI_Type_f2c(MPI_Fint datatype); OMPI_DECLSPEC MPI_Datatype PMPI_Type_f2c(MPI_Fint datatype);
@@ -2479,31 +2493,15 @@ OMPI_DECLSPEC int PMPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *tr
MPI_Aint *true_extent); MPI_Aint *true_extent);
OMPI_DECLSPEC int PMPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *true_lb, OMPI_DECLSPEC int PMPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *true_lb,
MPI_Count *true_extent); MPI_Count *true_extent);
OMPI_DECLSPEC int PMPI_Type_hindexed(int count, int array_of_blocklengths[],
MPI_Aint array_of_displacements[],
MPI_Datatype oldtype, MPI_Datatype *newtype)
__mpi_interface_deprecated__("MPI_Type_hindexed is superseded by MPI_Type_create_hindexed in MPI-2.0");
OMPI_DECLSPEC int PMPI_Type_hvector(int count, int blocklength, MPI_Aint stride,
MPI_Datatype oldtype, MPI_Datatype *newtype)
__mpi_interface_deprecated__("MPI_Type_hvector is superseded by MPI_Type_create_hvector in MPI-2.0");
OMPI_DECLSPEC int PMPI_Type_indexed(int count, const int array_of_blocklengths[], OMPI_DECLSPEC int PMPI_Type_indexed(int count, const int array_of_blocklengths[],
const int array_of_displacements[], const int array_of_displacements[],
MPI_Datatype oldtype, MPI_Datatype *newtype); MPI_Datatype oldtype, MPI_Datatype *newtype);
OMPI_DECLSPEC int PMPI_Type_lb(MPI_Datatype type, MPI_Aint *lb)
__mpi_interface_deprecated__("MPI_Type_lb is deprecated, use MPI_Type_get_extent in MPI-2.0");
OMPI_DECLSPEC int PMPI_Type_match_size(int typeclass, int size, MPI_Datatype *type); OMPI_DECLSPEC int PMPI_Type_match_size(int typeclass, int size, MPI_Datatype *type);
OMPI_DECLSPEC int PMPI_Type_set_attr(MPI_Datatype type, int type_keyval, OMPI_DECLSPEC int PMPI_Type_set_attr(MPI_Datatype type, int type_keyval,
void *attr_val); void *attr_val);
OMPI_DECLSPEC int PMPI_Type_set_name(MPI_Datatype type, const char *type_name); OMPI_DECLSPEC int PMPI_Type_set_name(MPI_Datatype type, const char *type_name);
OMPI_DECLSPEC int PMPI_Type_size(MPI_Datatype type, int *size); OMPI_DECLSPEC int PMPI_Type_size(MPI_Datatype type, int *size);
OMPI_DECLSPEC int PMPI_Type_size_x(MPI_Datatype type, MPI_Count *size); OMPI_DECLSPEC int PMPI_Type_size_x(MPI_Datatype type, MPI_Count *size);
OMPI_DECLSPEC int PMPI_Type_struct(int count, int array_of_blocklengths[],
MPI_Aint array_of_displacements[],
MPI_Datatype array_of_types[],
MPI_Datatype *newtype)
__mpi_interface_deprecated__("MPI_Type_struct is superseded by MPI_Type_create_struct in MPI-2.0");
OMPI_DECLSPEC int PMPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub)
__mpi_interface_deprecated__("MPI_Type_ub is deprecated, use MPI_Type_get_extent in MPI-2.0");
OMPI_DECLSPEC int PMPI_Type_vector(int count, int blocklength, int stride, OMPI_DECLSPEC int PMPI_Type_vector(int count, int blocklength, int stride,
MPI_Datatype oldtype, MPI_Datatype *newtype); MPI_Datatype oldtype, MPI_Datatype *newtype);
OMPI_DECLSPEC int PMPI_Unpack(const void *inbuf, int insize, int *position, OMPI_DECLSPEC int PMPI_Unpack(const void *inbuf, int insize, int *position,
@@ -2666,6 +2664,166 @@ OMPI_DECLSPEC int MPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_h
OMPI_DECLSPEC int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len); OMPI_DECLSPEC int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len);
OMPI_DECLSPEC int MPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name, OMPI_DECLSPEC int MPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name,
int *name_len); int *name_len);
/*
* Deprecated prototypes. Usage is discouraged, as these may be
* deleted in future versions of the MPI Standard.
*/
OMPI_DECLSPEC int MPI_Attr_delete(MPI_Comm comm, int keyval)
__mpi_interface_deprecated__("MPI_Attr_delete was deprecated in MPI-2.0; use MPI_Comm_delete_attr instead");
OMPI_DECLSPEC int PMPI_Attr_delete(MPI_Comm comm, int keyval)
__mpi_interface_deprecated__("PMPI_Attr_delete was deprecated in MPI-2.0; use PMPI_Comm_delete_attr instead");
OMPI_DECLSPEC int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)
__mpi_interface_deprecated__("MPI_Attr_get was deprecated in MPI-2.0; use MPI_Comm_get_attr instead");
OMPI_DECLSPEC int PMPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)
__mpi_interface_deprecated__("PMPI_Attr_get was deprecated in MPI-2.0; use PMPI_Comm_get_attr instead");
OMPI_DECLSPEC int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val)
__mpi_interface_deprecated__("MPI_Attr_put was deprecated in MPI-2.0; use MPI_Comm_set_attr instead");
OMPI_DECLSPEC int PMPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val)
__mpi_interface_deprecated__("PMPI_Attr_put was deprecated in MPI-2.0; use PMPI_Comm_set_attr instead");
/*
* Even though MPI_Copy_function and MPI_Delete_function are
* deprecated, we do not use the attributes marking them as such,
* because otherwise the compiler will warn for all the functions that
* are declared using them (e.g., MPI_Keyval_create).
*/
typedef int (MPI_Copy_function)(MPI_Comm, int, void *,
void *, void *, int *);
/* MPI_Copy_function was deprecated in MPI-2.0; use MPI_Comm_copy_attr_function instead. */
typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *);
/* MPI_Delete_function was deprecated in MPI-2.0; use MPI_Comm_delete_attr_function instead. */
OMPI_DECLSPEC int MPI_Keyval_create(MPI_Copy_function *copy_fn,
MPI_Delete_function *delete_fn,
int *keyval, void *extra_state)
__mpi_interface_deprecated__("MPI_Keyval_create was deprecated in MPI-2.0; use MPI_Comm_create_keyval instead.");
OMPI_DECLSPEC int PMPI_Keyval_create(MPI_Copy_function *copy_fn,
MPI_Delete_function *delete_fn,
int *keyval, void *extra_state)
__mpi_interface_deprecated__("PMPI_Keyval_create was deprecated in MPI-2.0; use PMPI_Comm_create_keyval instead.");
OMPI_DECLSPEC int MPI_Keyval_free(int *keyval)
__mpi_interface_deprecated__("MPI_Keyval_free was deprecated in MPI-2.0; MPI_Comm_free_keyval instead.");
OMPI_DECLSPEC int PMPI_Keyval_free(int *keyval)
__mpi_interface_deprecated__("PMPI_Keyval_free was deprecated in MPI-2.0; PMPI_Comm_free_keyval instead.");
#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS)
#define MPI_DUP_FN OMPI_C_MPI_DUP_FN
#endif
OMPI_DECLSPEC int OMPI_C_MPI_DUP_FN( MPI_Comm comm, int comm_keyval,
void* extra_state,
void* attribute_val_in,
void* attribute_val_out,
int* flag )
__mpi_interface_deprecated__("MPI_DUP_FN was deprecated in MPI-2.0; use MPI_COMM_DUP_FN instead.");
#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS)
#define MPI_NULL_COPY_FN OMPI_C_MPI_NULL_COPY_FN
#endif
OMPI_DECLSPEC int OMPI_C_MPI_NULL_COPY_FN( MPI_Comm comm, int comm_keyval,
void* extra_state,
void* attribute_val_in,
void* attribute_val_out,
int* flag )
__mpi_interface_deprecated__("MPI_NULL_COPY_FN was deprecated in MPI-2.0; use MPI_COMM_NULL_COPY_FN instead.");
#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS)
#define MPI_NULL_DELETE_FN OMPI_C_MPI_NULL_DELETE_FN
#endif
OMPI_DECLSPEC int OMPI_C_MPI_NULL_DELETE_FN( MPI_Comm comm, int comm_keyval,
void* attribute_val_out,
void* extra_state )
__mpi_interface_deprecated__("MPI_NULL_DELETE_FN was deprecated in MPI-2.0; use MPI_COMM_NULL_DELETE_FN instead.");
#if (!OMPI_OMIT_MPI1_COMPAT_DECLS || OMPI_BUILDING)
/*
* Removed typedefs. These typedefs are only available if Open MPI
* was configured with --enable-mpi1-compatibility.
*
* These typedefs were formally removed from the MPI specification
* and should no longer be used in MPI applications.
*
* Even though MPI_Handler_function is removed, we do not use the
* attributes marking it as such, because otherwise the compiler
* will warn for all the functions that are declared using them
* (e.g., MPI_Errhandler_create).
*/
typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...);
/* MPI_Handler_function was removed in MPI-3.0; use MPI_Comm_use_errhandler_function instead. */
/*
* Removed prototypes. These prototypes are only available if Open
* MPI was configured with --enable-mpi1-compatibility.
*
* These functions were formally removed from the MPI specification
* and should no longer be used in MPI applications.
*/
OMPI_DECLSPEC int MPI_Address(void *location, MPI_Aint *address)
__mpi_interface_removed__(MPI_Address, MPI_Get_address);
OMPI_DECLSPEC int PMPI_Address(void *location, MPI_Aint *address)
__mpi_interface_removed__(PMPI_Address, PMPI_Get_address);
OMPI_DECLSPEC int MPI_Errhandler_create(MPI_Handler_function *function,
MPI_Errhandler *errhandler)
__mpi_interface_removed__(MPI_Errhandler_create, MPI_Comm_create_errhandler);
OMPI_DECLSPEC int PMPI_Errhandler_create(MPI_Handler_function *function,
MPI_Errhandler *errhandler)
__mpi_interface_removed__(PMPI_Errhandler_create, PMPI_Comm_create_errhandler);
OMPI_DECLSPEC int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler)
__mpi_interface_removed__(MPI_Errhandler_get, MPI_Comm_get_errhandler);
OMPI_DECLSPEC int PMPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler)
__mpi_interface_removed__(PMPI_Errhandler_get, PMPI_Comm_get_errhandler);
OMPI_DECLSPEC int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)
__mpi_interface_removed__(MPI_Errhandler_set, MPI_Comm_set_errhandler);
OMPI_DECLSPEC int PMPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)
__mpi_interface_removed__(PMPI_Errhandler_set, PMPI_Comm_set_errhandler);
OMPI_DECLSPEC int MPI_Type_extent(MPI_Datatype type, MPI_Aint *extent)
__mpi_interface_removed__(MPI_Type_extent, MPI_Type_get_extent);
OMPI_DECLSPEC int PMPI_Type_extent(MPI_Datatype type, MPI_Aint *extent)
__mpi_interface_removed__(PMPI_Type_extent, PMPI_Type_get_extent);
OMPI_DECLSPEC int MPI_Type_hindexed(int count, int array_of_blocklengths[],
MPI_Aint array_of_displacements[],
MPI_Datatype oldtype, MPI_Datatype *newtype)
__mpi_interface_removed__(MPI_Type_hindexed, MPI_Type_create_hindexed);
OMPI_DECLSPEC int PMPI_Type_hindexed(int count, int array_of_blocklengths[],
MPI_Aint array_of_displacements[],
MPI_Datatype oldtype, MPI_Datatype *newtype)
__mpi_interface_removed__(PMPI_Type_hindexed, PMPI_Type_create_hindexed);
OMPI_DECLSPEC int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride,
MPI_Datatype oldtype, MPI_Datatype *newtype)
__mpi_interface_removed__(MPI_Type_hvector, MPI_Type_create_hvector);
OMPI_DECLSPEC int PMPI_Type_hvector(int count, int blocklength, MPI_Aint stride,
MPI_Datatype oldtype, MPI_Datatype *newtype)
__mpi_interface_removed__(PMPI_Type_hvector, PMPI_Type_create_hvector);
OMPI_DECLSPEC int MPI_Type_lb(MPI_Datatype type, MPI_Aint *lb)
__mpi_interface_removed__(MPI_Type_lb, MPI_Type_get_extent);
OMPI_DECLSPEC int PMPI_Type_lb(MPI_Datatype type, MPI_Aint *lb)
__mpi_interface_removed__(PMPI_Type_lb, PMPI_Type_get_extent);
OMPI_DECLSPEC int MPI_Type_struct(int count, int array_of_blocklengths[],
MPI_Aint array_of_displacements[],
MPI_Datatype array_of_types[],
MPI_Datatype *newtype)
__mpi_interface_removed__(MPI_Type_struct, MPI_Type_create_struct);
OMPI_DECLSPEC int PMPI_Type_struct(int count, int array_of_blocklengths[],
MPI_Aint array_of_displacements[],
MPI_Datatype array_of_types[],
MPI_Datatype *newtype)
__mpi_interface_removed__(PMPI_Type_struct, PMPI_Type_create_struct);
OMPI_DECLSPEC int MPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub)
__mpi_interface_removed__(MPI_Type_ub, MPI_Type_get_extent);
OMPI_DECLSPEC int PMPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub)
__mpi_interface_removed__(PMPI_Type_ub, PMPI_Type_get_extent);
#endif /* !OMPI_OMIT_MPI1_COMPAT_DECLS */
#if OMPI_REMOVED_USE_STATIC_ASSERT
#define MPI_Address(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Address, MPI_Get_address)
#define MPI_Errhandler_create(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Errhandler_create, MPI_Comm_create_errhandler)
#define MPI_Errhandler_get(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Errhandler_get, MPI_Comm_get_errhandler)
#define MPI_Errhandler_set(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Errhandler_set, MPI_Comm_set_errhandler)
#define MPI_Type_extent(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_extent, MPI_Type_get_extent)
#define MPI_Type_hindexed(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_hindexed, MPI_Type_create_hindexed)
#define MPI_Type_hvector(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_hvector, MPI_Type_create_hvector)
#define MPI_Type_lb(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_lb, MPI_Type_get_extent)
#define MPI_Type_struct(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_struct, MPI_Type_create_struct)
#define MPI_Type_ub(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_ub, MPI_Type_get_extent)
#endif
#if defined(c_plusplus) || defined(__cplusplus) #if defined(c_plusplus) || defined(__cplusplus)
} }

View File

@@ -22,3 +22,11 @@
parameter (OMPI_HAVE_MPI_EXT_CUDA=0) parameter (OMPI_HAVE_MPI_EXT_CUDA=0)
! !
! Enabled Extension: pcollreq
!
integer OMPI_HAVE_MPI_EXT_PCOLLREQ
parameter (OMPI_HAVE_MPI_EXT_PCOLLREQ=1)
include 'openmpi/mpiext/mpiext_pcollreq_mpifh.h'
!

View File

@@ -1 +0,0 @@
../shmem.fh

View File

@@ -1 +0,0 @@
../shmem.h

View File

@@ -0,0 +1,62 @@
/*
* Copyright (c) 2017 FUJITSU LIMITED. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
*/
OMPI_DECLSPEC int MPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
/*
* Profiling MPI API
*/
OMPI_DECLSPEC int PMPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);

View File

@@ -0,0 +1,62 @@
/*
* Copyright (c) 2017 FUJITSU LIMITED. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
*/
OMPI_DECLSPEC int MPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
/*
* Profiling MPI API
*/
OMPI_DECLSPEC int PMPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request);

View File

@@ -1,123 +0,0 @@
/*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef OSHMEM_CONSTANTS_H
#define OSHMEM_CONSTANTS_H
#include "orte/constants.h"
#include "oshmem/include/shmem.h"
#define OSHMEM_ERR_BASE ORTE_ERR_MAX
/* error codes */
enum {
/* Error codes inherited from ORTE/OPAL. Still enum values so
that we might get nice debugger help */
OSHMEM_SUCCESS = ORTE_SUCCESS,
OSHMEM_ERROR = ORTE_ERROR,
OSHMEM_ERR_OUT_OF_RESOURCE = ORTE_ERR_OUT_OF_RESOURCE,
OSHMEM_ERR_TEMP_OUT_OF_RESOURCE = ORTE_ERR_TEMP_OUT_OF_RESOURCE,
OSHMEM_ERR_RESOURCE_BUSY = ORTE_ERR_RESOURCE_BUSY,
OSHMEM_ERR_BAD_PARAM = ORTE_ERR_BAD_PARAM,
OSHMEM_ERR_FATAL = ORTE_ERR_FATAL,
OSHMEM_ERR_NOT_IMPLEMENTED = ORTE_ERR_NOT_IMPLEMENTED,
OSHMEM_ERR_NOT_SUPPORTED = ORTE_ERR_NOT_SUPPORTED,
OSHMEM_ERR_INTERUPTED = ORTE_ERR_INTERUPTED,
OSHMEM_ERR_WOULD_BLOCK = ORTE_ERR_WOULD_BLOCK,
OSHMEM_ERR_IN_ERRNO = ORTE_ERR_IN_ERRNO,
OSHMEM_ERR_UNREACH = ORTE_ERR_UNREACH,
OSHMEM_ERR_NOT_FOUND = ORTE_ERR_NOT_FOUND,
OSHMEM_EXISTS = ORTE_EXISTS, /* indicates that the specified object already exists */
OSHMEM_ERR_TIMEOUT = ORTE_ERR_TIMEOUT,
OSHMEM_ERR_NOT_AVAILABLE = ORTE_ERR_NOT_AVAILABLE,
OSHMEM_ERR_PERM = ORTE_ERR_PERM,
OSHMEM_ERR_VALUE_OUT_OF_BOUNDS = ORTE_ERR_VALUE_OUT_OF_BOUNDS,
OSHMEM_ERR_FILE_READ_FAILURE = ORTE_ERR_FILE_READ_FAILURE,
OSHMEM_ERR_FILE_WRITE_FAILURE = ORTE_ERR_FILE_WRITE_FAILURE,
OSHMEM_ERR_FILE_OPEN_FAILURE = ORTE_ERR_FILE_OPEN_FAILURE,
OSHMEM_ERR_RECV_LESS_THAN_POSTED = ORTE_ERR_RECV_LESS_THAN_POSTED,
OSHMEM_ERR_RECV_MORE_THAN_POSTED = ORTE_ERR_RECV_MORE_THAN_POSTED,
OSHMEM_ERR_NO_MATCH_YET = ORTE_ERR_NO_MATCH_YET,
OSHMEM_ERR_BUFFER = ORTE_ERR_BUFFER,
OSHMEM_ERR_REQUEST = ORTE_ERR_REQUEST,
OSHMEM_ERR_NO_CONNECTION_ALLOWED = ORTE_ERR_NO_CONNECTION_ALLOWED,
OSHMEM_ERR_CONNECTION_REFUSED = ORTE_ERR_CONNECTION_REFUSED ,
OSHMEM_ERR_CONNECTION_FAILED = ORTE_ERR_CONNECTION_FAILED,
OSHMEM_PACK_MISMATCH = ORTE_ERR_PACK_MISMATCH,
OSHMEM_ERR_PACK_FAILURE = ORTE_ERR_PACK_FAILURE,
OSHMEM_ERR_UNPACK_FAILURE = ORTE_ERR_UNPACK_FAILURE,
OSHMEM_ERR_COMM_FAILURE = ORTE_ERR_COMM_FAILURE,
OSHMEM_UNPACK_INADEQUATE_SPACE = ORTE_ERR_UNPACK_INADEQUATE_SPACE,
OSHMEM_UNPACK_READ_PAST_END_OF_BUFFER = ORTE_ERR_UNPACK_READ_PAST_END_OF_BUFFER,
OSHMEM_ERR_TYPE_MISMATCH = ORTE_ERR_TYPE_MISMATCH,
OSHMEM_ERR_COMPARE_FAILURE = ORTE_ERR_COMPARE_FAILURE,
OSHMEM_ERR_COPY_FAILURE = ORTE_ERR_COPY_FAILURE,
OSHMEM_ERR_UNKNOWN_DATA_TYPE = ORTE_ERR_UNKNOWN_DATA_TYPE,
OSHMEM_ERR_DATA_TYPE_REDEF = ORTE_ERR_DATA_TYPE_REDEF,
OSHMEM_ERR_DATA_OVERWRITE_ATTEMPT = ORTE_ERR_DATA_OVERWRITE_ATTEMPT
};
/* C datatypes */
/*
* SHMEM_Init_thread constants
* Do not change the order of these without also modifying mpif.h.in.
*/
enum {
SHMEM_NULL = 0,
SHMEM_CHAR,
SHMEM_UCHAR,
SHMEM_SHORT,
SHMEM_USHORT,
SHMEM_INT,
SHMEM_UINT,
SHMEM_LONG,
SHMEM_ULONG,
SHMEM_LLONG,
SHMEM_INT32_T,
SHMEM_INT64_T,
SHMEM_ULLONG,
SHMEM_FLOAT,
SHMEM_DOUBLE,
SHMEM_LDOUBLE,
SHMEM_FINT,
SHMEM_FINT4,
SHMEM_FINT8
};
/*
* Miscellaneous constants
*/
#define SHMEM_ANY_SOURCE -1 /* match any source rank */
#define SHMEM_PROC_NULL -2 /* rank of null process */
#define SHMEM_UNDEFINED -32766 /* undefined stuff */
#ifndef UNREFERENCED_PARAMETER
#define UNREFERENCED_PARAMETER(P) ((void)P)
#endif
#define OSHMEM_PREDEFINED_GLOBAL(type, global) ((type) ((void *) &(global)))
#if OPAL_WANT_MEMCHECKER
#define MEMCHECKER(x) do { \
x; \
} while(0)
#else
#define MEMCHECKER(x)
#endif /* OPAL_WANT_MEMCHECKER */
#endif /* OSHMEM_CONSTANTS_H */

View File

@@ -1,25 +0,0 @@
/*
* This file is autogenerated by autogen.pl. Do not edit this file by hand.
*/
#ifndef OSHMEM_FRAMEWORKS_H
#define OSHMEM_FRAMEWORKS_H
#include <opal/mca/base/mca_base_framework.h>
extern mca_base_framework_t oshmem_atomic_base_framework;
extern mca_base_framework_t oshmem_memheap_base_framework;
extern mca_base_framework_t oshmem_scoll_base_framework;
extern mca_base_framework_t oshmem_spml_base_framework;
extern mca_base_framework_t oshmem_sshmem_base_framework;
static mca_base_framework_t *oshmem_frameworks[] = {
&oshmem_atomic_base_framework,
&oshmem_memheap_base_framework,
&oshmem_scoll_base_framework,
&oshmem_spml_base_framework,
&oshmem_sshmem_base_framework,
NULL
};
#endif /* OSHMEM_FRAMEWORKS_H */

View File

@@ -1,25 +0,0 @@
/*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef SHMEM_TYPES_H
#define SHMEM_TYPES_H
/*
* Predefine some internal types so we dont need all the include
* dependencies.
*/
struct ompi_proc_t;
struct oshmem_group_t;
struct oshmem_op_t;
#endif

View File

@@ -1,30 +0,0 @@
/*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
* This file should be included by any file that needs full
* version information for the OSHMEM project
*/
#ifndef OSHMEM_VERSIONS_H
#define OSHMEM_VERSIONS_H
#define OSHMEM_MAJOR_VERSION 3
#define OSHMEM_MINOR_VERSION 1
#define OSHMEM_RELEASE_VERSION 2
#define OSHMEM_GREEK_VERSION ""
#define OSHMEM_WANT_REPO_REV @OSHMEM_WANT_REPO_REV@
#define OSHMEM_REPO_REV "v3.1.2"
#ifdef OSHMEM_VERSION
/* If we included version.h, we want the real version, not the
stripped (no-r number) version */
#undef OSHMEM_VERSION
#endif
#define OSHMEM_VERSION "3.1.2"
#endif

View File

@@ -1,67 +0,0 @@
/* -*- c -*-
*
* Copyright (c) 2013 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2013 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
* Function: - OS, CPU and compiler dependent configuration
*/
#ifndef OSHMEM_CONFIG_H
#define OSHMEM_CONFIG_H
/* Need to include a bunch of infrastructure from the OMPI layer */
#include "ompi_config.h"
#define OSHMEM_IDENT_STRING OPAL_IDENT_STRING
#if defined(__WINDOWS__)
# if defined(_USRDLL) /* building shared libraries (.DLL) */
# if defined(OSHMEM_EXPORTS)
# define OSHMEM_DECLSPEC __declspec(dllexport)
# define OSHMEM_MODULE_DECLSPEC
# else
# define OSHMEM_DECLSPEC __declspec(dllimport)
# if defined(OSHMEM_MODULE_EXPORTS)
# define OSHMEM_MODULE_DECLSPEC __declspec(dllexport)
# else
# define OSHMEM_MODULE_DECLSPEC __declspec(dllimport)
# endif /* defined(OSHMEM_MODULE_EXPORTS) */
# endif /* defined(OSHMEM_EXPORTS) */
# else /* building static library */
# if defined(OSHMEM_IMPORTS)
# define OSHMEM_DECLSPEC __declspec(dllimport)
# else
# define OSHMEM_DECLSPEC
# endif /* defined(OSHMEM_IMPORTS) */
# define OSHMEM_MODULE_DECLSPEC
# endif /* defined(_USRDLL) */
#else
# if OPAL_C_HAVE_VISIBILITY
# ifndef OSHMEM_DECLSPEC
# define OSHMEM_DECLSPEC __opal_attribute_visibility__("default")
# endif
# ifndef OSHMEM_MODULE_DECLSPEC
# define OSHMEM_MODULE_DECLSPEC __opal_attribute_visibility__("default")
# endif
# else
# ifndef OSHMEM_DECLSPEC
# define OSHMEM_DECLSPEC
# endif
# ifndef OSHMEM_MODULE_DECLSPEC
# define OSHMEM_MODULE_DECLSPEC
# endif
# endif
#endif /* defined(__WINDOWS__) */
#endif

View File

@@ -1,546 +0,0 @@
/*
* Copyright (c) 2014-2016 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2014 Intel, Inc. All rights reserved
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef PSHMEM_SHMEM_H
#define PSHMEM_SHMEM_H
#include <stddef.h> /* include for ptrdiff_t */
#include <stdint.h> /* include for fixed width types */
#if defined(c_plusplus) || defined(__cplusplus)
# include <complex>
# define OSHMEM_COMPLEX_TYPE(type) std::complex<type>
#else
# include <complex.h>
# define OSHMEM_COMPLEX_TYPE(type) type complex
#endif
#ifndef OSHMEM_DECLSPEC
# if defined(OPAL_C_HAVE_VISIBILITY) && (OPAL_C_HAVE_VISIBILITY == 1)
# define OSHMEM_DECLSPEC __attribute__((visibility("default")))
# else
# define OSHMEM_DECLSPEC
# endif
#endif
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
#define OSHMEMP_HAVE_C11 1
#else
#define OSHMEMP_HAVE_C11 0
#endif
#include <pshmemx.h>
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* Profiling API
*/
/*
* Initialization routines
*/
OSHMEM_DECLSPEC void pshmem_init(void);
OSHMEM_DECLSPEC void pshmem_global_exit(int status);
/*
* Finalization routines
*/
OSHMEM_DECLSPEC void pshmem_finalize(void);
/*
* Query routines
*/
OSHMEM_DECLSPEC int pshmem_n_pes(void);
OSHMEM_DECLSPEC int pshmem_my_pe(void);
/*
* Accessability routines
*/
OSHMEM_DECLSPEC int pshmem_pe_accessible(int pe);
OSHMEM_DECLSPEC int pshmem_addr_accessible(const void *addr, int pe);
/*
* Symmetric heap routines
*/
OSHMEM_DECLSPEC void* pshmem_malloc(size_t size);
OSHMEM_DECLSPEC void* pshmem_align(size_t align, size_t size);
OSHMEM_DECLSPEC void* pshmem_realloc(void *ptr, size_t size);
OSHMEM_DECLSPEC void pshmem_free(void* ptr);
/*
* Remote pointer operations
*/
OSHMEM_DECLSPEC void *pshmem_ptr(const void *ptr, int pe);
/*
* Elemental put routines
*/
OSHMEM_DECLSPEC void pshmem_char_p(char* addr, char value, int pe);
OSHMEM_DECLSPEC void pshmem_short_p(short* addr, short value, int pe);
OSHMEM_DECLSPEC void pshmem_int_p(int* addr, int value, int pe);
OSHMEM_DECLSPEC void pshmem_long_p(long* addr, long value, int pe);
OSHMEM_DECLSPEC void pshmem_float_p(float* addr, float value, int pe);
OSHMEM_DECLSPEC void pshmem_double_p(double* addr, double value, int pe);
OSHMEM_DECLSPEC void pshmem_longlong_p(long long* addr, long long value, int pe);
OSHMEM_DECLSPEC void pshmem_longdouble_p(long double* addr, long double value, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_p(dst, val, pe) \
_Generic(&*(dst), \
char*: pshmem_char_p, \
short*: pshmem_short_p, \
int*: pshmem_int_p, \
long*: pshmem_long_p, \
long long*: pshmem_longlong_p, \
float*: pshmem_float_p, \
double*: pshmem_double_p, \
long double*: pshmem_longdouble_p)(dst, val, pe)
#endif
/*
* Block data put routines
*/
OSHMEM_DECLSPEC void pshmem_char_put(char *target, const char *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_short_put(short *target, const short *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_int_put(int* target, const int* source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_long_put(long *target, const long *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_float_put(float *target, const float *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_double_put(double *target, const double *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longlong_put(long long *target, const long long *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longdouble_put(long double *target, const long double *source, size_t len, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_put(dst, src, len, pe) \
_Generic(&*(dst), \
char*: pshmem_char_put, \
short*: pshmem_short_put, \
int*: pshmem_int_put, \
long*: pshmem_long_put, \
long long*: pshmem_longlong_put, \
float*: pshmem_float_put, \
double*: pshmem_double_put, \
long double*: pshmem_longdouble_put)(dst, src, len, pe)
#endif
OSHMEM_DECLSPEC void pshmem_put8(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_put16(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_put32(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_put64(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_put128(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_putmem(void *target, const void *source, size_t len, int pe);
/*
* Strided put routines
*/
OSHMEM_DECLSPEC void pshmem_char_iput(char* target, const char* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_short_iput(short* target, const short* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_int_iput(int* target, const int* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_long_iput(long* target, const long* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_float_iput(float* target, const float* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_double_iput(double* target, const double* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longlong_iput(long long* target, const long long* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longdouble_iput(long double* target, const long double* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_iput(dst, src, tst, sst, len, pe) \
_Generic(&*(dst), \
char*: pshmem_char_iput, \
short*: pshmem_short_iput, \
int*: pshmem_int_iput, \
long*: pshmem_long_iput, \
long long*: pshmem_longlong_iput, \
float*: pshmem_float_iput, \
double*: pshmem_double_iput, \
long double*: pshmem_longdouble_iput)(dst, src, tst, sst, len, pe)
#endif
OSHMEM_DECLSPEC void pshmem_iput8(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_iput16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_iput32(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_iput64(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_iput128(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
/*
* Nonblocking put routines
*/
OSHMEM_DECLSPEC void pshmem_putmem_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_char_put_nbi(char *target, const char *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_short_put_nbi(short *target, const short *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_int_put_nbi(int* target, const int* source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_long_put_nbi(long *target, const long *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longlong_put_nbi(long long *target, const long long *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_float_put_nbi(float *target, const float *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_double_put_nbi(double *target, const double *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longdouble_put_nbi(long double *target, const long double *source, size_t len, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_put_nbi(dst, src, len, pe) \
_Generic(&*(dst), \
char*: pshmem_char_put_nbi, \
short*: pshmem_short_put_nbi, \
int*: pshmem_int_put_nbi, \
long*: pshmem_long_put_nbi, \
long long*: pshmem_longlong_put_nbi, \
float*: pshmem_float_put_nbi, \
double*: pshmem_double_put_nbi, \
long double*: pshmem_longdouble_put_nbi)(dst, src, len, pe)
#endif
OSHMEM_DECLSPEC void pshmem_put8_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_put16_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_put32_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_put64_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_put128_nbi(void *target, const void *source, size_t len, int pe);
/*
* Elemental get routines
*/
OSHMEM_DECLSPEC char pshmem_char_g(const char* addr, int pe);
OSHMEM_DECLSPEC short pshmem_short_g(const short* addr, int pe);
OSHMEM_DECLSPEC int pshmem_int_g(const int* addr, int pe);
OSHMEM_DECLSPEC long pshmem_long_g(const long* addr, int pe);
OSHMEM_DECLSPEC float pshmem_float_g(const float* addr, int pe);
OSHMEM_DECLSPEC double pshmem_double_g(const double* addr, int pe);
OSHMEM_DECLSPEC long long pshmem_longlong_g(const long long* addr, int pe);
OSHMEM_DECLSPEC long double pshmem_longdouble_g(const long double* addr, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_g(addr, pe) \
_Generic(&*(dst), \
char*: pshmem_char_g, \
short*: pshmem_short_g, \
int*: pshmem_int_g, \
long*: pshmem_long_g, \
long long*: pshmem_longlong_g, \
float*: pshmem_float_g, \
double*: pshmem_double_g, \
long double*: pshmem_longdouble_g)(addr, pe)
#endif
/*
* Block data get routines
*/
OSHMEM_DECLSPEC void pshmem_char_get(char *target, const char *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_short_get(short *target, const short *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_int_get(int *target, const int *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_long_get(long *target, const long *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_float_get(float *target, const float *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_double_get(double *target, const double *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longlong_get(long long *target, const long long *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longdouble_get(long double *target, const long double *source, size_t len, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_get(dst, src, len, pe) \
_Generic(&*(dst), \
char*: pshmem_char_get, \
short*: pshmem_short_get, \
int*: pshmem_int_get, \
long*: pshmem_long_get, \
long long*: pshmem_longlong_get, \
float*: pshmem_float_get, \
double*: pshmem_double_get, \
long double*: pshmem_longdouble_get)(dst, src, len, pe)
#endif
OSHMEM_DECLSPEC void pshmem_get8(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_get16(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_get32(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_get64(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_get128(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_getmem(void *target, const void *source, size_t len, int pe);
/*
* Strided get routines
*/
OSHMEM_DECLSPEC void pshmem_char_iget(char* target, const char* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_short_iget(short* target, const short* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_int_iget(int* target, const int* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_float_iget(float* target, const float* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_double_iget(double* target, const double* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longlong_iget(long long* target, const long long* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longdouble_iget(long double* target, const long double* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_long_iget(long* target, const long* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_iget(dst, src, tst, sst, len, pe) \
_Generic(&*(dst), \
char*: pshmem_char_iget, \
short*: pshmem_short_iget, \
int*: pshmem_int_iget, \
long*: pshmem_long_iget, \
long long*: pshmem_longlong_iget, \
float*: pshmem_float_iget, \
double*: pshmem_double_iget, \
long double*: pshmem_longdouble_iget)(dst, src, tst, sst, len, pe)
#endif
OSHMEM_DECLSPEC void pshmem_iget8(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_iget16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_iget32(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_iget64(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_iget128(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
/*
* Nonblocking data get routines
*/
OSHMEM_DECLSPEC void pshmem_getmem_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_char_get_nbi(char *target, const char *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_short_get_nbi(short *target, const short *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_int_get_nbi(int *target, const int *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_long_get_nbi(long *target, const long *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longlong_get_nbi(long long *target, const long long *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_float_get_nbi(float *target, const float *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_double_get_nbi(double *target, const double *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_longdouble_get_nbi(long double *target, const long double *source, size_t len, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_get_nbi(dst, src, len, pe) \
_Generic(&*(dst), \
char*: pshmem_char_get_nbi, \
short*: pshmem_short_get_nbi, \
int*: pshmem_int_get_nbi, \
long*: pshmem_long_get_nbi, \
long long*: pshmem_longlong_get_nbi, \
float*: pshmem_float_get_nbi, \
double*: pshmem_double_get_nbi, \
long double*: pshmem_longdouble_get_nbi)(dst, src, len, pe)
#endif
OSHMEM_DECLSPEC void pshmem_get8_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_get16_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_get32_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_get64_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_get128_nbi(void *target, const void *source, size_t len, int pe);
/*
* Atomic operations
*/
/* Atomic swap */
OSHMEM_DECLSPEC int pshmem_int_swap(int *target, int value, int pe);
OSHMEM_DECLSPEC long pshmem_long_swap(long *target, long value, int pe);
OSHMEM_DECLSPEC long long pshmem_longlong_swap(long long*target, long long value, int pe);
OSHMEM_DECLSPEC float pshmem_float_swap(float *target, float value, int pe);
OSHMEM_DECLSPEC double pshmem_double_swap(double *target, double value, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_swap(dst, val, pe) \
_Generic(&*(dst), \
int*: pshmem_int_swap, \
long*: pshmem_long_swap, \
long long*: pshmem_longlong_swap, \
float*: pshmem_float_swap, \
double*: pshmem_double_swap)(dst, val, pe)
#endif
/* Atomic set */
OSHMEM_DECLSPEC void pshmem_int_set(int *target, int value, int pe);
OSHMEM_DECLSPEC void pshmem_long_set(long *target, long value, int pe);
OSHMEM_DECLSPEC void pshmem_longlong_set(long long*target, long long value, int pe);
OSHMEM_DECLSPEC void pshmem_float_set(float *target, float value, int pe);
OSHMEM_DECLSPEC void pshmem_double_set(double *target, double value, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_set(dst, val, pe) \
_Generic(&*(dst), \
int*: pshmem_int_set, \
long*: pshmem_long_set, \
long long*: pshmem_longlong_set, \
float*: pshmem_float_set, \
double*: pshmem_double_set)(dst, val, pe)
#endif
/* Atomic conditional swap */
OSHMEM_DECLSPEC int pshmem_int_cswap(int *target, int cond, int value, int pe);
OSHMEM_DECLSPEC long pshmem_long_cswap(long *target, long cond, long value, int pe);
OSHMEM_DECLSPEC long long pshmem_longlong_cswap(long long *target, long long cond, long long value, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_cswap(dst, cond, val, pe) \
_Generic(&*(dst), \
int*: pshmem_int_cswap, \
long*: pshmem_long_cswap, \
long long*: pshmem_longlong_cswap)(dst, cond, val, pe)
#endif
/* Atomic Fetch&Add */
OSHMEM_DECLSPEC int pshmem_int_fadd(int *target, int value, int pe);
OSHMEM_DECLSPEC long pshmem_long_fadd(long *target, long value, int pe);
OSHMEM_DECLSPEC long long pshmem_longlong_fadd(long long *target, long long value, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_fadd(dst, val, pe) \
_Generic(&*(dst), \
int*: pshmem_int_fadd, \
long*: pshmem_long_fadd, \
long long*: pshmem_longlong_fadd)(dst, val, pe)
#endif
/* Atomic Fetch */
OSHMEM_DECLSPEC int pshmem_int_fetch(const int *target, int pe);
OSHMEM_DECLSPEC long pshmem_long_fetch(const long *target, int pe);
OSHMEM_DECLSPEC long long pshmem_longlong_fetch(const long long *target, int pe);
OSHMEM_DECLSPEC float pshmem_float_fetch(const float *target, int pe);
OSHMEM_DECLSPEC double pshmem_double_fetch(const double *target, int pe);
#if OSHMEM_HAVE_C11
#define pshmem_fetch(dst, pe) \
_Generic(&*(dst), \
int*: pshmem_int_fetch, \
long*: pshmem_long_fetch, \
long long*: pshmem_longlong_fetch, \
float*: pshmem_float_fetch, \
double*: pshmem_double_fetch)(dst, pe)
#endif
/* Atomic Fetch&Inc */
OSHMEM_DECLSPEC int pshmem_int_finc(int *target, int pe);
OSHMEM_DECLSPEC long pshmem_long_finc(long *target, int pe);
OSHMEM_DECLSPEC long long pshmem_longlong_finc(long long *target, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_finc(dst, val, pe) \
_Generic(&*(dst), \
int*: pshmem_int_finc, \
long*: pshmem_long_finc, \
long long*: pshmem_longlong_finc)(dst, val, pe)
#endif
/* Atomic Add*/
OSHMEM_DECLSPEC void pshmem_int_add(int *target, int value, int pe);
OSHMEM_DECLSPEC void pshmem_long_add(long *target, long value, int pe);
OSHMEM_DECLSPEC void pshmem_longlong_add(long long *target, long long value, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_add(dst, val, pe) \
_Generic(&*(dst), \
int*: pshmem_int_add, \
long*: pshmem_long_add, \
long long*: pshmem_longlong_add)(dst, val, pe)
#endif
/* Atomic Inc */
OSHMEM_DECLSPEC void pshmem_int_inc(int *target, int pe);
OSHMEM_DECLSPEC void pshmem_long_inc(long *target, int pe);
OSHMEM_DECLSPEC void pshmem_longlong_inc(long long *target, int pe);
#if OSHMEMP_HAVE_C11
#define pshmem_inc(dst, pe) \
_Generic(&*(dst), \
int*: pshmem_int_inc, \
long*: pshmem_long_inc, \
long long*: pshmem_longlong_inc)(dst, pe)
#endif
/*
* Lock functions
*/
OSHMEM_DECLSPEC void pshmem_set_lock(volatile long *lock);
OSHMEM_DECLSPEC void pshmem_clear_lock(volatile long *lock);
OSHMEM_DECLSPEC int pshmem_test_lock(volatile long *lock);
/*
* P2P sync routines
*/
OSHMEM_DECLSPEC void pshmem_short_wait(volatile short *addr, short value);
OSHMEM_DECLSPEC void pshmem_int_wait(volatile int *addr, int value);
OSHMEM_DECLSPEC void pshmem_long_wait(volatile long *addr, long value);
OSHMEM_DECLSPEC void pshmem_longlong_wait(volatile long long *addr, long long value);
OSHMEM_DECLSPEC void pshmem_wait(volatile long *addr, long value);
OSHMEM_DECLSPEC void pshmem_short_wait_until(volatile short *addr, int cmp, short value);
OSHMEM_DECLSPEC void pshmem_int_wait_until(volatile int *addr, int cmp, int value);
OSHMEM_DECLSPEC void pshmem_long_wait_until(volatile long *addr, int cmp, long value);
OSHMEM_DECLSPEC void pshmem_longlong_wait_until(volatile long long *addr, int cmp, long long value);
OSHMEM_DECLSPEC void pshmem_wait_until(volatile long *addr, int cmp, long value);
/*
* Barrier sync routines
*/
OSHMEM_DECLSPEC void pshmem_barrier(int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void pshmem_barrier_all(void);
OSHMEM_DECLSPEC void pshmem_fence(void);
OSHMEM_DECLSPEC void pshmem_quiet(void);
/*
* Collective routines
*/
OSHMEM_DECLSPEC void pshmem_broadcast32(void *target, const void *source, size_t nlong, int PE_root, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void pshmem_broadcast64(void *target, const void *source, size_t nlong, int PE_root, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void pshmem_broadcast(void *target, const void *source, size_t nlong, int PE_root, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void pshmem_collect32(void *target, const void *source, size_t nlong, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void pshmem_collect64(void *target, const void *source, size_t nlong, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void pshmem_fcollect32(void *target, const void *source, size_t nlong, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void pshmem_fcollect64(void *target, const void *source, size_t nlong, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void pshmem_alltoall32(void *target, const void *source, size_t nelems, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void pshmem_alltoall64(void *target, const void *source, size_t nelems, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void pshmem_alltoalls32(void *target, const void *source, ptrdiff_t dst, ptrdiff_t sst, size_t nelems, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void pshmem_alltoalls64(void *target, const void *source, ptrdiff_t dst, ptrdiff_t sst, size_t nelems, int PE_start, int logPE_stride, int PE_size, long *pSync);
/*
* Reduction routines
*/
OSHMEM_DECLSPEC void pshmem_short_and_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_int_and_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_long_and_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_longlong_and_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_short_or_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_int_or_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_long_or_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_longlong_or_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_short_xor_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_int_xor_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_long_xor_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_longlong_xor_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_short_max_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_int_max_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_long_max_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_longlong_max_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_float_max_to_all(float *target, const float *source, int nreduce, int PE_start, int logPE_stride, int PE_size, float *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_double_max_to_all(double *target, const double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, double *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_longdouble_max_to_all(long double *target, const long double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long double *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_short_min_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_int_min_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_long_min_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_longlong_min_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_float_min_to_all(float *target, const float *source, int nreduce, int PE_start, int logPE_stride, int PE_size, float *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_double_min_to_all(double *target, const double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, double *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_longdouble_min_to_all(long double *target, const long double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long double *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_short_sum_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_int_sum_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_long_sum_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_longlong_sum_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_float_sum_to_all(float *target, const float *source, int nreduce, int PE_start, int logPE_stride, int PE_size, float *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_double_sum_to_all(double *target, const double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, double *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_longdouble_sum_to_all(long double *target, const long double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long double *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_complexf_sum_to_all(OSHMEM_COMPLEX_TYPE(float) *target, const OSHMEM_COMPLEX_TYPE(float) *source, int nreduce, int PE_start, int logPE_stride, int PE_size, OSHMEM_COMPLEX_TYPE(float) *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_complexd_sum_to_all(OSHMEM_COMPLEX_TYPE(double) *target, const OSHMEM_COMPLEX_TYPE(double) *source, int nreduce, int PE_start, int logPE_stride, int PE_size, OSHMEM_COMPLEX_TYPE(double) *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_short_prod_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_int_prod_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_long_prod_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_longlong_prod_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_float_prod_to_all(float *target, const float *source, int nreduce, int PE_start, int logPE_stride, int PE_size, float *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_double_prod_to_all(double *target, const double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, double *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_longdouble_prod_to_all(long double *target, const long double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long double *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_complexf_prod_to_all(OSHMEM_COMPLEX_TYPE(float) *target, const OSHMEM_COMPLEX_TYPE(float) *source, int nreduce, int PE_start, int logPE_stride, int PE_size, OSHMEM_COMPLEX_TYPE(float) *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmem_complexd_prod_to_all(OSHMEM_COMPLEX_TYPE(double) *target, const OSHMEM_COMPLEX_TYPE(double) *source, int nreduce, int PE_start, int logPE_stride, int PE_size, OSHMEM_COMPLEX_TYPE(double) *pWrk, long *pSync);
/*
* Platform specific cache management routines
*/
OSHMEM_DECLSPEC void pshmem_udcflush(void);
OSHMEM_DECLSPEC void pshmem_udcflush_line(void* target);
OSHMEM_DECLSPEC void pshmem_set_cache_inv(void);
OSHMEM_DECLSPEC void pshmem_set_cache_line_inv(void* target);
OSHMEM_DECLSPEC void pshmem_clear_cache_inv(void);
OSHMEM_DECLSPEC void pshmem_clear_cache_line_inv(void* target);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif /* PSHMEM_SHMEM_H */

View File

@@ -1,220 +0,0 @@
/*
* Copyright (c) 2014 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2014 Intel, Inc. All rights reserved
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef PSHMEM_SHMEMX_H
#define PSHMEM_SHMEMX_H
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* Legacy API
* old init/destruct functions - not in the open shmem spec but still supported
*/
OSHMEM_DECLSPEC void pstart_pes(int npes);
OSHMEM_DECLSPEC int p_num_pes(void);
OSHMEM_DECLSPEC int p_my_pe(void);
OSHMEM_DECLSPEC void* pshmalloc(size_t size);
OSHMEM_DECLSPEC void* pshmemalign(size_t align, size_t size);
OSHMEM_DECLSPEC void* pshrealloc(void *ptr, size_t size);
OSHMEM_DECLSPEC void pshfree(void* ptr);
OSHMEM_DECLSPEC void pshmem_char_put(char *target, const char *source, size_t len, int pe);
OSHMEM_DECLSPEC void pshmem_char_get(char *target, const char *source, size_t len, int pe);
/*
* All OpenSHMEM extension APIs that are not part of this specification must be defined in the shmemx.h include
* file. These extensions shall use the shmemx_ prefix for all routine, variable, and constant names.
*/
/*
* Elemental put routines
*/
OSHMEM_DECLSPEC void pshmemx_int16_p(int16_t* addr, int16_t value, int pe);
OSHMEM_DECLSPEC void pshmemx_int32_p(int32_t* addr, int32_t value, int pe);
OSHMEM_DECLSPEC void pshmemx_int64_p(int64_t* addr, int64_t value, int pe);
/*
* Block data put routines
*/
/*
* Strided put routines
*/
/*
* Elemental get routines
*/
OSHMEM_DECLSPEC int16_t pshmemx_int16_g(const int16_t* addr, int pe);
OSHMEM_DECLSPEC int32_t pshmemx_int32_g(const int32_t* addr, int pe);
OSHMEM_DECLSPEC int64_t pshmemx_int64_g(const int64_t* addr, int pe);
/*
* Block data get routines
*/
/*
* Strided get routines
*/
/*
* Atomic operations
*/
/* Atomic swap */
OSHMEM_DECLSPEC int32_t pshmemx_int32_swap(int32_t *target, int32_t value, int pe);
OSHMEM_DECLSPEC int64_t pshmemx_int64_swap(int64_t *target, int64_t value, int pe);
/*Atomic set */
OSHMEM_DECLSPEC void pshmemx_int32_set(int32_t *target, int32_t value, int pe);
OSHMEM_DECLSPEC void pshmemx_int64_set(int64_t *target, int64_t value, int pe);
/* Atomic conditional swap */
OSHMEM_DECLSPEC int32_t pshmemx_int32_cswap(int32_t *target, int32_t cond, int32_t value, int pe);
OSHMEM_DECLSPEC int64_t pshmemx_int64_cswap(int64_t *target, int64_t cond, int64_t value, int pe);
/* Atomic Fetch&Add */
OSHMEM_DECLSPEC int32_t pshmemx_int32_fadd(int32_t *target, int32_t value, int pe);
OSHMEM_DECLSPEC int64_t pshmemx_int64_fadd(int64_t *target, int64_t value, int pe);
/* Atomic Fetch */
OSHMEM_DECLSPEC int32_t pshmemx_int32_fetch(const int32_t *target, int pe);
OSHMEM_DECLSPEC int64_t pshmemx_int64_fetch(const int64_t *target, int pe);
/* Atomic Fetch&Inc */
OSHMEM_DECLSPEC int32_t pshmemx_int32_finc(int32_t *target, int pe);
OSHMEM_DECLSPEC int64_t pshmemx_int64_finc(int64_t *target, int pe);
/* Atomic Add*/
OSHMEM_DECLSPEC void pshmemx_int32_add(int32_t *target, int32_t value, int pe);
OSHMEM_DECLSPEC void pshmemx_int64_add(int64_t *target, int64_t value, int pe);
/* Atomic Inc */
OSHMEM_DECLSPEC void pshmemx_int32_inc(int32_t *target, int pe);
OSHMEM_DECLSPEC void pshmemx_int64_inc(int64_t *target, int pe);
/*
* P2P sync routines
*/
OSHMEM_DECLSPEC void pshmemx_int32_wait(int32_t *addr, int32_t value);
OSHMEM_DECLSPEC void pshmemx_int64_wait(int64_t *addr, int64_t value);
OSHMEM_DECLSPEC void pshmemx_int32_wait_until(int32_t *addr, int cmp, int32_t value);
OSHMEM_DECLSPEC void pshmemx_int64_wait_until(int64_t *addr, int cmp, int64_t value);
/*
* Reduction routines
*/
OSHMEM_DECLSPEC void pshmemx_int16_and_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int32_and_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int64_and_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int16_or_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int32_or_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int64_or_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int16_xor_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int32_xor_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int64_xor_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int16_max_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int32_max_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int64_max_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int16_min_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int32_min_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int64_min_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int16_sum_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int32_sum_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int64_sum_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int16_prod_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int32_prod_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void pshmemx_int64_prod_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
/*
* Backward compatibility section
*/
#define pshmem_int16_p pshmemx_int16_p
#define pshmem_int32_p pshmemx_int32_p
#define pshmem_int64_p pshmemx_int64_p
#define pshmem_int16_g pshmemx_int16_g
#define pshmem_int32_g pshmemx_int32_g
#define pshmem_int64_g pshmemx_int64_g
#define pshmem_int32_swap pshmemx_int32_swap
#define pshmem_int64_swap pshmemx_int64_swap
#define pshmem_int32_set pshmemx_int32_set
#define pshmem_int64_set pshmemx_int64_set
#define pshmem_int32_cswap pshmemx_int32_cswap
#define pshmem_int64_cswap pshmemx_int64_cswap
#define pshmem_int32_fadd pshmemx_int32_fadd
#define pshmem_int64_fadd pshmemx_int64_fadd
#define pshmem_int32_fetch pshmemx_int32_fetch
#define pshmem_int64_fetch pshmemx_int64_fetch
#define pshmem_int32_finc pshmemx_int32_finc
#define pshmem_int64_finc pshmemx_int64_finc
#define pshmem_int32_add pshmemx_int32_add
#define pshmem_int64_add pshmemx_int64_add
#define pshmem_int32_inc pshmemx_int32_inc
#define pshmem_int64_inc pshmemx_int64_inc
#define pshmem_int32_wait pshmemx_int32_wait
#define pshmem_int64_wait pshmemx_int64_wait
#define pshmem_int32_wait_until pshmemx_int32_wait_until
#define pshmem_int64_wait_until pshmemx_int64_wait_until
#define pshmem_int16_and_to_all pshmemx_int16_and_to_all
#define pshmem_int32_and_to_all pshmemx_int32_and_to_all
#define pshmem_int64_and_to_all pshmemx_int64_and_to_all
#define pshmem_int16_or_to_all pshmemx_int16_or_to_all
#define pshmem_int32_or_to_all pshmemx_int32_or_to_all
#define pshmem_int64_or_to_all pshmemx_int64_or_to_all
#define pshmem_int16_xor_to_all pshmemx_int16_xor_to_all
#define pshmem_int32_xor_to_all pshmemx_int32_xor_to_all
#define pshmem_int64_xor_to_all pshmemx_int64_xor_to_all
#define pshmem_int16_max_to_all pshmemx_int16_max_to_all
#define pshmem_int32_max_to_all pshmemx_int32_max_to_all
#define pshmem_int64_max_to_all pshmemx_int64_max_to_all
#define pshmem_int16_min_to_all pshmemx_int16_min_to_all
#define pshmem_int32_min_to_all pshmemx_int32_min_to_all
#define pshmem_int64_min_to_all pshmemx_int64_min_to_all
#define pshmem_int16_sum_to_all pshmemx_int16_sum_to_all
#define pshmem_int32_sum_to_all pshmemx_int32_sum_to_all
#define pshmem_int64_sum_to_all pshmemx_int64_sum_to_all
#define pshmem_int16_prod_to_all pshmemx_int16_prod_to_all
#define pshmem_int32_prod_to_all pshmemx_int32_prod_to_all
#define pshmem_int64_prod_to_all pshmemx_int64_prod_to_all
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif /* PSHMEM_SHMEMX_H */

View File

@@ -1,47 +0,0 @@
/* oshmem/include/shmem-compat.h. This file contains OpenSHMEM lagacy API */
/*
* Copyright (c) 2014-2015 Mellanox Technologies, Inc.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef OSHMEM_SHMEM_COMPAT_H
#define OSHMEM_SHMEM_COMPAT_H
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* Legacy API
* old init/destruct functions - not in the open shmem spec but still supported
*/
OSHMEM_DECLSPEC int num_pes(void);
OSHMEM_DECLSPEC int my_pe(void);
OSHMEM_DECLSPEC void start_pes(int npes);
OSHMEM_DECLSPEC int _num_pes(void);
OSHMEM_DECLSPEC int _my_pe(void);
OSHMEM_DECLSPEC void* shmalloc(size_t size);
OSHMEM_DECLSPEC void* shmemalign(size_t align, size_t size);
OSHMEM_DECLSPEC void* shrealloc(void *ptr, size_t size);
OSHMEM_DECLSPEC void shfree(void* ptr);
OSHMEM_DECLSPEC void shmem_char_put(char *target, const char *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_char_get(char *target, const char *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_put(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_get(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void globalexit(int status);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif /* OSHMEM_SHMEM_COMPAT_H */

View File

@@ -1,65 +0,0 @@
! Emacs: -*- mode: fortran; -*-
!
! Copyright (c) 2013 Mellanox Technologies, Inc.
! All rights reserved.
! Copyright (c) 2014 Cisco Systems, Inc. All rights reserved.
! $COPYRIGHT$
!
! Additional copyrights may follow
!
! $HEADER$
!
!
! TODO: exact values should be found during configuration
!
integer SHMEM_MAJOR_VERSION
parameter ( SHMEM_MAJOR_VERSION = 1 )
integer SHMEM_MINOR_VERSION
parameter ( SHMEM_MINOR_VERSION = 3 )
integer SHMEM_MAX_NAME_LEN
parameter ( SHMEM_MAX_NAME_LEN = 256-1 )
character(LEN = SHMEM_MAX_NAME_LEN) SHMEM_VENDOR_STRING
parameter ( SHMEM_VENDOR_STRING = "http://www.open-mpi.org/" )
integer SHMEM_BARRIER_SYNC_SIZE
parameter ( SHMEM_BARRIER_SYNC_SIZE = 4 )
integer SHMEM_BCAST_SYNC_SIZE
parameter ( SHMEM_BCAST_SYNC_SIZE = 8 )
integer SHMEM_COLLECT_SYNC_SIZE
parameter ( SHMEM_COLLECT_SYNC_SIZE = 8 )
integer SHMEM_REDUCE_SYNC_SIZE
parameter ( SHMEM_REDUCE_SYNC_SIZE = 8 )
integer SHMEM_SYNC_VALUE
parameter ( SHMEM_SYNC_VALUE = -1 )
integer SHMEM_REDUCE_MIN_WRKDATA_SIZE
parameter ( SHMEM_REDUCE_MIN_WRKDATA_SIZE = 8 )
!
! waits
!
integer SHMEM_CMP_EQ
parameter ( SHMEM_CMP_EQ = 0 )
integer SHMEM_CMP_NE
parameter ( SHMEM_CMP_NE = 1 )
integer SHMEM_CMP_GT
parameter ( SHMEM_CMP_GT = 2 )
integer SHMEM_CMP_LE
parameter ( SHMEM_CMP_LE = 3 )
integer SHMEM_CMP_LT
parameter ( SHMEM_CMP_LT = 4 )
integer SHMEM_CMP_GE
parameter ( SHMEM_CMP_GE = 5 )
logical shmem_pe_accessible
logical shmem_addr_accessible
integer*8 shmem_ptr

View File

@@ -1,635 +0,0 @@
/* oshmem/include/shmem.h. Generated from shmem.h.in by configure. */
/*
* Copyright (c) 2014-2016 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2014 Intel, Inc. All rights reserved
* Copyright (c) 2016 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2017 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef OSHMEM_SHMEM_H
#define OSHMEM_SHMEM_H
#include <stddef.h> /* include for ptrdiff_t */
#include <stdint.h> /* include for fixed width types */
#if defined(c_plusplus) || defined(__cplusplus)
# include <complex>
# define OSHMEM_COMPLEX_TYPE(type) std::complex<type>
#else
# include <complex.h>
# define OSHMEM_COMPLEX_TYPE(type) type complex
#endif
/*
* SHMEM version
*/
#define OSHMEM_MAJOR_VERSION 3
#define OSHMEM_MINOR_VERSION 1
#define OSHMEM_RELEASE_VERSION 2
#ifndef OSHMEM_DECLSPEC
# if defined(OPAL_C_HAVE_VISIBILITY) && (OPAL_C_HAVE_VISIBILITY == 1)
# define OSHMEM_DECLSPEC __attribute__((visibility("default")))
# else
# define OSHMEM_DECLSPEC
# endif
#endif
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
#define OSHMEM_HAVE_C11 1
#else
#define OSHMEM_HAVE_C11 0
#endif
#include <shmem-compat.h>
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* OpenSHMEM API (www.openshmem.org)
*/
/*
* Environment variables
*/
/* Following environment variables are Mellanox extension */
/* size of symmetric heap in bytes.
* Can be qualified with the letter 'K', 'M', 'G' or 'T'
*/
#define SHMEM_HEAP_SIZE "SHMEM_SYMMETRIC_HEAP_SIZE"
/*
* Type of allocator used by symmetric heap
*/
#define SHMEM_HEAP_TYPE "SHMEM_SYMMETRIC_HEAP_ALLOCATOR"
/*
* Constants and definitions
*/
#define SHMEM_MAJOR_VERSION 1
#define SHMEM_MINOR_VERSION 3
#define SHMEM_VENDOR_STRING "http://www.open-mpi.org/"
#define SHMEM_MAX_NAME_LEN 256
/*
* Deprecated (but still valid) names
*/
#define _SHMEM_MAJOR_VERSION SHMEM_MAJOR_VERSION
#define _SHMEM_MINOR_VERSION SHMEM_MINOR_VERSION
#define _SHMEM_MAX_NAME_LEN SHMEM_MAX_NAME_LEN
#ifndef OSHMEM_SPEC_VERSION
#define OSHMEM_SPEC_VERSION (SHMEM_MAJOR_VERSION * 10000 + SHMEM_MINOR_VERSION * 100)
#endif
enum shmem_wait_ops {
SHMEM_CMP_EQ,
SHMEM_CMP_NE,
SHMEM_CMP_GT,
SHMEM_CMP_LE,
SHMEM_CMP_LT,
SHMEM_CMP_GE
};
/*
* Deprecated (but still valid) names
*/
#define _SHMEM_CMP_EQ SHMEM_CMP_EQ
#define _SHMEM_CMP_NE SHMEM_CMP_NE
#define _SHMEM_CMP_GT SHMEM_CMP_GT
#define _SHMEM_CMP_LE SHMEM_CMP_LE
#define _SHMEM_CMP_LT SHMEM_CMP_LT
#define _SHMEM_CMP_GE SHMEM_CMP_GE
#define _SHMEM_BARRIER_SYNC_SIZE (1)
#define _SHMEM_BCAST_SYNC_SIZE (1 + _SHMEM_BARRIER_SYNC_SIZE)
#define _SHMEM_COLLECT_SYNC_SIZE (1 + _SHMEM_BCAST_SYNC_SIZE)
#define _SHMEM_REDUCE_SYNC_SIZE (1 + _SHMEM_BCAST_SYNC_SIZE)
#define _SHMEM_ALLTOALL_SYNC_SIZE (_SHMEM_BARRIER_SYNC_SIZE)
#define _SHMEM_ALLTOALLS_SYNC_SIZE (_SHMEM_BARRIER_SYNC_SIZE)
#define _SHMEM_REDUCE_MIN_WRKDATA_SIZE (1)
#define _SHMEM_SYNC_VALUE (-1)
#define SHMEM_BARRIER_SYNC_SIZE _SHMEM_BARRIER_SYNC_SIZE
#define SHMEM_BCAST_SYNC_SIZE _SHMEM_BCAST_SYNC_SIZE
#define SHMEM_COLLECT_SYNC_SIZE _SHMEM_COLLECT_SYNC_SIZE
#define SHMEM_REDUCE_SYNC_SIZE _SHMEM_REDUCE_SYNC_SIZE
#define SHMEM_ALLTOALL_SYNC_SIZE _SHMEM_ALLTOALL_SYNC_SIZE
#define SHMEM_ALLTOALLS_SYNC_SIZE _SHMEM_ALLTOALLS_SYNC_SIZE
#define SHMEM_REDUCE_MIN_WRKDATA_SIZE _SHMEM_REDUCE_MIN_WRKDATA_SIZE
#define SHMEM_SYNC_VALUE _SHMEM_SYNC_VALUE
/*
* Initialization routines
*/
OSHMEM_DECLSPEC void shmem_init(void);
OSHMEM_DECLSPEC void shmem_finalize(void);
OSHMEM_DECLSPEC void shmem_global_exit(int status);
/*
* Query routines
*/
OSHMEM_DECLSPEC int shmem_n_pes(void);
OSHMEM_DECLSPEC int shmem_my_pe(void);
/*
* Info routines
*/
OSHMEM_DECLSPEC void shmem_info_get_version(int *major, int *minor);
OSHMEM_DECLSPEC void shmem_info_get_name(char *name);
/*
* Accessability routines
*/
OSHMEM_DECLSPEC int shmem_pe_accessible(int pe);
OSHMEM_DECLSPEC int shmem_addr_accessible(const void *addr, int pe);
/*
* Symmetric heap routines
*/
OSHMEM_DECLSPEC void* shmem_malloc(size_t size);
OSHMEM_DECLSPEC void* shmem_align(size_t align, size_t size);
OSHMEM_DECLSPEC void* shmem_realloc(void *ptr, size_t size);
OSHMEM_DECLSPEC void shmem_free(void* ptr);
/*
* Remote pointer operations
*/
OSHMEM_DECLSPEC void *shmem_ptr(const void *ptr, int pe);
/*
* Elemental put routines
*/
OSHMEM_DECLSPEC void shmem_char_p(char* addr, char value, int pe);
OSHMEM_DECLSPEC void shmem_short_p(short* addr, short value, int pe);
OSHMEM_DECLSPEC void shmem_int_p(int* addr, int value, int pe);
OSHMEM_DECLSPEC void shmem_long_p(long* addr, long value, int pe);
OSHMEM_DECLSPEC void shmem_float_p(float* addr, float value, int pe);
OSHMEM_DECLSPEC void shmem_double_p(double* addr, double value, int pe);
OSHMEM_DECLSPEC void shmem_longlong_p(long long* addr, long long value, int pe);
OSHMEM_DECLSPEC void shmem_longdouble_p(long double* addr, long double value, int pe);
#if OSHMEM_HAVE_C11
#define shmem_p(dst, val, pe) \
_Generic(&*(dst), \
char*: shmem_char_p, \
short*: shmem_short_p, \
int*: shmem_int_p, \
long*: shmem_long_p, \
long long*: shmem_longlong_p, \
float*: shmem_float_p, \
double*: shmem_double_p, \
long double*: shmem_longdouble_p)(dst, val, pe)
#endif
/*
* Block data put routines
*/
OSHMEM_DECLSPEC void shmem_char_put(char *target, const char *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_short_put(short *target, const short *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_int_put(int* target, const int* source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_long_put(long *target, const long *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_float_put(float *target, const float *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_double_put(double *target, const double *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longlong_put(long long *target, const long long *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longdouble_put(long double *target, const long double *source, size_t len, int pe);
#if OSHMEM_HAVE_C11
#define shmem_put(dst, src, len, pe) \
_Generic(&*(dst), \
char*: shmem_char_put, \
short*: shmem_short_put, \
int*: shmem_int_put, \
long*: shmem_long_put, \
long long*: shmem_longlong_put, \
float*: shmem_float_put, \
double*: shmem_double_put, \
long double*: shmem_longdouble_put)(dst, src, len, pe)
#endif
OSHMEM_DECLSPEC void shmem_put8(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_put16(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_put32(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_put64(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_put128(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_putmem(void *target, const void *source, size_t len, int pe);
/*
* Strided put routines
*/
OSHMEM_DECLSPEC void shmem_char_iput(char* target, const char* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_short_iput(short* target, const short* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_int_iput(int* target, const int* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_long_iput(long* target, const long* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_float_iput(float* target, const float* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_double_iput(double* target, const double* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longlong_iput(long long* target, const long long* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longdouble_iput(long double* target, const long double* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
#if OSHMEM_HAVE_C11
#define shmem_iput(dst, src, tst, sst, len, pe) \
_Generic(&*(dst), \
char*: shmem_char_iput, \
short*: shmem_short_iput, \
int*: shmem_int_iput, \
long*: shmem_long_iput, \
long long*: shmem_longlong_iput, \
float*: shmem_float_iput, \
double*: shmem_double_iput, \
long double*: shmem_longdouble_iput)(dst, src, tst, sst, len, pe)
#endif
OSHMEM_DECLSPEC void shmem_iput8(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_iput16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_iput32(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_iput64(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_iput128(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
/*
* Nonblocking put routines
*/
OSHMEM_DECLSPEC void shmem_char_put_nbi(char *target, const char *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_short_put_nbi(short *target, const short *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_int_put_nbi(int* target, const int* source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_long_put_nbi(long *target, const long *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longlong_put_nbi(long long *target, const long long *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_float_put_nbi(float *target, const float *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_double_put_nbi(double *target, const double *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longdouble_put_nbi(long double *target, const long double *source, size_t len, int pe);
#if OSHMEM_HAVE_C11
#define shmem_put_nbi(dst, src, len, pe) \
_Generic(&*(dst), \
char*: shmem_char_put_nbi, \
short*: shmem_short_put_nbi, \
int*: shmem_int_put_nbi, \
long*: shmem_long_put_nbi, \
long long*: shmem_longlong_put_nbi, \
float*: shmem_float_put_nbi, \
double*: shmem_double_put_nbi, \
long double*: shmem_longdouble_put_nbi)(dst, src, len, pe)
#endif
OSHMEM_DECLSPEC void shmem_put8_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_put16_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_put32_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_put64_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_put128_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_putmem_nbi(void *target, const void *source, size_t len, int pe);
/*
* Elemental get routines
*/
OSHMEM_DECLSPEC char shmem_char_g(const char* addr, int pe);
OSHMEM_DECLSPEC short shmem_short_g(const short* addr, int pe);
OSHMEM_DECLSPEC int shmem_int_g(const int* addr, int pe);
OSHMEM_DECLSPEC long shmem_long_g(const long* addr, int pe);
OSHMEM_DECLSPEC float shmem_float_g(const float* addr, int pe);
OSHMEM_DECLSPEC double shmem_double_g(const double* addr, int pe);
OSHMEM_DECLSPEC long long shmem_longlong_g(const long long* addr, int pe);
OSHMEM_DECLSPEC long double shmem_longdouble_g(const long double* addr, int pe);
#if OSHMEM_HAVE_C11
#define shmem_g(addr, pe) \
_Generic(&*(addr), \
char*: shmem_char_g, \
short*: shmem_short_g, \
int*: shmem_int_g, \
long*: shmem_long_g, \
long long*: shmem_longlong_g, \
float*: shmem_float_g, \
double*: shmem_double_g, \
long double*: shmem_longdouble_g)(addr, pe)
#endif
/*
* Block data get routines
*/
OSHMEM_DECLSPEC void shmem_char_get(char *target, const char *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_short_get(short *target, const short *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_int_get(int *target, const int *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_long_get(long *target, const long *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_float_get(float *target, const float *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_double_get(double *target, const double *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longlong_get(long long *target, const long long *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longdouble_get(long double *target, const long double *source, size_t len, int pe);
#if OSHMEM_HAVE_C11
#define shmem_get(dst, src, len, pe) \
_Generic(&*(dst), \
char*: shmem_char_get, \
short*: shmem_short_get, \
int*: shmem_int_get, \
long*: shmem_long_get, \
long long*: shmem_longlong_get, \
float*: shmem_float_get, \
double*: shmem_double_get, \
long double*: shmem_longdouble_get)(dst, src, len, pe)
#endif
OSHMEM_DECLSPEC void shmem_get8(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_get16(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_get32(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_get64(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_get128(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_getmem(void *target, const void *source, size_t len, int pe);
/*
* Strided get routines
*/
OSHMEM_DECLSPEC void shmem_char_iget(char* target, const char* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_short_iget(short* target, const short* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_int_iget(int* target, const int* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_float_iget(float* target, const float* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_double_iget(double* target, const double* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longlong_iget(long long* target, const long long* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longdouble_iget(long double* target, const long double* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_long_iget(long* target, const long* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
#if OSHMEM_HAVE_C11
#define shmem_iget(dst, src, tst, sst, len, pe) \
_Generic(&*(dst), \
char*: shmem_char_iget, \
short*: shmem_short_iget, \
int*: shmem_int_iget, \
long*: shmem_long_iget, \
long long*: shmem_longlong_iget, \
float*: shmem_float_iget, \
double*: shmem_double_iget, \
long double*: shmem_longdouble_iget)(dst, src, tst, sst, len, pe)
#endif
OSHMEM_DECLSPEC void shmem_iget8(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_iget16(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_iget32(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_iget64(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
OSHMEM_DECLSPEC void shmem_iget128(void* target, const void* source, ptrdiff_t tst, ptrdiff_t sst,size_t len, int pe);
/*
* Nonblocking data get routines
*/
OSHMEM_DECLSPEC void shmem_getmem_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_char_get_nbi(char *target, const char *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_short_get_nbi(short *target, const short *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_int_get_nbi(int *target, const int *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_long_get_nbi(long *target, const long *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longlong_get_nbi(long long *target, const long long *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_float_get_nbi(float *target, const float *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_double_get_nbi(double *target, const double *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_longdouble_get_nbi(long double *target, const long double *source, size_t len, int pe);
#if OSHMEM_HAVE_C11
#define shmem_get_nbi(dst, src, len, pe) \
_Generic(&*(dst), \
char*: shmem_char_get_nbi, \
short*: shmem_short_get_nbi, \
int*: shmem_int_get_nbi, \
long*: shmem_long_get_nbi, \
long long*: shmem_longlong_get_nbi, \
float*: shmem_float_get_nbi, \
double*: shmem_double_get_nbi, \
long double*: shmem_longdouble_get_nbi)(dst, src, len, pe)
#endif
OSHMEM_DECLSPEC void shmem_get8_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_get16_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_get32_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_get64_nbi(void *target, const void *source, size_t len, int pe);
OSHMEM_DECLSPEC void shmem_get128_nbi(void *target, const void *source, size_t len, int pe);
/*
* Atomic operations
*/
/* Atomic swap */
OSHMEM_DECLSPEC int shmem_int_swap(int *target, int value, int pe);
OSHMEM_DECLSPEC long shmem_long_swap(long *target, long value, int pe);
OSHMEM_DECLSPEC long long shmem_longlong_swap(long long*target, long long value, int pe);
OSHMEM_DECLSPEC float shmem_float_swap(float *target, float value, int pe);
OSHMEM_DECLSPEC double shmem_double_swap(double *target, double value, int pe);
#if OSHMEM_HAVE_C11
#define shmem_swap(dst, val, pe) \
_Generic(&*(dst), \
int*: shmem_int_swap, \
long*: shmem_long_swap, \
long long*: shmem_longlong_swap, \
float*: shmem_float_swap, \
double*: shmem_double_swap)(dst, val, pe)
#endif
/* Atomic set */
OSHMEM_DECLSPEC void shmem_int_set(int *target, int value, int pe);
OSHMEM_DECLSPEC void shmem_long_set(long *target, long value, int pe);
OSHMEM_DECLSPEC void shmem_longlong_set(long long*target, long long value, int pe);
OSHMEM_DECLSPEC void shmem_float_set(float *target, float value, int pe);
OSHMEM_DECLSPEC void shmem_double_set(double *target, double value, int pe);
#if OSHMEM_HAVE_C11
#define shmem_set(dst, val, pe) \
_Generic(&*(dst), \
int*: shmem_int_set, \
long*: shmem_long_set, \
long long*: shmem_longlong_set, \
float*: shmem_float_set, \
double*: shmem_double_set)(dst, val, pe)
#endif
/* Atomic conditional swap */
OSHMEM_DECLSPEC int shmem_int_cswap(int *target, int cond, int value, int pe);
OSHMEM_DECLSPEC long shmem_long_cswap(long *target, long cond, long value, int pe);
OSHMEM_DECLSPEC long long shmem_longlong_cswap(long long *target, long long cond, long long value, int pe);
#if OSHMEM_HAVE_C11
#define shmem_cswap(dst, cond, val, pe) \
_Generic(&*(dst), \
int*: shmem_int_cswap, \
long*: shmem_long_cswap, \
long long*: shmem_longlong_cswap)(dst, cond, val, pe)
#endif
/* Atomic Fetch&Add */
OSHMEM_DECLSPEC int shmem_int_fadd(int *target, int value, int pe);
OSHMEM_DECLSPEC long shmem_long_fadd(long *target, long value, int pe);
OSHMEM_DECLSPEC long long shmem_longlong_fadd(long long *target, long long value, int pe);
#if OSHMEM_HAVE_C11
#define shmem_fadd(dst, val, pe) \
_Generic(&*(dst), \
int*: shmem_int_fadd, \
long*: shmem_long_fadd, \
long long*: shmem_longlong_fadd)(dst, val, pe)
#endif
/* Atomic Fetch */
OSHMEM_DECLSPEC int shmem_int_fetch(const int *target, int pe);
OSHMEM_DECLSPEC long shmem_long_fetch(const long *target, int pe);
OSHMEM_DECLSPEC long long shmem_longlong_fetch(const long long *target, int pe);
OSHMEM_DECLSPEC float shmem_float_fetch(const float *target, int pe);
OSHMEM_DECLSPEC double shmem_double_fetch(const double *target, int pe);
#if OSHMEM_HAVE_C11
#define shmem_fetch(dst, pe) \
_Generic(&*(dst), \
int*: shmem_int_fetch, \
long*: shmem_long_fetch, \
long long*: shmem_longlong_fetch, \
float*: shmem_float_fetch, \
double*: shmem_double_fetch)(dst, pe)
#endif
/* Atomic Fetch&Inc */
OSHMEM_DECLSPEC int shmem_int_finc(int *target, int pe);
OSHMEM_DECLSPEC long shmem_long_finc(long *target, int pe);
OSHMEM_DECLSPEC long long shmem_longlong_finc(long long *target, int pe);
#if OSHMEM_HAVE_C11
#define shmem_finc(dst, pe) \
_Generic(&*(dst), \
int*: shmem_int_finc, \
long*: shmem_long_finc, \
long long*: shmem_longlong_finc)(dst, pe)
#endif
/* Atomic Add*/
OSHMEM_DECLSPEC void shmem_int_add(int *target, int value, int pe);
OSHMEM_DECLSPEC void shmem_long_add(long *target, long value, int pe);
OSHMEM_DECLSPEC void shmem_longlong_add(long long *target, long long value, int pe);
#if OSHMEM_HAVE_C11
#define shmem_add(dst, val, pe) \
_Generic(&*(dst), \
int*: shmem_int_add, \
long*: shmem_long_add, \
long long*: shmem_longlong_add)(dst, val, pe)
#endif
/* Atomic Inc */
OSHMEM_DECLSPEC void shmem_int_inc(int *target, int pe);
OSHMEM_DECLSPEC void shmem_long_inc(long *target, int pe);
OSHMEM_DECLSPEC void shmem_longlong_inc(long long *target, int pe);
#if OSHMEM_HAVE_C11
#define shmem_inc(dst, pe) \
_Generic(&*(dst), \
int*: shmem_int_inc, \
long*: shmem_long_inc, \
long long*: shmem_longlong_inc)(dst, pe)
#endif
/*
* Lock functions
*/
OSHMEM_DECLSPEC void shmem_set_lock(volatile long *lock);
OSHMEM_DECLSPEC void shmem_clear_lock(volatile long *lock);
OSHMEM_DECLSPEC int shmem_test_lock(volatile long *lock);
/*
* P2P sync routines
*/
OSHMEM_DECLSPEC void shmem_short_wait(volatile short *addr, short value);
OSHMEM_DECLSPEC void shmem_int_wait(volatile int *addr, int value);
OSHMEM_DECLSPEC void shmem_long_wait(volatile long *addr, long value);
OSHMEM_DECLSPEC void shmem_longlong_wait(volatile long long *addr, long long value);
OSHMEM_DECLSPEC void shmem_wait(volatile long *addr, long value);
OSHMEM_DECLSPEC void shmem_short_wait_until(volatile short *addr, int cmp, short value);
OSHMEM_DECLSPEC void shmem_int_wait_until(volatile int *addr, int cmp, int value);
OSHMEM_DECLSPEC void shmem_long_wait_until(volatile long *addr, int cmp, long value);
OSHMEM_DECLSPEC void shmem_longlong_wait_until(volatile long long *addr, int cmp, long long value);
OSHMEM_DECLSPEC void shmem_wait_until(volatile long *addr, int cmp, long value);
/*
* Barrier sync routines
*/
OSHMEM_DECLSPEC void shmem_barrier(int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void shmem_barrier_all(void);
OSHMEM_DECLSPEC void shmem_fence(void);
OSHMEM_DECLSPEC void shmem_quiet(void);
/*
* Collective routines
*/
OSHMEM_DECLSPEC void shmem_broadcast32(void *target, const void *source, size_t nlong, int PE_root, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void shmem_broadcast64(void *target, const void *source, size_t nlong, int PE_root, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void shmem_broadcast(void *target, const void *source, size_t nlong, int PE_root, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void shmem_collect32(void *target, const void *source, size_t nlong, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void shmem_collect64(void *target, const void *source, size_t nlong, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void shmem_fcollect32(void *target, const void *source, size_t nlong, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void shmem_fcollect64(void *target, const void *source, size_t nlong, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void shmem_alltoall32(void *target, const void *source, size_t nelems, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void shmem_alltoall64(void *target, const void *source, size_t nelems, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void shmem_alltoalls32(void *target, const void *source, ptrdiff_t dst, ptrdiff_t sst, size_t nelems, int PE_start, int logPE_stride, int PE_size, long *pSync);
OSHMEM_DECLSPEC void shmem_alltoalls64(void *target, const void *source, ptrdiff_t dst, ptrdiff_t sst, size_t nelems, int PE_start, int logPE_stride, int PE_size, long *pSync);
/*
* Reduction routines
*/
OSHMEM_DECLSPEC void shmem_short_and_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_int_and_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_long_and_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_longlong_and_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_short_or_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_int_or_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_long_or_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_longlong_or_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_short_xor_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_int_xor_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_long_xor_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_longlong_xor_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_short_max_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_int_max_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_long_max_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_longlong_max_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_float_max_to_all(float *target, const float *source, int nreduce, int PE_start, int logPE_stride, int PE_size, float *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_double_max_to_all(double *target, const double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, double *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_longdouble_max_to_all(long double *target, const long double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long double *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_short_min_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_int_min_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_long_min_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_longlong_min_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_float_min_to_all(float *target, const float *source, int nreduce, int PE_start, int logPE_stride, int PE_size, float *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_double_min_to_all(double *target, const double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, double *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_longdouble_min_to_all(long double *target, const long double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long double *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_short_sum_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_int_sum_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_long_sum_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_longlong_sum_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_float_sum_to_all(float *target, const float *source, int nreduce, int PE_start, int logPE_stride, int PE_size, float *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_double_sum_to_all(double *target, const double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, double *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_longdouble_sum_to_all(long double *target, const long double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long double *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_complexf_sum_to_all(OSHMEM_COMPLEX_TYPE(float) *target, const OSHMEM_COMPLEX_TYPE(float) *source, int nreduce, int PE_start, int logPE_stride, int PE_size, OSHMEM_COMPLEX_TYPE(float) *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_complexd_sum_to_all(OSHMEM_COMPLEX_TYPE(double) *target, const OSHMEM_COMPLEX_TYPE(double) *source, int nreduce, int PE_start, int logPE_stride, int PE_size, OSHMEM_COMPLEX_TYPE(double) *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_short_prod_to_all(short *target, const short *source, int nreduce, int PE_start, int logPE_stride, int PE_size, short *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_int_prod_to_all(int *target, const int *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_long_prod_to_all(long *target, const long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_longlong_prod_to_all(long long *target, const long long *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long long *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_float_prod_to_all(float *target, const float *source, int nreduce, int PE_start, int logPE_stride, int PE_size, float *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_double_prod_to_all(double *target, const double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, double *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_longdouble_prod_to_all(long double *target, const long double *source, int nreduce, int PE_start, int logPE_stride, int PE_size, long double *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_complexf_prod_to_all(OSHMEM_COMPLEX_TYPE(float) *target, const OSHMEM_COMPLEX_TYPE(float) *source, int nreduce, int PE_start, int logPE_stride, int PE_size, OSHMEM_COMPLEX_TYPE(float) *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmem_complexd_prod_to_all(OSHMEM_COMPLEX_TYPE(double) *target, const OSHMEM_COMPLEX_TYPE(double) *source, int nreduce, int PE_start, int logPE_stride, int PE_size, OSHMEM_COMPLEX_TYPE(double) *pWrk, long *pSync);
/*
* Platform specific cache management routines
*/
OSHMEM_DECLSPEC void shmem_udcflush(void);
OSHMEM_DECLSPEC void shmem_udcflush_line(void* target);
OSHMEM_DECLSPEC void shmem_set_cache_inv(void);
OSHMEM_DECLSPEC void shmem_set_cache_line_inv(void* target);
OSHMEM_DECLSPEC void shmem_clear_cache_inv(void);
OSHMEM_DECLSPEC void shmem_clear_cache_line_inv(void* target);
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif /* OSHMEM_SHMEM_H */

View File

@@ -1,206 +0,0 @@
/* oshmem/include/shmemx.h. This file contains vendor extension functions */
/*
* Copyright (c) 2014-2015 Mellanox Technologies, Inc.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef OSHMEM_SHMEMX_H
#define OSHMEM_SHMEMX_H
#include <shmem.h>
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* All OpenSHMEM extension APIs that are not part of this specification must be defined in the shmemx.h include
* file. These extensions shall use the shmemx_ prefix for all routine, variable, and constant names.
*/
/*
* Elemental put routines
*/
OSHMEM_DECLSPEC void shmemx_int16_p(int16_t* addr, int16_t value, int pe);
OSHMEM_DECLSPEC void shmemx_int32_p(int32_t* addr, int32_t value, int pe);
OSHMEM_DECLSPEC void shmemx_int64_p(int64_t* addr, int64_t value, int pe);
/*
* Elemental put routines
*/
/*
* Block data put routines
*/
/*
* Strided put routines
*/
/*
* Elemental get routines
*/
OSHMEM_DECLSPEC int16_t shmemx_int16_g(const int16_t* addr, int pe);
OSHMEM_DECLSPEC int32_t shmemx_int32_g(const int32_t* addr, int pe);
OSHMEM_DECLSPEC int64_t shmemx_int64_g(const int64_t* addr, int pe);
/*
* Block data get routines
*/
/*
* Strided get routines
*/
/*
* Atomic operations
*/
/* Atomic swap */
OSHMEM_DECLSPEC int32_t shmemx_int32_swap(int32_t *target, int32_t value, int pe);
OSHMEM_DECLSPEC int64_t shmemx_int64_swap(int64_t *target, int64_t value, int pe);
/* Atomic set */
OSHMEM_DECLSPEC void shmemx_int32_set(int32_t *target, int32_t value, int pe);
OSHMEM_DECLSPEC void shmemx_int64_set(int64_t *target, int64_t value, int pe);
/* Atomic conditional swap */
OSHMEM_DECLSPEC int32_t shmemx_int32_cswap(int32_t *target, int32_t cond, int32_t value, int pe);
OSHMEM_DECLSPEC int64_t shmemx_int64_cswap(int64_t *target, int64_t cond, int64_t value, int pe);
/* Atomic Fetch&Add */
OSHMEM_DECLSPEC int32_t shmemx_int32_fadd(int32_t *target, int32_t value, int pe);
OSHMEM_DECLSPEC int64_t shmemx_int64_fadd(int64_t *target, int64_t value, int pe);
/* Atomic Fetch */
OSHMEM_DECLSPEC int32_t shmemx_int32_fetch(const int32_t *target, int pe);
OSHMEM_DECLSPEC int64_t shmemx_int64_fetch(const int64_t *target, int pe);
/* Atomic Fetch&Inc */
OSHMEM_DECLSPEC int32_t shmemx_int32_finc(int32_t *target, int pe);
OSHMEM_DECLSPEC int64_t shmemx_int64_finc(int64_t *target, int pe);
/* Atomic Add*/
OSHMEM_DECLSPEC void shmemx_int32_add(int32_t *target, int32_t value, int pe);
OSHMEM_DECLSPEC void shmemx_int64_add(int64_t *target, int64_t value, int pe);
/* Atomic Inc */
OSHMEM_DECLSPEC void shmemx_int32_inc(int32_t *target, int pe);
OSHMEM_DECLSPEC void shmemx_int64_inc(int64_t *target, int pe);
/*
* P2P sync routines
*/
OSHMEM_DECLSPEC void shmemx_int32_wait(int32_t *addr, int32_t value);
OSHMEM_DECLSPEC void shmemx_int64_wait(int64_t *addr, int64_t value);
OSHMEM_DECLSPEC void shmemx_int32_wait_until(int32_t *addr, int cmp, int32_t value);
OSHMEM_DECLSPEC void shmemx_int64_wait_until(int64_t *addr, int cmp, int64_t value);
/*
* Reduction routines
*/
OSHMEM_DECLSPEC void shmemx_int16_and_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int32_and_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int64_and_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int16_or_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int32_or_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int64_or_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int16_xor_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int32_xor_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int64_xor_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int16_max_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int32_max_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int64_max_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int16_min_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int32_min_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int64_min_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int16_sum_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int32_sum_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int64_sum_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int16_prod_to_all(int16_t *target, const int16_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int16_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int32_prod_to_all(int32_t *target, const int32_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int32_t *pWrk, long *pSync);
OSHMEM_DECLSPEC void shmemx_int64_prod_to_all(int64_t *target, const int64_t *source, int nreduce, int PE_start, int logPE_stride, int PE_size, int64_t *pWrk, long *pSync);
/*
* Backward compatibility section
*/
#define shmem_int16_p shmemx_int16_p
#define shmem_int32_p shmemx_int32_p
#define shmem_int64_p shmemx_int64_p
#define shmem_int16_g shmemx_int16_g
#define shmem_int32_g shmemx_int32_g
#define shmem_int64_g shmemx_int64_g
#define shmem_int32_swap shmemx_int32_swap
#define shmem_int64_swap shmemx_int64_swap
#define shmem_int32_set shmemx_int32_set
#define shmem_int64_set shmemx_int64_set
#define shmem_int32_cswap shmemx_int32_cswap
#define shmem_int64_cswap shmemx_int64_cswap
#define shmem_int32_fadd shmemx_int32_fadd
#define shmem_int64_fadd shmemx_int64_fadd
#define shmem_int32_fetch shmemx_int32_fetch
#define shmem_int64_fetch shmemx_int64_fetch
#define shmem_int32_finc shmemx_int32_finc
#define shmem_int64_finc shmemx_int64_finc
#define shmem_int32_add shmemx_int32_add
#define shmem_int64_add shmemx_int64_add
#define shmem_int32_inc shmemx_int32_inc
#define shmem_int64_inc shmemx_int64_inc
#define shmem_int32_wait shmemx_int32_wait
#define shmem_int64_wait shmemx_int64_wait
#define shmem_int32_wait_until shmemx_int32_wait_until
#define shmem_int64_wait_until shmemx_int64_wait_until
#define shmem_int16_and_to_all shmemx_int16_and_to_all
#define shmem_int32_and_to_all shmemx_int32_and_to_all
#define shmem_int64_and_to_all shmemx_int64_and_to_all
#define shmem_int16_or_to_all shmemx_int16_or_to_all
#define shmem_int32_or_to_all shmemx_int32_or_to_all
#define shmem_int64_or_to_all shmemx_int64_or_to_all
#define shmem_int16_xor_to_all shmemx_int16_xor_to_all
#define shmem_int32_xor_to_all shmemx_int32_xor_to_all
#define shmem_int64_xor_to_all shmemx_int64_xor_to_all
#define shmem_int16_max_to_all shmemx_int16_max_to_all
#define shmem_int32_max_to_all shmemx_int32_max_to_all
#define shmem_int64_max_to_all shmemx_int64_max_to_all
#define shmem_int16_min_to_all shmemx_int16_min_to_all
#define shmem_int32_min_to_all shmemx_int32_min_to_all
#define shmem_int64_min_to_all shmemx_int64_min_to_all
#define shmem_int16_sum_to_all shmemx_int16_sum_to_all
#define shmem_int32_sum_to_all shmemx_int32_sum_to_all
#define shmem_int64_sum_to_all shmemx_int64_sum_to_all
#define shmem_int16_prod_to_all shmemx_int16_prod_to_all
#define shmem_int32_prod_to_all shmemx_int32_prod_to_all
#define shmem_int64_prod_to_all shmemx_int64_prod_to_all
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif /* OSHMEM_SHMEMX_H */

View File

@@ -1,41 +0,0 @@
# libmca_common_monitoring.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libmca_common_monitoring.so.50'
# Names of this library.
library_names='libmca_common_monitoring.so.50.0.0 libmca_common_monitoring.so.50 libmca_common_monitoring.so'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libmca_common_monitoring.
current=50
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64'

View File

@@ -1 +0,0 @@
libmca_common_monitoring.so.50.0.0

View File

@@ -1 +0,0 @@
libmca_common_monitoring.so.50.0.0

View File

@@ -1,41 +0,0 @@
# libmca_common_ompio.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libmca_common_ompio.so.41'
# Names of this library.
library_names='libmca_common_ompio.so.41.9.0 libmca_common_ompio.so.41 libmca_common_ompio.so'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libmca_common_ompio.
current=50
age=9
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64'

View File

@@ -1 +0,0 @@
libmca_common_ompio.so.41.9.0

View File

@@ -1 +0,0 @@
libmca_common_ompio.so.41.9.0

View File

@@ -1,41 +0,0 @@
# libmca_common_sm.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libmca_common_sm.so.40'
# Names of this library.
library_names='libmca_common_sm.so.40.10.0 libmca_common_sm.so.40 libmca_common_sm.so'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libmca_common_sm.
current=50
age=10
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64'

View File

@@ -1 +0,0 @@
libmca_common_sm.so.40.10.0

View File

@@ -1 +0,0 @@
libmca_common_sm.so.40.10.0

View File

@@ -1,41 +0,0 @@
# libmca_common_verbs.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='libmca_common_verbs.so.40'
# Names of this library.
library_names='libmca_common_verbs.so.40.10.0 libmca_common_verbs.so.40 libmca_common_verbs.so'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' -libverbs -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for libmca_common_verbs.
current=50
age=10
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64'

View File

@@ -1 +0,0 @@
libmca_common_verbs.so.40.10.0

View File

@@ -1 +0,0 @@
libmca_common_verbs.so.40.10.0

View File

@@ -8,7 +8,7 @@
dlname='libmpi.so.40' dlname='libmpi.so.40'
# Names of this library. # Names of this library.
library_names='libmpi.so.40.10.2 libmpi.so.40 libmpi.so' library_names='libmpi.so.40.20.1 libmpi.so.40 libmpi.so'
# The name of the static archive. # The name of the static archive.
old_library='' old_library=''
@@ -17,15 +17,15 @@ old_library=''
inherited_linker_flags=' -pthread' inherited_linker_flags=' -pthread'
# Libraries that this one depends upon. # Libraries that this one depends upon.
dependency_libs=' /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-rte.la /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-pal.la -ldl -ludev -lrt -lm -lutil -lz' dependency_libs=' /home/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib64/libopen-rte.la /home/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib64/libopen-pal.la -ldl -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library # Names of additional weak libraries provided by this library
weak_library_names='' weak_library_names=''
# Version information for libmpi. # Version information for libmpi.
current=50 current=60
age=10 age=20
revision=2 revision=1
# Is this an already installed library? # Is this an already installed library?
installed=yes installed=yes
@@ -38,4 +38,4 @@ dlopen=''
dlpreopen='' dlpreopen=''
# Directory that this library needs to be installed in: # Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64' libdir='/home/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib64'

View File

@@ -1 +1 @@
libmpi.so.40.10.2 libmpi.so.40.20.1

View File

@@ -1 +1 @@
libmpi.so.40.10.2 libmpi.so.40.20.1

Binary file not shown.

View File

@@ -8,7 +8,7 @@
dlname='libompitrace.so.40' dlname='libompitrace.so.40'
# Names of this library. # Names of this library.
library_names='libompitrace.so.40.10.0 libompitrace.so.40 libompitrace.so' library_names='libompitrace.so.40.20.0 libompitrace.so.40 libompitrace.so'
# The name of the static archive. # The name of the static archive.
old_library='' old_library=''
@@ -23,8 +23,8 @@ dependency_libs=' -lrt -lm -lutil -lz'
weak_library_names='' weak_library_names=''
# Version information for libompitrace. # Version information for libompitrace.
current=50 current=60
age=10 age=20
revision=0 revision=0
# Is this an already installed library? # Is this an already installed library?
@@ -38,4 +38,4 @@ dlopen=''
dlpreopen='' dlpreopen=''
# Directory that this library needs to be installed in: # Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64' libdir='/home/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib64'

View File

@@ -1 +1 @@
libompitrace.so.40.10.0 libompitrace.so.40.20.0

View File

@@ -1 +1 @@
libompitrace.so.40.10.0 libompitrace.so.40.20.0

Binary file not shown.

View File

@@ -8,7 +8,7 @@
dlname='libopen-pal.so.40' dlname='libopen-pal.so.40'
# Names of this library. # Names of this library.
library_names='libopen-pal.so.40.10.2 libopen-pal.so.40 libopen-pal.so' library_names='libopen-pal.so.40.20.1 libopen-pal.so.40 libopen-pal.so'
# The name of the static archive. # The name of the static archive.
old_library='' old_library=''
@@ -17,15 +17,15 @@ old_library=''
inherited_linker_flags=' -pthread' inherited_linker_flags=' -pthread'
# Libraries that this one depends upon. # Libraries that this one depends upon.
dependency_libs=' -ldl -ludev -lrt -lm -lutil -lz' dependency_libs=' -ldl -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library # Names of additional weak libraries provided by this library
weak_library_names='' weak_library_names=''
# Version information for libopen-pal. # Version information for libopen-pal.
current=50 current=60
age=10 age=20
revision=2 revision=1
# Is this an already installed library? # Is this an already installed library?
installed=yes installed=yes
@@ -38,4 +38,4 @@ dlopen=''
dlpreopen='' dlpreopen=''
# Directory that this library needs to be installed in: # Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64' libdir='/home/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib64'

View File

@@ -1 +1 @@
libopen-pal.so.40.10.2 libopen-pal.so.40.20.1

View File

@@ -1 +1 @@
libopen-pal.so.40.10.2 libopen-pal.so.40.20.1

Binary file not shown.

View File

@@ -8,7 +8,7 @@
dlname='libopen-rte.so.40' dlname='libopen-rte.so.40'
# Names of this library. # Names of this library.
library_names='libopen-rte.so.40.10.2 libopen-rte.so.40 libopen-rte.so' library_names='libopen-rte.so.40.20.1 libopen-rte.so.40 libopen-rte.so'
# The name of the static archive. # The name of the static archive.
old_library='' old_library=''
@@ -17,15 +17,15 @@ old_library=''
inherited_linker_flags=' -pthread' inherited_linker_flags=' -pthread'
# Libraries that this one depends upon. # Libraries that this one depends upon.
dependency_libs=' /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-pal.la -ldl -ludev -lrt -lm -lutil -lz' dependency_libs=' /home/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib64/libopen-pal.la -ldl -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library # Names of additional weak libraries provided by this library
weak_library_names='' weak_library_names=''
# Version information for libopen-rte. # Version information for libopen-rte.
current=50 current=60
age=10 age=20
revision=2 revision=1
# Is this an already installed library? # Is this an already installed library?
installed=yes installed=yes
@@ -38,4 +38,4 @@ dlopen=''
dlpreopen='' dlpreopen=''
# Directory that this library needs to be installed in: # Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64' libdir='/home/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib64'

View File

@@ -1 +1 @@
libopen-rte.so.40.10.2 libopen-rte.so.40.20.1

View File

@@ -1 +1 @@
libopen-rte.so.40.10.2 libopen-rte.so.40.20.1

Binary file not shown.

View File

@@ -1,41 +0,0 @@
# liboshmem.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='liboshmem.so.40'
# Names of this library.
library_names='liboshmem.so.40.10.1 liboshmem.so.40 liboshmem.so'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libmpi.la /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-rte.la /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-pal.la -ldl -ludev -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for liboshmem.
current=50
age=10
revision=1
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=no
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64'

View File

@@ -1 +0,0 @@
liboshmem.so.40.10.1

View File

@@ -1 +0,0 @@
liboshmem.so.40.10.1

View File

@@ -1,41 +0,0 @@
# ompi_monitoring_prof.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='ompi_monitoring_prof.so'
# Names of this library.
library_names='ompi_monitoring_prof.so ompi_monitoring_prof.so ompi_monitoring_prof.so'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libmpi.la /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-rte.la /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-pal.la -ldl -ludev -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for ompi_monitoring_prof.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64'

View File

@@ -38,4 +38,4 @@ dlopen=''
dlpreopen='' dlpreopen=''
# Directory that this library needs to be installed in: # Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/openmpi' libdir='/home/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib64/openmpi'

View File

@@ -1,41 +0,0 @@
# mca_allocator_basic.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='mca_allocator_basic.so'
# Names of this library.
library_names='mca_allocator_basic.so mca_allocator_basic.so mca_allocator_basic.so'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-pal.la -ldl -ludev -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for mca_allocator_basic.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/openmpi'

View File

@@ -1,41 +0,0 @@
# mca_allocator_bucket.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='mca_allocator_bucket.so'
# Names of this library.
library_names='mca_allocator_bucket.so mca_allocator_bucket.so mca_allocator_bucket.so'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-pal.la -ldl -ludev -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for mca_allocator_bucket.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/openmpi'

View File

@@ -1,41 +0,0 @@
# mca_atomic_basic.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='mca_atomic_basic.so'
# Names of this library.
library_names='mca_atomic_basic.so mca_atomic_basic.so mca_atomic_basic.so'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/liboshmem.la /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libmpi.la /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-rte.la /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-pal.la -ldl -ludev -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for mca_atomic_basic.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/openmpi'

View File

@@ -1,41 +0,0 @@
# mca_bml_r2.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.6
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='mca_bml_r2.so'
# Names of this library.
library_names='mca_bml_r2.so mca_bml_r2.so mca_bml_r2.so'
# The name of the static archive.
old_library=''
# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libmpi.la /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-rte.la /home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/libopen-pal.la -ldl -ludev -lrt -lm -lutil -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for mca_bml_r2.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/brgirgis/Downloads/openmpi/3.1.2/build/../release_install/lib64/openmpi'

Some files were not shown because too many files have changed in this diff Show More