1
1

Merge branch 'master' of github.com:open-mpi/ompi

Conflicts:
	orte/tools/orte-dvm/orte-dvm.c
Этот коммит содержится в:
Mark Santcroos 2015-02-10 11:21:01 -05:00
родитель b5a2ea3cb2 3ae3b96c17
Коммит 70d8bd774c
42 изменённых файлов: 555 добавлений и 521 удалений

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

@ -10,7 +10,7 @@
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2015 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
@ -83,82 +83,6 @@ echo "*** Updated VERSION file with repo rev number"
cd "$distdir"
echo "*** Now in distdir: $distdir"
#
# Get the latest config.guess and config.sub from ftp.gnu.org
#
echo "*** Downloading latest config.sub/config.guess from ftp.gnu.org..."
cd config
set configdir="`pwd`"
mkdir tmp.$$
cd tmp.$$
# Official HTTP git mirrors for config.guess / config.sub
wget -t 1 -T 10 -O config.guess 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=master'
wget -t 1 -T 10 -O config.sub 'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=master'
chmod +x config.guess config.sub
# Recently, ftp.gnu.org has had zero-legnth config.guess / config.sub
# files, which causes the automated nightly SVN snapshot tarball to
# fail to be made correctly. This is a primitive attempt to fix that.
# If we got zero-length files from wget, use a config.guess /
# config.sub from a known location that is more recent than what ships
# in the current generation of auto* tools. Also check to ensure that
# the resulting scripts are runnable (Jan 2009: there are un-runnable
# scripts available right now because of some git vulnerability).
# Before you complain about this too loudly, remember that we're using
# unreleased software...
set happy=0
if (! -f config.guess || `test -s config.guess;echo $status`) then
echo " - WARNING: Got bad config.guess from ftp.gnu.org (non-existent or empty)"
else
./config.guess >& /dev/null
if ($status != 0) then
echo " - WARNING: Got bad config.guess from ftp.gnu.org (not executable)"
else
if (! -f config.sub || `test -s config.sub;echo $status`) then
echo " - WARNING: Got bad config.sub from ftp.gnu.org (non-existent or empty)"
else
./config.sub `./config.guess` >& /dev/null
if ($status != 0) then
echo " - WARNING: Got bad config.sub from ftp.gnu.org (not executable)"
else
echo " - Got good config.guess and config.sub from ftp.gnu.org"
cp -f config.sub config.guess ..
set happy=1
endif
endif
endif
endif
if ("$happy" == "0") then
echo " - WARNING: using included versions for both config.sub and config.guess"
endif
cd ..
rm -rf tmp.$$
cd ..
#
# Find all the config.guess/config.sub files, and replace them with
# the ones that we've downloaded
#
echo "*** Now in: `pwd`"
echo "*** Replacing config.sub/config.guess with latest from ftp.gnu.org..."
foreach file (config.guess config.sub)
foreach dir (opal orte ompi)
if (-d $dir) then
find $dir -name $file \
-exec chmod +w {} \; \
-exec cp -f $configdir/$file {} \; \
-print
endif
end
end
#
# Put the release version number in the README and INSTALL files
#

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

@ -3,14 +3,14 @@ dnl
dnl Copyright (c) 2004-2009 The Trustees of Indiana University and Indiana
dnl University Research and Technology
dnl Corporation. All rights reserved.
dnl Copyright (c) 2009-2013 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2011-2012 Oak Ridge National Labs. All rights reserved.
dnl Copyright (c) 2015 Research Organization for Information Science
dnl and Technology (RIST). All rights reserved.
dnl $COPYRIGHT$
dnl
dnl
dnl Additional copyrights may follow
dnl
dnl
dnl $HEADER$
dnl
@ -214,7 +214,7 @@ EOF
test $OMPI_BUILD_FORTRAN_F08_SUBARRAYS -eq 0],
[OMPI_BUILD_FORTRAN_USEMPIF08_EXT=1],
[OMPI_BUILD_FORTRAN_USEMPIF08_EXT=0])
AM_CONDITIONAL(OMPI_BUILD_FORTRAN_USEMPIF08_EXT,
AM_CONDITIONAL(OMPI_BUILD_FORTRAN_USEMPIF08_EXT,
[test $OMPI_BUILD_FORTRAN_USEMPIF08_EXT -eq 1])
# Make an AM conditional to see whether we're building either the
@ -262,7 +262,7 @@ EOF
###############
# Create the final mpif-ext.h file.
cat >> $mpif_ext_h <<EOF
!
!
EOF
###############
@ -270,7 +270,7 @@ EOF
###############
# Create the final mpiusempi-ext.h file.
cat >> $mpiusempi_ext_h <<EOF
!
!
end module mpi_ext
EOF
@ -279,7 +279,7 @@ EOF
###############
# Create the final mpiusempi-ext.h file.
cat >> $mpiusempif08_ext_h <<EOF
!
!
end module mpi_f08_ext
EOF
@ -319,7 +319,7 @@ EOF
rm -f $outfile
fi
fi
rm -f $outfile.struct $outfile.extern
rm -f $outfile.struct $outfile.extern
# We have all the results we need. Now put them in various
# variables/defines so that others can see the results.
@ -332,7 +332,7 @@ EOF
OMPI_EXT_MAKE_LISTS(OMPI_MPIEXT_USEMPIF08, $OMPI_MPIEXT_USEMPIF08, use-mpi-f08, usempif08)
comps=`echo $OMPI_MPIEXT_C | sed -e 's/^[ \t]*//;s/[ \t]*$//;s/ /, /g'`
AC_DEFINE_UNQUOTED([OMPI_MPIEXT_COMPONENTS], ["$comps"],
AC_DEFINE_UNQUOTED([OMPI_MPIEXT_COMPONENTS], ["$comps"],
[MPI Extensions included in libmpi])
])
@ -361,8 +361,7 @@ AC_DEFUN([EXT_CONFIGURE_M4_CONFIG_COMPONENT],[
EXT_COMPONENT_BUILD_CHECK($1, [should_build=1], [should_build=0])
# try to configure the component. pay no attention to
# --enable-dist, since we'll always have makefiles.
# try to configure the component
m4_ifdef([OMPI_MPIEXT_$1_CONFIG], [],
[m4_fatal([Could not find OMPI_MPIEXT_]$1[_CONFIG macro for ]$1[ component])])
@ -678,11 +677,11 @@ AC_DEFUN([EXT_PROCESS_DEAD_COMPONENT],[
#
# EXT_COMPONENT_BUILD_CHECK
#
# checks the standard rules of component building to see if the
# checks the standard rules of component building to see if the
# given component should be built.
#
# USAGE:
# EXT_COMPONENT_BUILD_CHECK(component,
# EXT_COMPONENT_BUILD_CHECK(component,
# action-if-build, action-if-not-build)
#
######################################################################
@ -739,7 +738,7 @@ AC_DEFUN([EXT_COMPONENT_BUILD_CHECK],[
# OMPI_EXT_MAKE_DIR_LIST(subst'ed variable, shell list)
#
#
# Prefix every extension name with "mpiext/" and AC subst it.
# -------------------------------------------------------------------------
AC_DEFUN([OMPI_EXT_MAKE_DIR_LIST],[
@ -750,11 +749,11 @@ AC_DEFUN([OMPI_EXT_MAKE_DIR_LIST],[
AC_SUBST($1)
])
# OMPI_EXT_MAKE_LISTS((1) subst'ed variable prefix,
# (2) shell list,
# (3) bindings dir name,
# OMPI_EXT_MAKE_LISTS((1) subst'ed variable prefix,
# (2) shell list,
# (3) bindings dir name,
# (4) bindings suffix)
#
#
# Prefix every extension name with "mpiext/".
# -------------------------------------------------------------------------
AC_DEFUN([OMPI_EXT_MAKE_LISTS],[

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

@ -6,21 +6,21 @@ dnl Corporation. All rights reserved.
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
dnl of Tennessee Research Foundation. All rights
dnl reserved.
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
dnl University of Stuttgart. All rights reserved.
dnl Copyright (c) 2004-2005 The Regents of the University of California.
dnl All rights reserved.
dnl Copyright (c) 2007 Sun Microsystems, Inc. All rights reserved.
dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
dnl Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2014 Intel, Inc. All rights reserved.
dnl Copyright (c) 2015 Research Organization for Information Science
dnl and Technology (RIST). All rights reserved.
dnl
dnl $COPYRIGHT$
dnl
dnl
dnl Additional copyrights may follow
dnl
dnl
dnl $HEADER$
dnl
dnl Portions of this file derived from GASNet v1.12 (see "GASNet"
@ -31,7 +31,7 @@ dnl IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
dnl DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
dnl OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
dnl CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
dnl
dnl
dnl THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
dnl INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
dnl AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
@ -147,34 +147,22 @@ unset opal_prefix_save
case "$prefix" in
/*/bin)
prefix="`dirname $prefix`"
echo installing to directory \"$prefix\"
echo installing to directory \"$prefix\"
;;
/*)
echo installing to directory \"$prefix\"
/*)
echo installing to directory \"$prefix\"
;;
NONE)
echo installing to directory \"$ac_default_prefix\"
echo installing to directory \"$ac_default_prefix\"
;;
@<:@a-zA-Z@:>@:*)
echo installing to directory \"$prefix\"
echo installing to directory \"$prefix\"
;;
*)
AC_MSG_ERROR(prefix "$prefix" must be an absolute directory path)
*)
AC_MSG_ERROR(prefix "$prefix" must be an absolute directory path)
;;
esac
# Allow the --enable-dist flag to be passed in
AC_ARG_ENABLE(dist,
AC_HELP_STRING([--enable-dist],
[guarantee that that the "dist" make target will be functional, although may not guarantee that any other make target will be functional.]),
OPAL_WANT_DIST=yes, OPAL_WANT_DIST=no)
if test "$OPAL_WANT_DIST" = "yes"; then
AC_MSG_WARN([Configuring in 'make dist' mode])
AC_MSG_WARN([Most make targets may be non-functional!])
fi
# BEGIN: Derived from GASNet
# Suggestion from Paul Hargrove to disable --program-prefix and

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

@ -6,16 +6,16 @@ dnl Corporation. All rights reserved.
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
dnl of Tennessee Research Foundation. All rights
dnl reserved.
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
dnl University of Stuttgart. All rights reserved.
dnl Copyright (c) 2004-2005 The Regents of the University of California.
dnl All rights reserved.
dnl Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved.
dnl Copyright (c) 2013-2014 Intel, Inc. All rights reserved.
dnl $COPYRIGHT$
dnl
dnl
dnl Additional copyrights may follow
dnl
dnl
dnl $HEADER$
dnl
@ -55,7 +55,7 @@ AC_DEFUN([OPAL_MCA],[
#
AC_ARG_ENABLE([mca-no-build],
[AC_HELP_STRING([--enable-mca-no-build=LIST],
[Comma-separated list of <type>-<component> pairs
[Comma-separated list of <type>-<component> pairs
that will not be built. Example: "--enable-mca-no-build=maffinity,btl-portals" will disable building all maffinity components and the "portals" btl components.])])
AC_ARG_ENABLE(mca-dso,
AC_HELP_STRING([--enable-mca-dso=LIST],
@ -221,7 +221,7 @@ AC_DEFUN([OPAL_MCA],[
# now configure all the projects, frameworks, and components. Most
# of the hard stuff is in here
MCA_PROJECT_SUBDIRS=
m4_foreach(mca_project, [mca_project_list],
m4_foreach(mca_project, [mca_project_list],
[# BWB: Until projects have seperate configure scripts
# and can skip running all of ORTE, just avoid recursing
# into orte sub directory if orte disabled
@ -270,7 +270,7 @@ AC_DEFUN([MCA_CONFIGURE_PROJECT],[
# MCA_project_FRAMEWORK_LIBS - list of libraries (or variables pointing
# to more libraries) that must be included
# in the project's main library
m4_ifdef([mca_$1_framework_list], [],
m4_ifdef([mca_$1_framework_list], [],
[m4_fatal([Could not find mca_$1_framework_list - please rerun autogen.pl])])
MCA_$1_FRAMEWORKS=
@ -281,7 +281,7 @@ AC_DEFUN([MCA_CONFIGURE_PROJECT],[
MCA_$1_FRAMEWORK_LIBS=
m4_foreach(mca_framework, [mca_$1_framework_list],
[m4_ifval(mca_framework,
[m4_ifval(mca_framework,
[dnl common has to go up front
m4_if(mca_framework, [common],
[MCA_$1_FRAMEWORKS="mca_framework $MCA_$1_FRAMEWORKS"
@ -318,9 +318,9 @@ AC_DEFUN([MCA_CONFIGURE_PROJECT],[
AC_DEFUN([MCA_ORDER_COMPONENT_LIST], [
m4_foreach(mca_component, [mca_$1_$2_m4_config_component_list],
[m4_ifval(mca_component,
[m4_ifdef([MCA_]$1[_]$2[_]mca_component[_PRIORITY], [],
[m4_ifdef([MCA_]$1[_]$2[_]mca_component[_PRIORITY], [],
[m4_fatal([MCA_$1_$2_]mca_component[_PRIORITY not found, but required.])])])])
m4_define([component_list],
m4_define([component_list],
[esyscmd([config/opal_mca_priority_sort.pl] m4_foreach([mca_component], [mca_$1_$2_m4_config_component_list],
[m4_ifval(mca_component, [mca_component ]OPAL_EVAL_ARG([MCA_]$1[_]$2[_]mca_component[_PRIORITY ]))]))])
])
@ -352,9 +352,9 @@ AC_DEFUN([MCA_CHECK_IGNORED_PRIORITY], [
AC_DEFUN([MCA_CONFIGURE_FRAMEWORK],[
opal_show_subsubtitle "Configuring MCA framework $2"
m4_ifdef([mca_$1_$2_no_config_component_list], [],
m4_ifdef([mca_$1_$2_no_config_component_list], [],
[m4_fatal([Could not find mca_$1_$2_no_config_component_list - please rerun autogen.pl])])
m4_ifdef([mca_$1_$2_m4_config_component_list], [],
m4_ifdef([mca_$1_$2_m4_config_component_list], [],
[m4_fatal([Could not find mca_$1_$2_m4_config_component_list - please rerun autogen.pl])])
# setup for framework
@ -400,7 +400,7 @@ AC_DEFUN([MCA_CONFIGURE_FRAMEWORK],[
# run the configure logic for the no-config components
m4_foreach(mca_component, [mca_$1_$2_no_config_component_list],
[m4_ifval(mca_component,
[MCA_CONFIGURE_NO_CONFIG_COMPONENT($1, $2, mca_component,
[MCA_CONFIGURE_NO_CONFIG_COMPONENT($1, $2, mca_component,
[all_components],
[static_components],
[dso_components],
@ -421,7 +421,7 @@ AC_DEFUN([MCA_CONFIGURE_FRAMEWORK],[
[m4_ifval(mca_component,
[m4_if(OPAL_EVAL_ARG([MCA_$1_$2_CONFIGURE_MODE]), [STOP_AT_FIRST_PRIORITY],
[AS_IF([test $best_mca_component_priority -gt MCA_$1_$2_]mca_component[_PRIORITY], [components_looking_for_succeed=0])])
MCA_CONFIGURE_M4_CONFIG_COMPONENT($1, $2, mca_component,
MCA_CONFIGURE_M4_CONFIG_COMPONENT($1, $2, mca_component,
[all_components],
[static_components],
[dso_components],
@ -497,7 +497,7 @@ EOF
rm -f $outfile
fi
fi
rm -f $outfile.struct $outfile.extern
rm -f $outfile.struct $outfile.extern
unset all_components static_components dso_components outfile outfile_real
])
@ -516,7 +516,7 @@ EOF
#
# USAGE:
# MCA_CONFIGURE_PROJECT(project_name, framework_name, component_name
# all_components_variable,
# all_components_variable,
# static_components_variable,
# dso_components_variable,
# static_ltlibs_variable,
@ -527,7 +527,7 @@ AC_DEFUN([MCA_CONFIGURE_NO_CONFIG_COMPONENT],[
opal_show_subsubsubtitle "MCA component $2:$3 (no configuration)"
opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: before, should_build=$8"
MCA_COMPONENT_BUILD_CHECK($1, $2, $3,
MCA_COMPONENT_BUILD_CHECK($1, $2, $3,
[should_build=$8], [should_build=0])
MCA_COMPONENT_COMPILE_MODE($1, $2, $3, compile_mode)
opal_show_verbose "OPAL_MCA_NO_CONFIG_COMPONENT: after, should_build=$should_build"
@ -561,12 +561,12 @@ AC_DEFUN([MCA_CONFIGURE_NO_CONFIG_COMPONENT],[
#
# USAGE:
# MCA_CONFIGURE_PROJECT(project_name, framework_name, component_name
# all_components_variable,
# all_components_variable,
# static_components_variable,
# dso_components_variable,
# static_ltlibs_variable,
# allowed_to_succeed,
# [eval if should build],
# [eval if should build],
# [eval if should not build])
#
######################################################################
@ -583,10 +583,9 @@ AC_DEFUN([MCA_CONFIGURE_M4_CONFIG_COMPONENT],[
[MCA_$1_$2_$3_COMPILE_MODE($1, $2, $3, compile_mode)],
[MCA_COMPONENT_COMPILE_MODE($1, $2, $3, compile_mode)])
# try to configure the component. pay no attention to
# --enable-dist, since we'll always have makefiles.
# try to configure the component
m4_ifdef([MCA_$1_$2_$3_CONFIG],
[MCA_$1_$2_$3_CONFIG([should_build=$should_build],
[MCA_$1_$2_$3_CONFIG([should_build=$should_build],
[should_build=0])],
[m4_fatal([MCA_$1_$2_$3_CONFIG macro not found])])
opal_show_verbose "OPAL_MCA_M4_CONFIG_COMPONENT: after, should_build=$should_build"
@ -601,7 +600,7 @@ AC_DEFUN([MCA_CONFIGURE_M4_CONFIG_COMPONENT],[
[ MCA_$1_$2_$3_POST_CONFIG($should_build)])
# set the AM_CONDITIONAL on how we should build
AS_IF([test "$compile_mode" = "dso"],
AS_IF([test "$compile_mode" = "dso"],
[BUILD_$1_$2_$3_DSO=1],
[BUILD_$1_$2_$3_DSO=0])
AM_CONDITIONAL(MCA_BUILD_$1_$2_$3_DSO, test "$BUILD_$1_$2_$3_DSO" = "1")
@ -620,9 +619,9 @@ AC_DEFUN([MCA_CONFIGURE_M4_CONFIG_COMPONENT],[
# scripts and should be configured according to the usual rules...
#
# USAGE:
# MCA_CONFIGURE_ALL_CONFIG_COMPONENTS(project_name,
# MCA_CONFIGURE_ALL_CONFIG_COMPONENTS(project_name,
# framework_name,
# all_components_variable,
# all_components_variable,
# static_components_variable,
# dso_components_variable,
# static_ltlibs_variable)
@ -635,7 +634,7 @@ AC_DEFUN([MCA_CONFIGURE_ALL_CONFIG_COMPONENTS],[
opal_show_subsubsubtitle "MCA component $2:$component (need to configure)"
opal_show_verbose "OPAL_MCA_ALL_CONFIG_COMPONENTS: before, should_build=$8"
MCA_COMPONENT_BUILD_CHECK($1, $2, $component,
MCA_COMPONENT_BUILD_CHECK($1, $2, $component,
[should_build=1], [should_build=0])
MCA_COMPONENT_COMPILE_MODE($1, $2, $component, compile_mode)
opal_show_verbose "OPAL_MCA_ALL_CONFIG_COMPONENTS: after, should_build=$should_build"
@ -736,7 +735,7 @@ AC_DEFUN([MCA_PROCESS_COMPONENT],[
AC_REQUIRE([AC_PROG_GREP])
# See if it dropped an output file for us to pick up some
# shell variables in.
# shell variables in.
infile="$srcdir/$1/mca/$2/$3/post_configure.sh"
# Add this subdir to the mast list of all MCA component subdirs
@ -763,7 +762,7 @@ AC_DEFUN([MCA_PROCESS_COMPONENT],[
# Output pretty results
AC_MSG_CHECKING([if MCA component $2:$3 can compile])
AC_MSG_RESULT([yes])
dnl BWB: FIX ME: We still use the post_configure.sh for frameworks that use the direct call infrastructure.
dnl All other uses we can ignore here, because config_components will have read it in and set all the
dnl proper environment variables. At some point, we should handle the direct call stuff the same way we
@ -784,7 +783,7 @@ AC_MSG_ERROR([*** $2 component $3 was supposed to be direct-called, but
fi
fi
else
# were we supposed to have found something in the
# were we supposed to have found something in the
# post_configure.sh, but the file didn't exist?
if test "$DIRECT_$2" = "$3" ; then
AC_MSG_ERROR([*** $2 component $3 was supposed to be direct-called, but
@ -802,7 +801,7 @@ AC_MSG_ERROR([*** $2 component $3 was supposed to be direct-called, but
# because it will link against these (without a dependency from
# libmpi.so to these flags)
if test "$8" = "static"; then
AS_LITERAL_IF([$3],
AS_LITERAL_IF([$3],
[m4_foreach(flags, [LDFLAGS, LIBS],
[AS_IF([test "$$2_$3_WRAPPER_EXTRA_]flags[" = ""],
[OPAL_FLAGS_APPEND_UNIQ([mca_wrapper_extra_]m4_tolower(flags), [$$2_$3_]flags)],
@ -818,10 +817,10 @@ AC_MSG_ERROR([*** $2 component $3 was supposed to be direct-called, but
# component can never be used in a STOP_AT_FIRST framework, we
# don't have to implement the else clause in the literal check...
AS_LITERAL_IF([$3],
[AS_IF([test "$$2_$3_WRAPPER_EXTRA_CPPFLAGS" != ""],
[AS_IF([test "$$2_$3_WRAPPER_EXTRA_CPPFLAGS" != ""],
[m4_if(OPAL_EVAL_ARG([MCA_$1_$2_CONFIGURE_MODE]), [STOP_AT_FIRST], [stop_at_first=1], [stop_at_first=0])
AS_IF([test "$8" = "static" && test "$stop_at_first" = "1"],
[AS_IF([test "$with_devel_headers" = "yes"],
[AS_IF([test "$with_devel_headers" = "yes"],
[OPAL_FLAGS_APPEND_UNIQ([mca_wrapper_extra_cppflags], [$$2_$3_WRAPPER_EXTRA_CPPFLAGS])])],
[AC_MSG_WARN([ignoring $2_$3_WRAPPER_EXTRA_CPPFLAGS ($$2_$3_WRAPPER_EXTRA_CPPFLAGS): component conditions not met])])])])
])
@ -857,11 +856,11 @@ AC_DEFUN([MCA_PROCESS_DEAD_COMPONENT],[
])
# MCA_COMPONENT_BUILD_CHECK(project_name (1), framework_name(2),
# MCA_COMPONENT_BUILD_CHECK(project_name (1), framework_name(2),
# component_name (3), action-if-build (4)
# action-if-not-build (5)
# -----------------------------------------------------------------
# checks the standard rules of component building to see if the
# checks the standard rules of component building to see if the
# given component should be built.
#
# Note: component_name may not be determined until runtime....

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

@ -128,22 +128,10 @@ AC_DEFUN([OPAL_SETUP_CC],[
# gcc-impersonating compilers won't accept them.
OPAL_CFLAGS_BEFORE_PICKY="$CFLAGS"
# If we want picky, see if the -fno-common flag is supported
if test $WANT_PICKY_COMPILER -eq 1; then
CFLAGS_orig=$CFLAGS
add=
CFLAGS="$CFLAGS -fno-common"
AC_CACHE_CHECK([if $CC supports -fno-common],
[opal_cv_cc_fno_common],
[AC_TRY_COMPILE([], [],
[opal_cv_cc_fno_common=yes],
[opal_cv_cc_fno_common=no])
])
if test "$opal_cv_cc_fno_common" = "yes" ; then
add="-fno-common"
fi
# These flags are likely GCC-specific (or, more specifically,
# we don't have general tests for each one, and we know they
# work with all versions of GCC that we have used throughout

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

@ -6,11 +6,11 @@
# Copyright (c) 2004-2014 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2004-2007 High Performance Computing Center Stuttgart,
# Copyright (c) 2004-2007 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2006-2008 Sun Microsystems, Inc. All rights reserved.
# Copyright (c) 2006-2011 Los Alamos National Security, LLC. All rights
# reserved.
@ -23,9 +23,9 @@
# Copyright (c) 2014-2015 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
#
#
# Additional copyrights may follow
#
#
# $HEADER$
#
@ -110,7 +110,7 @@ m4_ifdef([project_ompi],
[ompi/include/ompi/version.h])])
m4_ifdef([project_orte],
[OPAL_SAVE_VERSION([ORTE], [Open MPI Run-Time Environment],
[OPAL_SAVE_VERSION([ORTE], [Open MPI Run-Time Environment],
[$srcdir/VERSION],
[orte/include/orte/version.h])])
@ -1369,7 +1369,7 @@ fi
# the following in opal_mca.m4 (when we're already m4 looping over the
# project list):
#
# m4_foreach(mca_project, [mca_project_list],
# m4_foreach(mca_project, [mca_project_list],
# [m4_ifdef(mca_project[_CONFIG_LOCAL], mca_project[_CONFIG_LOCAL])])
#
# Meaning that aclocal doesn't see that, for example,

18
contrib/dist/make_dist_tarball поставляемый Исполняемый файл → Обычный файл
Просмотреть файл

@ -6,15 +6,15 @@
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2008-2014 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
# $COPYRIGHT$
#
#
# Additional copyrights may follow
#
#
# $HEADER$
#
@ -132,7 +132,7 @@ check_gnu_version() {
target_release=`echo $target_release | sed 's/[A-Za-z]//g'`
result=same
if test "$ver" != "$target"; then
if test "$ver" != "$target"; then
if test "$ver_major" -lt "$target_major"; then
result=low
elif test "$ver_major" = "$target_major" -a "$ver_minor" -lt "$target_minor"; then
@ -172,7 +172,7 @@ Either change this script to match the found version, or install
the correct version of the tools.
----------------------------------------------------------------------
EOF
if test "$gnu_version_ignore" = "0"; then
if test "$gnu_version_ignore" = "0"; then
exit 1
fi
@ -195,7 +195,7 @@ Either change this script to match the found version, or install
the correct version of the tools.
----------------------------------------------------------------------
EOF
if test "$gnu_version_ignore" = "0"; then
if test "$gnu_version_ignore" = "0"; then
exit 1
fi
else
@ -237,7 +237,7 @@ Either change this script to match the found version, or install
the correct version of the tools.
----------------------------------------------------------------------
EOF
if test "$gnu_version_ignore" = "0"; then
if test "$gnu_version_ignore" = "0"; then
exit 1
fi
fi
@ -269,7 +269,7 @@ make_tarball() {
#
echo "*** Running configure..."
rm -f success
(./configure --enable-dist 2>&1 && touch success) | tee config.out
(./configure 2>&1 && touch success) | tee config.out
if test ! -f success; then
echo "Configure failed. Aborting"
exit 1

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

@ -1,2 +0,0 @@
syntax: glob
.svn

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

@ -1,203 +0,0 @@
#!/usr/bin/env perl
#
# Copyright (c) 2008-2014 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2014 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
# Dumb script to run through all the svn:ignore's in the tree and build
# build a .hgignore file for Mercurial. Do a few trivial things to
# to try to have a few "global" files that don't need to be listed in
# every directory (i.e., reduce the total length of the .hgignore file).
use strict;
use Getopt::Long;
my $verbose_arg = 0;
# Default to writing .hgignore
my $output_arg = ".hgignore";
my $help_arg = 0;
&Getopt::Long::Configure("bundling");
my $ok = Getopt::Long::GetOptions("verbose|v!" => \$verbose_arg,
"output|o=s" => \$output_arg,
"help|h!" => \$help_arg);
if (!$ok || $help_arg) {
print "
Usage: $0 [-v] [-o output] [-h]\n";
exit($ok);
}
print "Writing to: $output_arg\n"
if ($verbose_arg);
#############################################################################
print "Thinking...\n"
if (!$verbose_arg);
my @hgignore;
my @globals;
# if we are not in an svn repo, then just concatenate
# the .hgignore_global and any .hgignore_local files
# to make the new .hgignore
if (! -d "./.svn") {
print "Not in an svn repo - creating .hgignore from existing files\n"
if ($verbose_arg);
my @files = qw(.hgignore_global .hgignore_local);
while (@files) {
local $_ = shift @files;
if (-f $_) {
open(IN, $_) || die "Can't open $_";
print "Reading $_...\n"
if ($verbose_arg);
while (<IN>) {
chomp;
push(@hgignore, $_);
}
close(IN);
}
}
} else {
# Put in some specials that we ignore everywhere
push(@hgignore, "# Automatically generated by build-hgignore.pl; edits may be lost!
syntax: glob");
@globals = qw/.libs
.deps
.svn
*.la
*.lo
*.o
*.so
*.a
.dirstamp
*.dSYM
*.S
*.loT
*.orig
*.rej
*.class
*.xcscheme
*.plist
.git*
.mailmap
.DS_Store
stamp-h[1-9]
configure
config.guess
config.sub
config.log
config.status
libtool
ltmain.sh
missing
depcomp
install-sh
aclocal.m4
autom4te.cache
Makefile
static-components.h
project_list.m4
orte_wrapper_script
ompi_wrapper_script
make.out
config.out
auto.out
diff.out
*~
*\\\#/;
# Start at the top level
process(".");
# See if there's an .hgignore_local file. If so, add its contents to the end.
if (-f ".hgignore_local") {
print "Reading .hgignore_local...\n"
if ($verbose_arg);
open(IN, ".hgignore_local") || die "Can't open .hgignore_local";
while (<IN>) {
chomp;
push(@globals, $_);
}
close(IN);
}
}
# If there's an old $output_arg file, delete it
unlink($output_arg)
if (-f $output_arg);
# Write the new one
open(FILE, ">$output_arg");
print FILE join("\n", @hgignore) . "\n";
print FILE join("\n", @globals) . "\n";
close(FILE);
print "Wrote to $output_arg\n"
if ($verbose_arg);
# Done!
exit(0);
#######################################################################
# DFS-oriented recursive directory search
sub process {
my $dir = shift;
# Look at the svn:ignore property for this directory
my $svn_ignore = `svn pg svn:ignore $dir 2> /dev/null`;
# If svn failed, bail on this directory.
return
if ($? != 0);
chomp($svn_ignore);
if ($svn_ignore ne "") {
print "Found svn:ignore in $dir\n"
if ($verbose_arg);
foreach my $line (split(/\n/, $svn_ignore)) {
chomp($line);
$line =~ s/^\.\///;
next
if ($line eq "");
# Ensure not to ignore special hg files
next
if ($line eq ".hgignore" || $line eq ".hgrc" ||
$line eq ".hg");
# We're globally ignoring some specials already; we can
# skip those
my $skip = 0;
foreach my $g (@globals) {
if ($g eq $line) {
$skip = 1;
last;
}
}
next
if ($skip);
push(@hgignore, "$dir/$line");
}
}
# Now find subdirectories in this directory
my @entries;
opendir(DIR, $dir) || die "Cannot open directory \"$dir\" for reading: $!";
@entries = sort(readdir(DIR));
closedir DIR;
foreach my $e (@entries) {
# Skip special directories and sym links
next
if ($e eq "." || $e eq ".." || $e eq ".svn" || $e eq ".hg" ||
-l "$dir/$e");
# If it's a directory, analyze it
process("$dir/$e")
if (-d "$dir/$e");
}
}

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

@ -1,18 +0,0 @@
#!/bin/csh -f
if (! -d .hg) then
echo "Not in top-level HG repository dir"
exit 1
endif
echo Setting group to openmpi...
chgrp -R openmpi .
echo Setting all files to be group read/writable....
chmod -R g+rw .
echo Setting group "rwsx" perms on directories...
find . -type d -exec chmod g=rwsx {} \;
echo done
exit 0

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

@ -6,25 +6,22 @@
# Copyright (c) 2004-2005 The University of Tennessee and The University
# of Tennessee Research Foundation. All rights
# reserved.
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
# University of Stuttgart. All rights reserved.
# Copyright (c) 2004-2005 The Regents of the University of California.
# All rights reserved.
# Copyright (c) 2008-2010 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2015 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# $COPYRIGHT$
#
#
# Additional copyrights may follow
#
#
# $HEADER$
#
AC_DEFUN([MCA_ompi_io_romio_POST_CONFIG], [
AS_IF([test $1 -eq 0 -a "$enable_dist" = "yes"],
[AC_MSG_ERROR([ROMIO disabled but --enable-dist specifed. This will result in a bad tarball. Aborting configure.])])
AM_CONDITIONAL([MCA_io_romio_SHOULD_BUILD], [test $1 -eq 1])
])
@ -37,14 +34,14 @@ AC_DEFUN([MCA_ompi_io_romio_CONFIG],[
AC_ARG_ENABLE([io-romio],
[AC_HELP_STRING([--disable-io-romio],
[Disable the ROMIO MPI-IO component])])
AC_ARG_WITH([io-romio-flags],
AC_ARG_WITH([io-romio-flags],
[AC_HELP_STRING([--with-io-romio-flags=FLAGS],
[Pass FLAGS to the ROMIO distribution configuration script])])
AC_DEFINE_UNQUOTED([MCA_io_romio_USER_CONFIGURE_FLAGS], ["$with_io_romio_flags"], [Set of user-defined configure flags given to ROMIOs configure script via --with-io-romio-flags])
AC_MSG_CHECKING([if want ROMIO component])
AS_IF([test "$enable_io_romio" = "no"],
[AC_MSG_RESULT([no])
$2],
$2],
[AC_MSG_RESULT([yes])
AC_MSG_CHECKING([if MPI profiling is enabled])
AS_IF([test "$enable_mpi_profile" = "no"],
@ -69,11 +66,11 @@ AC_DEFUN([MCA_ompi_io_romio_CONFIG],[
[AS_IF([test "$enable_shared" = "yes"],
[io_romio_shared=enable],
[io_romio_shared=disable])
AS_IF([test "$enable_static" = "yes"],
AS_IF([test "$enable_static" = "yes"],
[io_romio_static=enable],
[io_romio_static=disable])])
AS_IF([test -n "$prefix" -a "$prefix" != "NONE"],
[io_romio_prefix_arg="--prefix=$prefix"],
AS_IF([test -n "$prefix" -a "$prefix" != "NONE"],
[io_romio_prefix_arg="--prefix=$prefix"],
[io_romio_prefix_arg=])
AS_IF([test "$cross_compiling" = "yes"],
@ -86,7 +83,7 @@ AC_DEFUN([MCA_ompi_io_romio_CONFIG],[
io_romio_flags="$io_romio_flags FROM_OMPI=yes CC="'"'"$CC"'"'" CFLAGS="'"'"$CFLAGS -D__EXTENSIONS__"'"'" CPPFLAGS="'"'"$CPPFLAGS"'"'" FFLAGS="'"'"$FFLAGS"'"'" LDFLAGS="'"'"$LDFLAGS"'"'" --$io_romio_shared-shared --$io_romio_static-static $io_romio_flags $io_romio_prefix_arg --disable-aio --disable-weak-symbols --enable-strict"
opal_show_subtitle "Configuring ROMIO distribution"
OPAL_CONFIG_SUBDIR([ompi/mca/io/romio/romio],
OPAL_CONFIG_SUBDIR([ompi/mca/io/romio/romio],
[$io_romio_flags],
[io_romio_happy=1], [io_romio_happy=0])

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

@ -267,7 +267,7 @@ static int ompi_mtl_mxm_component_query(mca_base_module_t **module, int *priorit
*/
*priority = param_priority;
*module = &ompi_mtl_mxm.super;
*module = (mca_base_module_t *)&ompi_mtl_mxm.super;
return OMPI_SUCCESS;
}

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

@ -108,7 +108,7 @@ static int
ompi_mtl_ofi_component_query(mca_base_module_t **module, int *priority)
{
*priority = param_priority;
*module = &ompi_mtl_ofi.base;
*module = (mca_base_module_t *)&ompi_mtl_ofi.base;
return OMPI_SUCCESS;
}

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

@ -232,7 +232,7 @@ ompi_mtl_portals4_component_query(mca_base_module_t **module, int *priority)
*/
*priority = param_priority;
*module = &ompi_mtl_portals4.base;
*module = (mca_base_module_t *)&ompi_mtl_portals4.base;
return OMPI_SUCCESS;
}

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

@ -200,7 +200,7 @@ ompi_mtl_psm_component_query(mca_base_module_t **module, int *priority)
*/
*priority = param_priority;
*module = &ompi_mtl_psm.super;
*module = (mca_base_module_t *)&ompi_mtl_psm.super;
return OMPI_SUCCESS;
}

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

@ -70,7 +70,7 @@ struct mca_mtl_psm_component_t {
};
typedef struct mca_mtl_psm_component_t mca_mtl_psm_component_t;
OMPI_DECLSPEC mca_mtl_psm_component_t mca_mtl_psm_component;
OMPI_DECLSPEC extern mca_mtl_psm_component_t mca_mtl_psm_component;
#define PSM_MAKE_MQTAG(ctxt,rank,utag) \
( (((ctxt)&0xffffULL)<<48)| (((rank)&0xffffULL)<<32)| \

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

@ -6,17 +6,18 @@
* Copyright (c) 2004-2007 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2012 Los Alamos National Security, LLC. All rights
* reserved.
* reserved.
* Copyright (c) 2013-2014 Intel, Inc. All rights reserved
* Copyright (c) 2015 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$
*
*
* Additional copyrights may follow
*
*
* $HEADER$
*/
@ -85,25 +86,25 @@ int mca_pml_base_select(bool enable_progress_threads,
/* if there is an include list - item must be in the list to be included */
found_pml = false;
for( i = 0; i < opal_pointer_array_get_size(&mca_pml_base_pml); i++) {
for( i = 0; i < opal_pointer_array_get_size(&mca_pml_base_pml); i++) {
char * tmp_val = NULL;
tmp_val = (char *) opal_pointer_array_get_item(&mca_pml_base_pml, i);
if( NULL == tmp_val) {
continue;
}
if(0 == strncmp(component->pmlm_version.mca_component_name,
if(0 == strncmp(component->pmlm_version.mca_component_name,
tmp_val, strlen(component->pmlm_version.mca_component_name)) ) {
found_pml = true;
break;
}
}
if(!found_pml && opal_pointer_array_get_size(&mca_pml_base_pml)) {
if(!found_pml && opal_pointer_array_get_size(&mca_pml_base_pml)) {
opal_output_verbose( 10, ompi_pml_base_framework.framework_output,
"select: component %s not in the include list",
component->pmlm_version.mca_component_name );
continue;
}
@ -119,7 +120,7 @@ int mca_pml_base_select(bool enable_progress_threads,
num_pml++;
/* Init component to get its priority */
opal_output_verbose( 10, ompi_pml_base_framework.framework_output,
opal_output_verbose( 10, ompi_pml_base_framework.framework_output,
"select: initializing %s component %s",
component->pmlm_version.mca_type_name,
component->pmlm_version.mca_component_name );
@ -146,14 +147,14 @@ int mca_pml_base_select(bool enable_progress_threads,
continue;
}
/* Otherwise determine if this is the best component */
else
else
#endif
if (priority > best_priority) {
best_priority = priority;
best_component = component;
best_module = module;
}
om = (opened_component_t*)malloc(sizeof(opened_component_t));
if (NULL == om) {
return OMPI_ERR_OUT_OF_RESOURCE;
@ -164,10 +165,13 @@ int mca_pml_base_select(bool enable_progress_threads,
}
/* Finished querying all components. Check for the bozo case. */
if( NULL == best_component ) {
opal_show_help("help-mca-base.txt", "find-available:none-found", true, "pml");
for( i = 0; i < opal_pointer_array_get_size(&mca_pml_base_pml); i++) {
opal_show_help("help-mca-base.txt", "find-available:none found",
true, "pml",
opal_process_info.nodename,
"pml");
for( i = 0; i < opal_pointer_array_get_size(&mca_pml_base_pml); i++) {
char * tmp_val = NULL;
tmp_val = (char *) opal_pointer_array_get_item(&mca_pml_base_pml, i);
if( NULL == tmp_val) {
@ -175,22 +179,22 @@ int mca_pml_base_select(bool enable_progress_threads,
}
ompi_rte_abort(1, "PML %s cannot be selected", tmp_val);
}
if(0 == i) {
if(0 == i) {
ompi_rte_abort(2, "No pml component available. This shouldn't happen.");
}
}
}
opal_output_verbose( 10, ompi_pml_base_framework.framework_output,
"selected %s best priority %d\n",
"selected %s best priority %d\n",
best_component->pmlm_version.mca_component_name, best_priority);
/* if more than one PML could be considered, then we still need the
* modex since we cannot know which one will be selected on all procs
*/
if (1 < num_pml) {
modex_reqd = true;
}
/* Finalize all non-selected components */
for (item = opal_list_remove_first(&opened);
@ -204,15 +208,15 @@ int mca_pml_base_select(bool enable_progress_threads,
#endif
) {
/* Finalize */
if (NULL != om->om_component->pmlm_finalize) {
/* Blatently ignore the return code (what would we do to
recover, anyway? This component is going away, so errors
don't matter anymore) */
om->om_component->pmlm_finalize();
opal_output_verbose(10, ompi_pml_base_framework.framework_output,
opal_output_verbose(10, ompi_pml_base_framework.framework_output,
"select: component %s not selected / finalized",
om->om_component->pmlm_version.mca_component_name);
}
@ -229,7 +233,7 @@ int mca_pml_base_select(bool enable_progress_threads,
if( NULL != wrapper_component ) {
OPAL_LIST_FOREACH(cli, &ompi_pml_base_framework.framework_components, mca_base_component_list_item_t) {
component = (mca_pml_base_component_t *) cli->cli_component;
if( component == wrapper_component ) {
opal_list_remove_item(&ompi_pml_base_framework.framework_components, item);
}
@ -241,7 +245,7 @@ int mca_pml_base_select(bool enable_progress_threads,
mca_pml_base_selected_component = *best_component;
mca_pml = *best_module;
opal_output_verbose( 10, ompi_pml_base_framework.framework_output,
opal_output_verbose( 10, ompi_pml_base_framework.framework_output,
"select: component %s selected",
mca_pml_base_selected_component.pmlm_version.mca_component_name );
@ -249,16 +253,16 @@ int mca_pml_base_select(bool enable_progress_threads,
available list all unselected components. The available list will
contain only the selected component. */
mca_base_components_close(ompi_pml_base_framework.framework_output,
&ompi_pml_base_framework.framework_components,
mca_base_components_close(ompi_pml_base_framework.framework_output,
&ompi_pml_base_framework.framework_components,
(mca_base_component_t *) best_component);
#if OPAL_ENABLE_FT_CR == 1
/* If we have a wrapper then initalize it */
if( NULL != wrapper_component ) {
priority = PML_SELECT_WRAPPER_PRIORITY;
opal_output_verbose( 10, ompi_pml_base_framework.framework_output,
"pml:select: Wrapping: Component %s [%d] is being wrapped by component %s [%d]",
"pml:select: Wrapping: Component %s [%d] is being wrapped by component %s [%d]",
mca_pml_base_selected_component.pmlm_version.mca_component_name,
best_priority,
wrapper_component->pmlm_version.mca_component_name,
@ -333,18 +337,18 @@ mca_pml_base_pml_check_selected(const char *my_pml,
"check:select: modex not reqd");
return OMPI_SUCCESS;
}
/* if we are rank=0, then we can also assume success */
if (0 == OMPI_PROC_MY_NAME->vpid) {
opal_output_verbose( 10, ompi_pml_base_framework.framework_output,
"check:select: rank=0");
return OMPI_SUCCESS;
}
/* get the name of the PML module selected by rank=0 */
OPAL_MODEX_RECV(ret, &pml_base_component,
&procs[0]->super, (void**) &remote_pml, &size);
/* if this key wasn't found, then just assume all is well... */
if (OMPI_SUCCESS != ret) {
opal_output_verbose( 10, ompi_pml_base_framework.framework_output,
@ -361,11 +365,11 @@ mca_pml_base_pml_check_selected(const char *my_pml,
"check:select: got a NULL pml from rank=0");
return OMPI_ERR_UNREACH;
}
opal_output_verbose( 10, ompi_pml_base_framework.framework_output,
"check:select: checking my pml %s against rank=0 pml %s",
my_pml, remote_pml);
/* if that module doesn't match my own, return an error */
if ((size != strlen(my_pml) + 1) ||
(0 != strcmp(my_pml, remote_pml))) {
@ -377,7 +381,7 @@ mca_pml_base_pml_check_selected(const char *my_pml,
free(remote_pml); /* cleanup before returning */
return OMPI_ERR_UNREACH;
}
free(remote_pml);
return OMPI_SUCCESS;
}

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

@ -127,8 +127,8 @@ static int init_ud_qp(struct ibv_context *context_arg,
memset(&iattr, 0, sizeof(iattr));
iattr.send_cq = cache->cq;
iattr.recv_cq = cache->cq;
iattr.cap.max_send_wr = 2;
iattr.cap.max_recv_wr = 2;
iattr.cap.max_send_wr = 1;
iattr.cap.max_recv_wr = 1;
iattr.cap.max_send_sge = 1;
iattr.cap.max_recv_sge = 1;
iattr.qp_type = IBV_QPT_UD;
@ -257,24 +257,24 @@ static int get_pathrecord_info(struct mca_btl_openib_sa_qp_cache *cache,
while (0 == got_sl_value) {
ne = ibv_poll_cq(cache->cq, 1, &wc);
if (ne > 0 &&
IBV_WC_SUCCESS == wc.status &&
IBV_WC_RECV == wc.opcode &&
wc.byte_len >= MAD_BLOCK_SIZE &&
resp_mad->trans_id == req_mad->trans_id) {
if (ne > 0 && IBV_WC_RECV == wc.opcode) {
/* We only care about the status of receive work requests. */
/* If the status of the send work request was anything other */
/* than success, we'll eventually retransmit, so ignore them. */
if (0 == resp_mad->status &&
req_path_record->slid == htons(lid) &&
req_path_record->dlid == htons(rem_lid)) {
req_path_record->dlid == htons(rem_lid) &&
IBV_WC_SUCCESS == wc.status &&
wc.byte_len >= MAD_BLOCK_SIZE &&
resp_mad->trans_id == req_mad->trans_id) {
/* Everything matches, so we have the desired SL */
cache->sl_values[rem_lid] = ib_path_rec_sl(resp_path_record);
got_sl_value = 1; /* still must repost recieve buf */
} else {
/* Probably bad status, unlikely bad lid match. We will */
/* ignore response and let it time out so that we do a */
/* retry, but after a delay. We must make a new TID so */
/* the SM doesn't see it as the same request. */
req_mad->trans_id += hton64(1);
got_sl_value = 1;
break;
}
/* Probably bad status, unlikely bad lid match. We will */
/* ignore response and let it time out so that we do a */
/* retry, but after a delay. Need to repost receive WR. */
rc = ibv_post_recv(cache->qp, &(cache->rwr), &brwr);
if (0 != rc) {
BTL_ERROR(("error posing receive on QP[%x] rc says: %s [%d]",
@ -295,7 +295,10 @@ static int get_pathrecord_info(struct mca_btl_openib_sa_qp_cache *cache,
MAX_GET_SL_REC_RETRIES));
return OPAL_ERROR;
}
break; /* retransmit request */
/* Need to retransmit request. We must make a new TID */
/* so the SM doesn't see it as the same request. */
req_mad->trans_id += hton64(1);
break;
}
usleep(100); /* otherwise pause before polling again */
} else if (ne < 0) {

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

@ -1,6 +1,6 @@
/*
* Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
* Copyright (c) 2013-2014 Intel Inc. All rights reserved
* Copyright (c) 2013-2015 Intel Inc. All rights reserved
* Copyright (c) 2014 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2014 Research Organization for Information Science
@ -18,6 +18,7 @@
#include "opal_stdint.h"
#include "opal/mca/mca.h"
#include "opal/util/argv.h"
#include "opal/util/error.h"
#include "opal/util/output.h"
#include "opal/mca/base/base.h"

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

@ -1,5 +1,6 @@
/* Copyright (c) 2014 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -11,6 +12,7 @@
#include "opal/constants.h"
#include "opal/mca/base/base.h"
#include "opal/util/argv.h"
#include "opal/mca/dstore/dstore.h"
#include "opal/mca/dstore/base/base.h"

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

@ -460,6 +460,11 @@ arc4random_stir(void)
}
#endif
/**** OMPI CHANGE ****/
/* We don't use arc4random_addrandom anywhere,
* and some OS's don't like it - so just don't
* build the darn thing */
#if 0
#ifndef ARC4RANDOM_NOADDRANDOM
ARC4RANDOM_EXPORT void
arc4random_addrandom(const unsigned char *dat, int datlen)
@ -478,6 +483,7 @@ arc4random_addrandom(const unsigned char *dat, int datlen)
_ARC4_UNLOCK();
}
#endif
#endif
#ifndef ARC4RANDOM_NORANDOM
ARC4RANDOM_EXPORT ARC4RANDOM_UINT32

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

@ -30,9 +30,7 @@
/* Note that this initializer is important -- do not remove it! See
https://github.com/open-mpi/ompi/issues/375 for details. */
opal_pmix_base_module_t opal_pmix = {
.init = (opal_pmix_base_module_init_fn_t) NULL
};
opal_pmix_base_module_t opal_pmix = { 0 };
bool opal_pmix_use_collective = false;
bool opal_pmix_base_allow_delayed_server = false;

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

@ -1,6 +1,6 @@
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
/*
* Copyright (c) 2014 Intel, Inc. All rights reserved.
* Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
* Copyright (c) 2014 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2014 Mellanox Technologies, Inc.
@ -28,6 +28,7 @@
#include "opal/mca/hwloc/base/base.h"
#include "opal/runtime/opal.h"
#include "opal/runtime/opal_progress_threads.h"
#include "opal/util/argv.h"
#include "opal/util/error.h"
#include "opal/util/output.h"
#include "opal/util/proc.h"
@ -190,19 +191,18 @@ static int native_init(void)
opal_output_verbose(2, opal_pmix_base_framework.framework_output,
"%s pmix:native NULL uri",
OPAL_NAME_PRINT(OPAL_PROC_MY_NAME));
if (opal_pmix_base_allow_delayed_server) {
if (NULL != (srv = getenv("PMIX_SERVER_URI"))) {
mca_pmix_native_component.uri = strdup(srv);
mca_pmix_native_component.id = OPAL_PROC_MY_NAME;
} else if (opal_pmix_base_allow_delayed_server) {
/* not ready yet, so decrement our init_cntr so we can come thru
* here again */
--init_cntr;
/* let the caller know that the server isn't available yet */
return OPAL_ERR_SERVER_NOT_AVAIL;
}
if (NULL == (srv = getenv("PMIX_SERVER_URI"))) {
/* error out - should have been here, but isn't */
} else {
return OPAL_ERROR;
}
mca_pmix_native_component.uri = strdup(srv);
mca_pmix_native_component.id = OPAL_PROC_MY_NAME;
}
/* if we have it, setup the path to the daemon rendezvous point */

38
opal/mca/sec/munge/Makefile.am Обычный файл
Просмотреть файл

@ -0,0 +1,38 @@
#
# Copyright (c) 2015 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
sources = \
sec_munge.h \
sec_munge_component.c \
sec_munge.c
# Make the output library in this directory, and name it either
# mca_<type>_<name>.la (for DSO builds) or libmca_<type>_<name>.la
# (for static builds).
if MCA_BUILD_opal_sec_munge_DSO
component_noinst =
component_install = mca_sec_munge.la
else
component_noinst = libmca_sec_munge.la
component_install =
endif
mcacomponentdir = $(opallibdir)
mcacomponent_LTLIBRARIES = $(component_install)
mca_sec_munge_la_SOURCES = $(sources)
mca_sec_munge_la_CPPFLAGS = $(sec_munge_CPPFLAGS)
mca_sec_munge_la_LDFLAGS = -module -avoid-version $(sec_munge_LDFLAGS)
mca_sec_munge_la_LIBADD = $(sec_munge_LIBS)
noinst_LTLIBRARIES = $(component_noinst)
libmca_sec_munge_la_SOURCES =$(sources)
libmca_sec_munge_la_CPPFLAGS = $(sec_munge_CPPFLAGS)
libmca_sec_munge_la_LDFLAGS = -module -avoid-version $(sec_munge_LDFLAGS)
libmca_sec_munge_la_LIBADD = $(sec_munge_LIBS)

86
opal/mca/sec/munge/configure.m4 Обычный файл
Просмотреть файл

@ -0,0 +1,86 @@
# -*- shell-script -*-
#
# Copyright (c) 2015 Intel, Inc. All rights reserved
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
# MCA_sec_munge_CONFIG([action-if-found], [action-if-not-found])
# --------------------------------------------------------------------
AC_DEFUN([MCA_opal_sec_munge_CONFIG],[
AC_CONFIG_FILES([opal/mca/sec/munge/Makefile])
OPAL_VAR_SCOPE_PUSH([sec_munge_support sec_munge_dir sec_munge_libdir save_cpp save_ld])
AC_ARG_WITH([munge],
[AC_HELP_STRING([--with-munge=DIR],
[Search for munge headers and libraries in DIR ])])
AC_ARG_WITH([munge-libdir],
[AC_HELP_STRING([--with-munge-libdir=DIR],
[Search for munge libraries in DIR ])])
sec_munge_support=0
if test "$with_munge" != "no"; then
AC_MSG_CHECKING([for munge in])
if test ! -z "$with_munge" -a "$with_munge" != "yes"; then
if test -d $with_munge/include/munge; then
sec_munge_dir=$with_munge/include/munge
else
sec_munge_dir=$with_munge
fi
if test -d $with_munge/lib; then
sec_munge_libdir=$with_munge/lib
elif -d $with_munge/lib64; then
sec_munge_libdir=$with_munge/lib64
else
AC_MSG_RESULT([Could not find $with_munge/lib or $with_munge/lib64])
AC_MSG_ERROR([Can not continue])
fi
AC_MSG_RESULT([$sec_munge_dir and $sec_munge_libdir])
else
AC_MSG_RESULT([(default search paths)])
sec_munge_dir=
fi
AS_IF([test ! -z "$with_munge_libdir" && test "$with_munge_libdir" != "yes"],
[sec_munge_libdir="$with_munge_libdir"])
save_cpp=$CPPFLAGS
save_ld=$LDFLAGS
OPAL_CHECK_PACKAGE([sec_munge],
[munge.h],
[munge],
[munge_encode],
[-lmunge],
[$sec_munge_dir],
[$sec_munge_libdir],
[sec_munge_support=1],
[sec_munge_support=0])
CPPFLAGS=$save_cpp
LDFLAGS=$save_ld
fi
if test ! -z "$with_munge" && test "$with_munge" != "no" && test "$sec_munge_support" != "1"; then
AC_MSG_WARN([MUNGE SUPPORT REQUESTED AND NOT FOUND.])
AC_MSG_ERROR([CANNOT CONTINUE])
fi
AC_MSG_CHECKING([will munge support be built])
AS_IF([test "$sec_munge_support" != "1"],
[AC_MSG_RESULT([no])
$2],
[AC_MSG_RESULT([yes])
$1])
# set build flags to use in makefile
AC_SUBST([sec_munge_CPPFLAGS])
AC_SUBST([sec_munge_LDFLAGS])
AC_SUBST([sec_munge_LIBS])
OPAL_VAR_SCOPE_POP
])dnl

107
opal/mca/sec/munge/sec_munge.c Обычный файл
Просмотреть файл

@ -0,0 +1,107 @@
/*
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*
*/
#include "opal_config.h"
#include "opal/constants.h"
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#include <munge.h>
#include "opal_stdint.h"
#include "opal/dss/dss_types.h"
#include "opal/util/error.h"
#include "opal/util/output.h"
#include "opal/util/show_help.h"
#include "opal/mca/dstore/dstore.h"
#include "opal/mca/sec/base/base.h"
#include "sec_munge.h"
static int init(void);
static void finalize(void);
static int get_my_cred(int dstorehandle,
opal_process_name_t *my_id,
opal_sec_cred_t **cred);
static int authenticate(opal_sec_cred_t *cred);
opal_sec_base_module_t opal_sec_munge_module = {
init,
finalize,
get_my_cred,
authenticate
};
static opal_sec_cred_t my_cred;
static bool initialized = false;
static int init(void)
{
int rc;
opal_output_verbose(2, opal_sec_base_framework.framework_output,
"sec: munge init");
/* attempt to get a credential as a way of checking that
* the munge server is available - cache the credential
* for later use */
if (EMUNGE_SUCCESS != (rc = munge_encode(&my_cred.credential, NULL, NULL, 0))) {
opal_output_verbose(2, opal_sec_base_framework.framework_output,
"sec: munge failed to create credential: %s",
munge_strerror(rc));
return OPAL_ERR_SERVER_NOT_AVAIL;
}
initialized = true;
return OPAL_SUCCESS;
}
static void finalize(void)
{
if (initialized) {
free(my_cred.credential);
}
}
static int get_my_cred(int dstorehandle,
opal_process_name_t *my_id,
opal_sec_cred_t **cred)
{
if (initialized) {
*cred = &my_cred;
} else {
*cred = NULL;
}
return OPAL_SUCCESS;
}
static int authenticate(opal_sec_cred_t *cred)
{
munge_err_t rc;
opal_output_verbose(2, opal_sec_base_framework.framework_output,
"sec: munge validate_cred %s", cred->credential);
/* parse the inbound string */
if (EMUNGE_SUCCESS != (rc = munge_decode(cred->credential, NULL, NULL, NULL, NULL, NULL))) {
opal_output_verbose(2, opal_sec_base_framework.framework_output,
"sec: munge failed to decode credential: %s",
munge_strerror(rc));
return OPAL_ERR_AUTHENTICATION_FAILED;
}
opal_output_verbose(2, opal_sec_base_framework.framework_output,
"sec: munge credential valid");
return OPAL_SUCCESS;
}

23
opal/mca/sec/munge/sec_munge.h Обычный файл
Просмотреть файл

@ -0,0 +1,23 @@
/*
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef OPAL_SEC_MUNGE_H
#define OPAL_SEC_MUNGE_H
#include "opal/mca/sec/sec.h"
BEGIN_C_DECLS
OPAL_MODULE_DECLSPEC extern opal_sec_base_component_t mca_sec_munge_component;
OPAL_DECLSPEC extern opal_sec_base_module_t opal_sec_munge_module;
END_C_DECLS
#endif /* OPAL_SEC_MUNGE_H */

64
opal/mca/sec/munge/sec_munge_component.c Обычный файл
Просмотреть файл

@ -0,0 +1,64 @@
/*
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#include "opal_config.h"
#include "opal/constants.h"
#include "opal/mca/base/base.h"
#include "opal/mca/sec/sec.h"
#include "sec_munge.h"
static int sec_munge_component_open(void);
static int sec_munge_component_query(mca_base_module_t **module, int *priority);
static int sec_munge_component_close(void);
/*
* Instantiate the public struct with all of our public information
* and pointers to our public functions in it
*/
opal_sec_base_component_t mca_sec_munge_component = {
{
OPAL_SEC_BASE_VERSION_1_0_0,
/* Component name and version */
"munge",
OPAL_MAJOR_VERSION,
OPAL_MINOR_VERSION,
OPAL_RELEASE_VERSION,
/* Component open and close functions */
sec_munge_component_open,
sec_munge_component_close,
sec_munge_component_query,
NULL
},
{
/* The component is checkpoint ready */
MCA_BASE_METADATA_PARAM_CHECKPOINT
}
};
static int sec_munge_component_open(void)
{
return OPAL_SUCCESS;
}
static int sec_munge_component_query(mca_base_module_t **module, int *priority)
{
*priority = 10;
*module = (mca_base_module_t*)&opal_sec_munge_module;
return OPAL_SUCCESS;
}
static int sec_munge_component_close(void)
{
return OPAL_SUCCESS;
}

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

@ -1,5 +1,5 @@
/*
* Copyright (c) 2014 Intel, Inc. All rights reserved.
* Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -10,6 +10,10 @@
#include "opal_config.h"
#include "opal/constants.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include "opal/class/opal_list.h"
#include "opal/mca/event/event.h"
#include "opal/threads/threads.h"
@ -153,6 +157,15 @@ void opal_stop_progress_thread(char *name, bool cleanup)
/* find the specified engine */
OPAL_LIST_FOREACH(trk, &tracking, opal_progress_tracker_t) {
if (0 == strcmp(name, trk->name)) {
/* if it is already inactive, then just cleanup if that
* is the request */
if (!trk->ev_active) {
if (cleanup) {
opal_list_remove_item(&tracking, &trk->super);
OBJ_RELEASE(trk);
}
return;
}
/* mark it as inactive */
trk->ev_active = false;
/* break the event loop - this will cause the loop to exit

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

@ -38,7 +38,7 @@ endif
mcacomponentdir = $(ompilibdir)
mcacomponent_LTLIBRARIES = $(component_install)
mca_ess_alps_la_SOURCES = $(sources)
mca_ess_alps_la_CPPFLAGS = $(ess_alps_CPPFLAGS) -fno-ident
mca_ess_alps_la_CPPFLAGS = $(ess_alps_CPPFLAGS)
mca_ess_alps_la_LDFLAGS = -module -avoid-version $(ess_alps_LDFLAGS)
mca_ess_alps_la_LIBADD = $(ess_alps_LDFLAGS) \
$(ORTE_TOP_BUILDDIR)/orte/mca/common/alps/lib@ORTE_LIB_PREFIX@mca_common_alps.la

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

@ -345,6 +345,13 @@ int orte_ess_base_app_finalize(void)
{
orte_cr_finalize();
/* release the event base so we stop all potential
* race conditions in the messaging teardown */
if (progress_thread_running) {
opal_stop_progress_thread("orte", false);
progress_thread_running = false;
}
#if OPAL_ENABLE_FT_CR == 1
(void) mca_base_framework_close(&orte_snapc_base_framework);
(void) mca_base_framework_close(&orte_sstore_base_framework);
@ -364,19 +371,10 @@ int orte_ess_base_app_finalize(void)
(void) mca_base_framework_close(&orte_oob_base_framework);
(void) mca_base_framework_close(&orte_state_base_framework);
/* release the event base */
if (progress_thread_running) {
/* we had to leave the progress thread running until
* we closed the routed framework as that closure
* sends a "sync" message to the local daemon. it
* is now safe to stop the progress thread
*/
opal_stop_progress_thread("orte", true);
progress_thread_running = false;
}
orte_session_dir_finalize(ORTE_PROC_MY_NAME);
/* free the event base to cleanup memory */
opal_stop_progress_thread("orte", true);
return ORTE_SUCCESS;
}

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

@ -80,7 +80,7 @@ static int pmi_component_query(mca_base_module_t **module, int *priority)
return ret;
}
if (OPAL_SUCCESS != (ret = opal_pmix_base_select())) {
ORTE_ERROR_LOG(ret);
/* don't error log this as it might not be an error at all */
*priority = -1;
*module = NULL;
(void) mca_base_framework_close(&opal_pmix_base_framework);

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

@ -99,9 +99,10 @@ int orte_plm_proxy_spawn(orte_job_t *jdata)
{
opal_buffer_t *buf;
orte_plm_cmd_flag_t command;
int rc;
int rc, i;
orte_proxy_spawn_t *ps;
orte_app_context_t *app;
OPAL_OUTPUT_VERBOSE((5, orte_plm_base_framework.framework_output,
"%s plm:base:proxy spawn child job",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME)));
@ -136,7 +137,18 @@ int orte_plm_proxy_spawn(orte_job_t *jdata)
OBJ_RELEASE(buf);
goto CLEANUP;
}
/* ensure that our prefix is passed along so that any launching daemons
* use the correct path */
for (i=0; i < jdata->apps->size; i++) {
if (NULL != (app = (orte_app_context_t*)opal_pointer_array_get_item(jdata->apps, i))) {
if (!orte_get_attribute(&app->attributes, ORTE_APP_PREFIX_DIR, NULL, OPAL_STRING)) {
orte_set_attribute(&app->attributes, ORTE_APP_PREFIX_DIR, ORTE_ATTR_GLOBAL,
opal_install_dirs.prefix, OPAL_STRING);
}
}
}
/* pack the jdata object */
if (ORTE_SUCCESS != (rc = opal_dss.pack(buf, &jdata, 1, ORTE_JOB))) {
ORTE_ERROR_LOG(rc);

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

@ -12,7 +12,7 @@
* All rights reserved.
* Copyright (c) 2011 Los Alamos National Security, LLC.
* All rights reserved.
* Copyright (c) 2014 Intel, Inc. All rights reserved.
* Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -38,6 +38,7 @@
#include "opal/mca/mca.h"
#include "opal/dss/dss.h"
#include "opal/threads/threads.h"
#include "opal/util/argv.h"
#include "orte/constants.h"
#include "orte/types.h"

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

@ -3,6 +3,7 @@
* All rights reserved.
* Copyright (c) 2004-2008 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -49,15 +50,16 @@ orte_routed_component_t mca_routed_direct_component = {
static int orte_routed_direct_component_query(mca_base_module_t **module, int *priority)
{
/* if we are an app and no daemon URI has been provided, then
* we must be chosen */
if (ORTE_PROC_IS_APP && !ORTE_PROC_IS_SINGLETON &&
NULL == orte_process_info.my_daemon_uri) {
/* if we are an app and no daemon URI has been provided, or
* we are a singleton, then we must be chosen */
if (ORTE_PROC_IS_APP && NULL == orte_process_info.my_daemon_uri) {
/* we are direct launched, so set some arbitrary value
* for the daemon name */
ORTE_PROC_MY_DAEMON->jobid = 0;
ORTE_PROC_MY_DAEMON->vpid = 0;
*priority = 100;
} else if (ORTE_PROC_IS_SINGLETON) {
*priority = 100;
} else {
/* allow selection only when specifically requested */
*priority = 0;

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

@ -13,7 +13,7 @@
* All rights reserved.
* Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
* Copyright (c) 2013-2014 Intel, Inc. All rights reserved.
* Copyright (c) 2013-2015 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -31,6 +31,7 @@
#endif
#include <ctype.h>
#include "opal/util/argv.h"
#include "opal/util/opal_environ.h"
#include "opal/util/os_dirpath.h"
#include "opal/util/show_help.h"

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

@ -113,6 +113,7 @@ void orte_daemon_recv(int status, orte_process_name_t* sender,
orte_std_cntr_t num_procs, num_new_procs = 0, p;
orte_proc_t *cur_proc = NULL, *prev_proc = NULL;
bool found = false;
orte_node_t *node;
/* unpack the command */
n = 1;
@ -548,6 +549,11 @@ void orte_daemon_recv(int status, orte_process_name_t* sender,
orte_rml.send_buffer_nb(ORTE_PROC_MY_NAME, iofbuf, ORTE_RML_TAG_IOF_HNP,
orte_rml_send_callback, NULL);
}
for (i=1; i < orte_node_pool->size; i++) {
if (NULL != (node = (orte_node_t*)opal_pointer_array_get_item(orte_node_pool, i))) {
node->state = ORTE_NODE_STATE_ADDED;
}
}
/* now launch the job - this will just push it into our state machine */
if (ORTE_SUCCESS != (ret = orte_plm.spawn(jdata))) {
ORTE_ERROR_LOG(ret);

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

@ -13,7 +13,7 @@
* All rights reserved.
* Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2011 Oak Ridge National Labs. All rights reserved.
* Copyright (c) 2013-2014 Intel, Inc. All rights reserved.
* Copyright (c) 2013-2015 Intel, Inc. All rights reserved.
* Copyright (c) 2014 Mellanox Technologies, Inc.
* All rights reserved.
* Copyright (c) 2014 Research Organization for Information Science
@ -35,6 +35,7 @@
#include "opal_stdint.h"
#include "opal/types.h"
#include "opal/util/argv.h"
#include "opal/util/output.h"
#include "opal/util/error.h"
#include "opal/mca/dstore/dstore.h"

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

@ -53,6 +53,7 @@ EXTRA_DIST += \
test/mpi/ziatest.c \
test/mpi/ziaprobe.c \
test/mpi/singleton_client_server.c \
test/mpi/spawn_tree.c \
test/mpi/info_spawn.c
test/mpi/spawn_tree.c \
test/mpi/info_spawn.c \
test/mpi/pmix.c

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

@ -120,9 +120,9 @@ static opal_cmd_line_init_t cmd_line_init[] = {
&myglobals.prefix, OPAL_CMD_LINE_TYPE_STRING,
"Prefix to be used to look for ORTE executables" },
{ "orte_debug", 'd', "debug-devel", "debug-devel", 0,
NULL, OPAL_CMD_LINE_TYPE_BOOL,
"Enable debugging of OpenRTE" },
{ "orte_debug_daemons", '\0', "debug-daemons", "debug-daemons", 0,
NULL, OPAL_CMD_LINE_TYPE_BOOL,
"Debug daemons" },
/* End of list */
{ NULL, '\0', NULL, NULL, 0,
@ -427,10 +427,6 @@ static void notify_requestor(int sd, short args, void *cbdata)
int ret;
opal_buffer_t *reply;
opal_output(0, "%s dvm: job %s has completed",
ORTE_NAME_PRINT(ORTE_PROC_MY_NAME),
(NULL == jdata) ? "NULL" : ORTE_JOBID_PRINT(jdata->jobid));
/* notify the requestor */
reply = OBJ_NEW(opal_buffer_t);
/* see if there was any problem */

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

@ -397,8 +397,7 @@ int main(int argc, char *argv[])
}
OBJ_DESTRUCT(&cmd_line);
if (0 == strncmp(myglobals.hnp, "file", strlen("file")) ||
0 == strncmp(myglobals.hnp, "FILE", strlen("FILE"))) {
if (0 == strncasecmp(myglobals.hnp, "file", strlen("file"))) {
char input[1024], *filename;
FILE *fp;

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

@ -372,7 +372,7 @@ static int oshmem_mkey_recv_cb(void)
n = 0;
r = (oob_comm_request_t *)opal_list_get_first(&memheap_oob.req_list);
assert(r);
while(r != opal_list_get_end(&memheap_oob.req_list)) {
while(r != (oob_comm_request_t *)opal_list_get_end(&memheap_oob.req_list)) {
my_MPI_Test(&r->recv_req, &flag, &status);
if (OPAL_LIKELY(0 == flag)) {
return n;