Merge branch 'master' of github.com:open-mpi/ompi
Conflicts: orte/tools/orte-dvm/orte-dvm.c
Этот коммит содержится в:
Коммит
70d8bd774c
@ -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
|
||||
|
12
configure.ac
12
configure.ac
@ -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
поставляемый
Исполняемый файл → Обычный файл
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
Обычный файл
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
Обычный файл
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
Обычный файл
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
Обычный файл
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
Обычный файл
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;
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user