Skip to content

Commit

Permalink
Merge pull request #1150 from rhc54/cmr10/pmi
Browse files Browse the repository at this point in the history
Make the PMI barrier/modex be non-blocking so that opal_progress can …
  • Loading branch information
rhc54 committed May 21, 2016
2 parents ca688f3 + d88ee5e commit d23dda8
Show file tree
Hide file tree
Showing 6 changed files with 128 additions and 79 deletions.
74 changes: 46 additions & 28 deletions config/opal_check_pmi.m4
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ AC_DEFUN([OPAL_CHECK_PMI],[
opal_check_pmi_$1_LDFLAGS=
opal_check_pmi_$1_CPPFLAGS=
opal_check_pmi_$1_LIBS=
opal_check_pmi_have_hdr=no
AC_MSG_CHECKING([if user requested PMI support])
AS_IF([test "$with_pmi" = "no"],
Expand All @@ -69,11 +70,11 @@ AC_DEFUN([OPAL_CHECK_PMI],[
opal_default_loc="yes"])
AS_IF([test ! -z "$with_pmi_libdir"],
[opal_check_pmi_lib_dir=$with_pmi_libdir
opal_default_libloc=no],
opal_default_libloc=no],
[opal_check_pmi_lib_dir=$opal_check_pmi_install_dir
AS_IF([test "$opal_default_loc" = "no"],
[opal_default_libloc=no],
[opal_default_libloc=yes])])
AS_IF([test "$opal_default_loc" = "no"],
[opal_default_libloc=no],
[opal_default_libloc=yes])])
# check for pmi-1 lib */
files=`ls -U $opal_check_pmi_lib_dir/libpmi.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt "0"],
Expand All @@ -83,7 +84,7 @@ AC_DEFUN([OPAL_CHECK_PMI],[
opal_pmi_rpath="$opal_check_pmi_lib_dir"
opal_pmi_added_ldflag=yes])
opal_check_pmi_$1_LIBS="-lpmi"],
[files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi.* 2> /dev/null | wc -l`
[files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt "0"],
[opal_have_pmi1=1
AS_IF([test "$opal_default_libloc" = "no"],
Expand All @@ -100,16 +101,22 @@ AC_DEFUN([OPAL_CHECK_PMI],[
opal_pmi_added_ldflag=yes])
opal_check_pmi_$1_LIBS="-lpmi"])])])
# check for pmi.h
AS_IF([test -f "$opal_check_pmi_install_dir/include/pmi.h"],
[AS_IF([test "$opal_default_loc" = "no"],
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include"
opal_pmi_added_cppflag=yes])],
# this could be SLURM, which puts things in a different location
[AS_IF([test -f "$opal_check_pmi_install_dir/include/slurm/pmi.h"],
# even if this was the default loc, we still need to add it in
# because of the slurm path addition
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"
opal_pmi_added_cppflag=yes])])
AS_IF([test -f "$opal_check_pmi_install_dir/pmi.h"],
[opal_check_pmi_have_hdr=yes
opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir"
opal_pmi_added_cppflag=yes],
[AS_IF([test -f "$opal_check_pmi_install_dir/include/pmi.h"],
[opal_check_pmi_have_hdr=yes
AS_IF([test "$opal_default_loc" = "no"],
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include"
opal_pmi_added_cppflag=yes])],
# this could be SLURM, which puts things in a different location
[AS_IF([test -f "$opal_check_pmi_install_dir/include/slurm/pmi.h"],
# even if this was the default loc, we still need to add it in
# because of the slurm path addition
[opal_check_pmi_have_hdr=yes
opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"
opal_pmi_added_cppflag=yes])])])
# check for pmi2 lib */
files=`ls -U $opal_check_pmi_lib_dir/libpmi2.* 2> /dev/null | wc -l`
Expand All @@ -120,7 +127,7 @@ AC_DEFUN([OPAL_CHECK_PMI],[
opal_pmi_rpath="$opal_check_pmi_lib_dir"
opal_pmi_added_ldflag=yes])
opal_check_pmi_$1_LIBS="$opal_check_pmi_$1_LIBS -lpmi2"],
[files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi2.* 2> /dev/null | wc -l`
[files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi2.* 2> /dev/null | wc -l`
AS_IF([test "$files" -gt "0"],
[opal_have_pmi2=1
AS_IF([test "$opal_default_libloc" = "no"],
Expand All @@ -138,26 +145,37 @@ AC_DEFUN([OPAL_CHECK_PMI],[
opal_check_pmi_$1_LIBS="$opal_check_pmi_$1_LIBS -lpmi2"])])])
# check for pmi2.h
AS_IF([test "$opal_pmi_added_cppflag" = "no"],
[AS_IF([test -f "$opal_check_pmi_install_dir/include/pmi2.h"],
[AS_IF([test "$opal_default_loc" = "no"],
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include"])],
# this could be SLURM, which puts things in a different location
[AS_IF([test -f "$opal_check_pmi_install_dir/include/slurm/pmi2.h"],
# even if this was the default loc, we still need to add it in
# because of the slurm path addition
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"])])])
[AS_IF([test -f "$opal_check_pmi_install_dir/pmi2.h"],
[opal_check_pmi_have_hdr=yes
opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir"],
[AS_IF([test -f "$opal_check_pmi_install_dir/include/pmi2.h"],
[opal_check_pmi_have_hdr=yes
AS_IF([test "$opal_default_loc" = "no"],
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include"])],
# this could be SLURM, which puts things in a different location
[AS_IF([test -f "$opal_check_pmi_install_dir/include/slurm/pmi2.h"],
# even if this was the default loc, we still need to add it in
# because of the slurm path addition
[opal_check_pmi_have_hdr=yes
opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"])])])])
# since support was explicitly requested, then we should error out
# if we didn't find the required support
AC_MSG_CHECKING([if PMI support can be built])
AS_IF([test "$opal_have_pmi1" != "1" && test "$opal_have_pmi2" != "1"],
AS_IF([test "$opal_check_pmi_have_hdr" != "yes"],
[AC_MSG_RESULT([no])
AC_MSG_WARN([PMI support requested (via --with-pmi) but neither pmi.h])
AC_MSG_WARN([nor pmi2.h were found under locations:])
AC_MSG_WARN([nor pmi2.h were found under locations:])
AC_MSG_WARN([ $opal_check_pmi_install_dir])
AC_MSG_WARN([ $opal_check_pmi_install_dir/slurm])
AC_MSG_WARN([ $opal_check_pmi_install_dir/include])
AC_MSG_WARN([ $opal_check_pmi_install_dir/include/slurm])
AC_MSG_WARN([Specified path: $with_pmi])
AC_MSG_WARN([OR neither libpmi nor libpmi2 were found under:])
AC_MSG_ERROR([Aborting])
$3])
AS_IF([test "$opal_have_pmi1" != "1" && test "$opal_have_pmi2" != "1"],
[AC_MSG_RESULT([no])
AC_MSG_WARN([PMI support requested but neither libpmi nor libpmi2 were found under:])
AC_MSG_WARN([ $opal_check_pmi_lib_dir/lib])
AC_MSG_WARN([ $opal_check_pmi_lib_dir/lib64])
AC_MSG_WARN([Specified path: $with_pmi_libdir])
Expand Down
7 changes: 5 additions & 2 deletions ompi/mca/pubsub/pmi/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
#
# Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2016 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
#
# Additional copyrights may follow
#
#
# $HEADER$
#

Expand All @@ -29,12 +30,14 @@ local_sources = \
mcacomponentdir = $(ompilibdir)
mcacomponent_LTLIBRARIES = $(component_install)
mca_pubsub_pmi_la_SOURCES = $(local_sources)
mca_pubsub_pmi_la_CPPFLAGS = $(pubsub_pmi_CPPFLAGS)
mca_pubsub_pmi_la_LDFLAGS = -module -avoid-version $(pubsub_pmi_LDFLAGS)
mca_pubsub_pmi_la_LIBADD = $(pubsub_pmi_LIBS) \
$(top_ompi_builddir)/opal/mca/common/pmi/libmca_common_pmi.la

noinst_LTLIBRARIES = $(component_noinst)
libmca_pubsub_pmi_la_SOURCES = $(local_sources)
libmca_pubsub_pmi_la_CPPFLAGS = $(pubsub_pmi_CPPFLAGS)
libmca_pubsub_pmi_la_LIBADD = $(pubsub_pmi_LIBS)
libmca_pubsub_pmi_la_LDFLAGS = -module -avoid-version $(pubsub_pmi_LDFLAGS)

7 changes: 4 additions & 3 deletions opal/mca/common/pmi/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
# Copyright (c) 2012 Sandia National Laboratories. All rights reserved.
# Copyright (c) 2013 Los Alamos National Security, LLC. All rights
# reserved.
# Copyright (c) 2014 Intel, Inc. All rights reserved
# Copyright (c) 2014-2016 Intel, Inc. All rights reserved
# $COPYRIGHT$
#
#
# Additional copyrights may follow
#
#
# $HEADER$
#

Expand Down Expand Up @@ -43,5 +43,6 @@ libmca_common_pmi_la_SOURCES = common_pmi.h common_pmi.c
if WANT_PMI2_SUPPORT
libmca_common_pmi_la_SOURCES += pmi2_pmap_parser.c
endif
libmca_common_pmi_la_CPPFLAGS = $(common_pmi_CPPFLAGS)
libmca_common_pmi_la_LDFLAGS = $(common_pmi_LDFLAGS) -version-info $(libmca_opal_common_pmi_so_version)
libmca_common_pmi_la_LIBADD = $(common_pmi_LIBS)
7 changes: 5 additions & 2 deletions orte/mca/ess/pmi/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@
# Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2013 Los Alamos National Security, LLC.
# All rights reserved.
# Copyright (c) 2016 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
#
# Additional copyrights may follow
#
#
# $HEADER$
#

Expand All @@ -31,11 +32,13 @@ endif
mcacomponentdir = $(ompilibdir)
mcacomponent_LTLIBRARIES = $(component_install)
mca_ess_pmi_la_SOURCES = $(sources)
mca_ess_pmi_la_CPPFLAGS = $(ess_pmi_CPPFLAGS)
mca_ess_pmi_la_LDFLAGS = -module -avoid-version $(ess_pmi_LDFLAGS)
mca_ess_pmi_la_LIBADD = $(ess_pmi_LIBS) \
$(top_ompi_builddir)/opal/mca/common/pmi/libmca_common_pmi.la

noinst_LTLIBRARIES = $(component_noinst)
libmca_ess_pmi_la_SOURCES =$(sources)
libmca_ess_pmi_la_CPPFLAGS = $(ess_pmi_CPPFLAGS)
libmca_ess_pmi_la_LDFLAGS = -module -avoid-version $(ess_pmi_LDFLAGS)
libmca_ess_pmi_la_LIBADD = $(ess_pmi_LIBS)
10 changes: 6 additions & 4 deletions orte/mca/grpcomm/pmi/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
#
# Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2013 Los Alamos National Security, LLC. All rights
# reserved.
# Copyright (c) 2014 Intel, Inc. All rights reserved.
# reserved.
# Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
# $COPYRIGHT$
#
#
# Additional copyrights may follow
#
#
# $HEADER$
#

Expand All @@ -32,11 +32,13 @@ endif
mcacomponentdir = $(ompilibdir)
mcacomponent_LTLIBRARIES = $(component_install)
mca_grpcomm_pmi_la_SOURCES = $(sources)
mca_grpcomm_pmi_la_CPPFLAGS = $(grpcomm_pmi_CPPFLAGS)
mca_grpcomm_pmi_la_LDFLAGS = -module -avoid-version $(grpcomm_pmi_LDFLAGS)
mca_grpcomm_pmi_la_LIBADD = $(grpcomm_pmi_LIBS) \
$(top_ompi_builddir)/opal/mca/common/pmi/libmca_common_pmi.la

noinst_LTLIBRARIES = $(component_noinst)
libmca_grpcomm_pmi_la_SOURCES =$(sources)
libmca_grpcomm_pmi_la_CPPFLAGS = $(grpcomm_pmi_CPPFLAGS)
libmca_grpcomm_pmi_la_LDFLAGS = -module -avoid-version $(grpcomm_pmi_LDFLAGS)
libmca_grpcomm_pmi_la_LIBADD = $(grpcomm_pmi_LIBS)
Loading

0 comments on commit d23dda8

Please sign in to comment.