Skip to content

Commit d23dda8

Browse files
author
rhc54
committed
Merge pull request open-mpi#1150 from rhc54/cmr10/pmi
Make the PMI barrier/modex be non-blocking so that opal_progress can …
2 parents ca688f3 + d88ee5e commit d23dda8

File tree

6 files changed

+128
-79
lines changed

6 files changed

+128
-79
lines changed

config/opal_check_pmi.m4

Lines changed: 46 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ AC_DEFUN([OPAL_CHECK_PMI],[
5353
opal_check_pmi_$1_LDFLAGS=
5454
opal_check_pmi_$1_CPPFLAGS=
5555
opal_check_pmi_$1_LIBS=
56+
opal_check_pmi_have_hdr=no
5657
5758
AC_MSG_CHECKING([if user requested PMI support])
5859
AS_IF([test "$with_pmi" = "no"],
@@ -69,11 +70,11 @@ AC_DEFUN([OPAL_CHECK_PMI],[
6970
opal_default_loc="yes"])
7071
AS_IF([test ! -z "$with_pmi_libdir"],
7172
[opal_check_pmi_lib_dir=$with_pmi_libdir
72-
opal_default_libloc=no],
73+
opal_default_libloc=no],
7374
[opal_check_pmi_lib_dir=$opal_check_pmi_install_dir
74-
AS_IF([test "$opal_default_loc" = "no"],
75-
[opal_default_libloc=no],
76-
[opal_default_libloc=yes])])
75+
AS_IF([test "$opal_default_loc" = "no"],
76+
[opal_default_libloc=no],
77+
[opal_default_libloc=yes])])
7778
# check for pmi-1 lib */
7879
files=`ls -U $opal_check_pmi_lib_dir/libpmi.* 2> /dev/null | wc -l`
7980
AS_IF([test "$files" -gt "0"],
@@ -83,7 +84,7 @@ AC_DEFUN([OPAL_CHECK_PMI],[
8384
opal_pmi_rpath="$opal_check_pmi_lib_dir"
8485
opal_pmi_added_ldflag=yes])
8586
opal_check_pmi_$1_LIBS="-lpmi"],
86-
[files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi.* 2> /dev/null | wc -l`
87+
[files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi.* 2> /dev/null | wc -l`
8788
AS_IF([test "$files" -gt "0"],
8889
[opal_have_pmi1=1
8990
AS_IF([test "$opal_default_libloc" = "no"],
@@ -100,16 +101,22 @@ AC_DEFUN([OPAL_CHECK_PMI],[
100101
opal_pmi_added_ldflag=yes])
101102
opal_check_pmi_$1_LIBS="-lpmi"])])])
102103
# check for pmi.h
103-
AS_IF([test -f "$opal_check_pmi_install_dir/include/pmi.h"],
104-
[AS_IF([test "$opal_default_loc" = "no"],
105-
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include"
106-
opal_pmi_added_cppflag=yes])],
107-
# this could be SLURM, which puts things in a different location
108-
[AS_IF([test -f "$opal_check_pmi_install_dir/include/slurm/pmi.h"],
109-
# even if this was the default loc, we still need to add it in
110-
# because of the slurm path addition
111-
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"
112-
opal_pmi_added_cppflag=yes])])
104+
AS_IF([test -f "$opal_check_pmi_install_dir/pmi.h"],
105+
[opal_check_pmi_have_hdr=yes
106+
opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir"
107+
opal_pmi_added_cppflag=yes],
108+
[AS_IF([test -f "$opal_check_pmi_install_dir/include/pmi.h"],
109+
[opal_check_pmi_have_hdr=yes
110+
AS_IF([test "$opal_default_loc" = "no"],
111+
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include"
112+
opal_pmi_added_cppflag=yes])],
113+
# this could be SLURM, which puts things in a different location
114+
[AS_IF([test -f "$opal_check_pmi_install_dir/include/slurm/pmi.h"],
115+
# even if this was the default loc, we still need to add it in
116+
# because of the slurm path addition
117+
[opal_check_pmi_have_hdr=yes
118+
opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"
119+
opal_pmi_added_cppflag=yes])])])
113120
114121
# check for pmi2 lib */
115122
files=`ls -U $opal_check_pmi_lib_dir/libpmi2.* 2> /dev/null | wc -l`
@@ -120,7 +127,7 @@ AC_DEFUN([OPAL_CHECK_PMI],[
120127
opal_pmi_rpath="$opal_check_pmi_lib_dir"
121128
opal_pmi_added_ldflag=yes])
122129
opal_check_pmi_$1_LIBS="$opal_check_pmi_$1_LIBS -lpmi2"],
123-
[files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi2.* 2> /dev/null | wc -l`
130+
[files=`ls -U $opal_check_pmi_lib_dir/lib64/libpmi2.* 2> /dev/null | wc -l`
124131
AS_IF([test "$files" -gt "0"],
125132
[opal_have_pmi2=1
126133
AS_IF([test "$opal_default_libloc" = "no"],
@@ -138,26 +145,37 @@ AC_DEFUN([OPAL_CHECK_PMI],[
138145
opal_check_pmi_$1_LIBS="$opal_check_pmi_$1_LIBS -lpmi2"])])])
139146
# check for pmi2.h
140147
AS_IF([test "$opal_pmi_added_cppflag" = "no"],
141-
[AS_IF([test -f "$opal_check_pmi_install_dir/include/pmi2.h"],
142-
[AS_IF([test "$opal_default_loc" = "no"],
143-
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include"])],
144-
# this could be SLURM, which puts things in a different location
145-
[AS_IF([test -f "$opal_check_pmi_install_dir/include/slurm/pmi2.h"],
146-
# even if this was the default loc, we still need to add it in
147-
# because of the slurm path addition
148-
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"])])])
148+
[AS_IF([test -f "$opal_check_pmi_install_dir/pmi2.h"],
149+
[opal_check_pmi_have_hdr=yes
150+
opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir"],
151+
[AS_IF([test -f "$opal_check_pmi_install_dir/include/pmi2.h"],
152+
[opal_check_pmi_have_hdr=yes
153+
AS_IF([test "$opal_default_loc" = "no"],
154+
[opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include"])],
155+
# this could be SLURM, which puts things in a different location
156+
[AS_IF([test -f "$opal_check_pmi_install_dir/include/slurm/pmi2.h"],
157+
# even if this was the default loc, we still need to add it in
158+
# because of the slurm path addition
159+
[opal_check_pmi_have_hdr=yes
160+
opal_check_pmi_$1_CPPFLAGS="-I$opal_check_pmi_install_dir/include/slurm"])])])])
149161
150162
# since support was explicitly requested, then we should error out
151163
# if we didn't find the required support
152164
AC_MSG_CHECKING([if PMI support can be built])
153-
AS_IF([test "$opal_have_pmi1" != "1" && test "$opal_have_pmi2" != "1"],
165+
AS_IF([test "$opal_check_pmi_have_hdr" != "yes"],
154166
[AC_MSG_RESULT([no])
155167
AC_MSG_WARN([PMI support requested (via --with-pmi) but neither pmi.h])
156-
AC_MSG_WARN([nor pmi2.h were found under locations:])
168+
AC_MSG_WARN([nor pmi2.h were found under locations:])
157169
AC_MSG_WARN([ $opal_check_pmi_install_dir])
158-
AC_MSG_WARN([ $opal_check_pmi_install_dir/slurm])
170+
AC_MSG_WARN([ $opal_check_pmi_install_dir/include])
171+
AC_MSG_WARN([ $opal_check_pmi_install_dir/include/slurm])
159172
AC_MSG_WARN([Specified path: $with_pmi])
160-
AC_MSG_WARN([OR neither libpmi nor libpmi2 were found under:])
173+
AC_MSG_ERROR([Aborting])
174+
$3])
175+
176+
AS_IF([test "$opal_have_pmi1" != "1" && test "$opal_have_pmi2" != "1"],
177+
[AC_MSG_RESULT([no])
178+
AC_MSG_WARN([PMI support requested but neither libpmi nor libpmi2 were found under:])
161179
AC_MSG_WARN([ $opal_check_pmi_lib_dir/lib])
162180
AC_MSG_WARN([ $opal_check_pmi_lib_dir/lib64])
163181
AC_MSG_WARN([Specified path: $with_pmi_libdir])

ompi/mca/pubsub/pmi/Makefile.am

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#
22
# Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
3+
# Copyright (c) 2016 Intel, Inc. All rights reserved.
34
# $COPYRIGHT$
4-
#
5+
#
56
# Additional copyrights may follow
6-
#
7+
#
78
# $HEADER$
89
#
910

@@ -29,12 +30,14 @@ local_sources = \
2930
mcacomponentdir = $(ompilibdir)
3031
mcacomponent_LTLIBRARIES = $(component_install)
3132
mca_pubsub_pmi_la_SOURCES = $(local_sources)
33+
mca_pubsub_pmi_la_CPPFLAGS = $(pubsub_pmi_CPPFLAGS)
3234
mca_pubsub_pmi_la_LDFLAGS = -module -avoid-version $(pubsub_pmi_LDFLAGS)
3335
mca_pubsub_pmi_la_LIBADD = $(pubsub_pmi_LIBS) \
3436
$(top_ompi_builddir)/opal/mca/common/pmi/libmca_common_pmi.la
3537

3638
noinst_LTLIBRARIES = $(component_noinst)
3739
libmca_pubsub_pmi_la_SOURCES = $(local_sources)
40+
libmca_pubsub_pmi_la_CPPFLAGS = $(pubsub_pmi_CPPFLAGS)
3841
libmca_pubsub_pmi_la_LIBADD = $(pubsub_pmi_LIBS)
3942
libmca_pubsub_pmi_la_LDFLAGS = -module -avoid-version $(pubsub_pmi_LDFLAGS)
4043

opal/mca/common/pmi/Makefile.am

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
# Copyright (c) 2012 Sandia National Laboratories. All rights reserved.
44
# Copyright (c) 2013 Los Alamos National Security, LLC. All rights
55
# reserved.
6-
# Copyright (c) 2014 Intel, Inc. All rights reserved
6+
# Copyright (c) 2014-2016 Intel, Inc. All rights reserved
77
# $COPYRIGHT$
8-
#
8+
#
99
# Additional copyrights may follow
10-
#
10+
#
1111
# $HEADER$
1212
#
1313

@@ -43,5 +43,6 @@ libmca_common_pmi_la_SOURCES = common_pmi.h common_pmi.c
4343
if WANT_PMI2_SUPPORT
4444
libmca_common_pmi_la_SOURCES += pmi2_pmap_parser.c
4545
endif
46+
libmca_common_pmi_la_CPPFLAGS = $(common_pmi_CPPFLAGS)
4647
libmca_common_pmi_la_LDFLAGS = $(common_pmi_LDFLAGS) -version-info $(libmca_opal_common_pmi_so_version)
4748
libmca_common_pmi_la_LIBADD = $(common_pmi_LIBS)

orte/mca/ess/pmi/Makefile.am

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22
# Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
33
# Copyright (c) 2013 Los Alamos National Security, LLC.
44
# All rights reserved.
5+
# Copyright (c) 2016 Intel, Inc. All rights reserved.
56
# $COPYRIGHT$
6-
#
7+
#
78
# Additional copyrights may follow
8-
#
9+
#
910
# $HEADER$
1011
#
1112

@@ -31,11 +32,13 @@ endif
3132
mcacomponentdir = $(ompilibdir)
3233
mcacomponent_LTLIBRARIES = $(component_install)
3334
mca_ess_pmi_la_SOURCES = $(sources)
35+
mca_ess_pmi_la_CPPFLAGS = $(ess_pmi_CPPFLAGS)
3436
mca_ess_pmi_la_LDFLAGS = -module -avoid-version $(ess_pmi_LDFLAGS)
3537
mca_ess_pmi_la_LIBADD = $(ess_pmi_LIBS) \
3638
$(top_ompi_builddir)/opal/mca/common/pmi/libmca_common_pmi.la
3739

3840
noinst_LTLIBRARIES = $(component_noinst)
3941
libmca_ess_pmi_la_SOURCES =$(sources)
42+
libmca_ess_pmi_la_CPPFLAGS = $(ess_pmi_CPPFLAGS)
4043
libmca_ess_pmi_la_LDFLAGS = -module -avoid-version $(ess_pmi_LDFLAGS)
4144
libmca_ess_pmi_la_LIBADD = $(ess_pmi_LIBS)

orte/mca/grpcomm/pmi/Makefile.am

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
#
22
# Copyright (c) 2011 Cisco Systems, Inc. All rights reserved.
33
# Copyright (c) 2013 Los Alamos National Security, LLC. All rights
4-
# reserved.
5-
# Copyright (c) 2014 Intel, Inc. All rights reserved.
4+
# reserved.
5+
# Copyright (c) 2014-2016 Intel, Inc. All rights reserved.
66
# $COPYRIGHT$
7-
#
7+
#
88
# Additional copyrights may follow
9-
#
9+
#
1010
# $HEADER$
1111
#
1212

@@ -32,11 +32,13 @@ endif
3232
mcacomponentdir = $(ompilibdir)
3333
mcacomponent_LTLIBRARIES = $(component_install)
3434
mca_grpcomm_pmi_la_SOURCES = $(sources)
35+
mca_grpcomm_pmi_la_CPPFLAGS = $(grpcomm_pmi_CPPFLAGS)
3536
mca_grpcomm_pmi_la_LDFLAGS = -module -avoid-version $(grpcomm_pmi_LDFLAGS)
3637
mca_grpcomm_pmi_la_LIBADD = $(grpcomm_pmi_LIBS) \
3738
$(top_ompi_builddir)/opal/mca/common/pmi/libmca_common_pmi.la
3839

3940
noinst_LTLIBRARIES = $(component_noinst)
4041
libmca_grpcomm_pmi_la_SOURCES =$(sources)
42+
libmca_grpcomm_pmi_la_CPPFLAGS = $(grpcomm_pmi_CPPFLAGS)
4143
libmca_grpcomm_pmi_la_LDFLAGS = -module -avoid-version $(grpcomm_pmi_LDFLAGS)
4244
libmca_grpcomm_pmi_la_LIBADD = $(grpcomm_pmi_LIBS)

0 commit comments

Comments
 (0)