1
1

Get the slurm pmi support working. Cannot use infiniband, of course, as the oob can't make the connection - may try other existing methods. Modex may not quite be working right yet

as odin was having trouble making TCP connections, but at least the configure now works so things build, so save that for now

This commit was SVN r25247.
Этот коммит содержится в:
Ralph Castain 2011-10-10 21:39:10 +00:00
родитель 08b4322a1a
Коммит 1aa1c2e9b4
3 изменённых файлов: 52 добавлений и 6 удалений

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

@ -27,6 +27,22 @@ AC_DEFUN([ORTE_CHECK_SLURM],[
AC_ARG_WITH([slurm-pmi],
[AC_HELP_STRING([--with-slurm-pmi],
[Build SLURM PMI support (default: no)])])
AC_ARG_WITH([slurm-pmi-libdir],
[AC_HELP_STRING([--with-slurm-pmi-libdir=DIR],
[Search for SLURM PMI libraries in DIR ])])
# Defaults
orte_check_slurm_dir=
orte_check_slurm_libdir=
orte_check_slurm_dir_msg="compiler default"
orte_check_slurm_libdir_msg="linker default"
# Save directory names if supplied
AS_IF([test ! -z "$with_slurm" -a "$with_slurm" != "yes"],
[orte_check_slurm_dir="$with_slurm"
orte_check_slurm_dir_msg="$orte_check_slurm_dir (from --with-slurm)"])
AS_IF([test ! -z "$with_slurm_pmi_libdir" -a "$with_slurm_pmi_libdir" != "yes"],
[orte_check_slurm_libdir="$with_slurm_pmi_libdir"
orte_check_slurm_libdir_msg="$orte_check_slurm_pmi_libdir (from --with-slurm-pmi-libdir)"])
if test "$with_slurm" = "no" ; then
orte_check_slurm_happy="no"
@ -68,13 +84,25 @@ AC_DEFUN([ORTE_CHECK_SLURM],[
[orte_check_slurm_happy="yes"],
[orte_check_slurm_happy="no"])])
orte_check_slurm_$1_save_CPPFLAGS="$CPPFLAGS"
orte_check_slurm_$1_save_LDFLAGS="$LDFLAGS"
orte_check_slurm_$1_save_LIBS="$LIBS"
AC_MSG_CHECKING([if user requested PMI support])
orte_enable_slurm_pmi=0
AS_IF([test "$with_slurm_pmi" = "yes"],
[AC_MSG_RESULT([yes])
orte_want_pmi_support=yes
AC_MSG_CHECKING([if SLURM PMI support installed])
AC_CHECK_HEADER([slurm/pmi.h], [orte_have_pmi_support=yes], [orte_have_pmi_support=no])]
OMPI_CHECK_PACKAGE([$1],
[slurm/pmi.h],
[pmi],
[PMI_Init],
[-lpmi],
[$orte_check_slurm_dir],
[$orte_check_slurm_libdir],
[orte_have_pmi_support="yes"],
[orte_have_pmi_support="no"])
AS_IF([test "$orte_have_pmi_support" = "yes"],
[AC_MSG_RESULT([yes])
AC_MSG_WARN([SLURM PMI SUPPORT HAS BEEN INCLUDED - RESULTING])
@ -83,13 +111,20 @@ AC_DEFUN([ORTE_CHECK_SLURM],[
orte_enable_slurm_pmi=1],
[AC_MSG_RESULT([no])
AC_MSG_WARN([SLURM PMI support requested (via --with-slurm-pmi) but not found.])
AC_MSG_ERROR([Aborting.])]),
AC_MSG_ERROR([Aborting.])])],
[AC_MSG_RESULT([no])
orte_want_pmi_support=no])
AC_DEFINE_UNQUOTED([WANT_SLURM_PMI_SUPPORT],
[$orte_enable_slurm_pmi],
[Whether we want SLURM PMI support])
CPPFLAGS="$orte_check_slurm_$1_save_CPPFLAGS"
LDFLAGS="$orte_check_slurm_$1_save_LDFLAGS"
LIBS="$orte_check_slurm_$1_save_LIBS"
# Reset for the next time we're called
orte_check_slurm_dir=
AS_IF([test "$orte_check_slurm_happy" = "yes"],
[$2],
[$3])

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

@ -27,8 +27,10 @@ endif
mcacomponentdir = $(pkglibdir)
mcacomponent_LTLIBRARIES = $(component_install)
mca_grpcomm_pmi_la_SOURCES = $(sources)
mca_grpcomm_pmi_la_LDFLAGS = -module -avoid-version
mca_grpcomm_pmi_la_LDFLAGS = -module -avoid-version $(grpcomm_pmi_LDFLAGS)
mca_grpcomm_pmi_la_LIBADD = $(grpcomm_pmi_LIBS)
noinst_LTLIBRARIES = $(component_noinst)
libmca_grpcomm_pmi_la_SOURCES =$(sources)
libmca_grpcomm_pmi_la_LDFLAGS = -module -avoid-version
libmca_grpcomm_pmi_la_LDFLAGS = -module -avoid-version $(grpcomm_pmi_LDFLAGS)
libmca_grpcomm_pmi_la_LIBADD = $(grpcomm_pmi_LIBS)

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

@ -14,10 +14,19 @@ AC_DEFUN([MCA_orte_grpcomm_pmi_PRIORITY], [10])
AC_DEFUN([MCA_orte_grpcomm_pmi_CONFIG], [
AC_CONFIG_FILES([orte/mca/grpcomm/pmi/Makefile])
ORTE_CHECK_SLURM([grpcomm_pmi], [grpcomm_pmi_good=1], [grpcomm_pmi_good=0])
# if check worked, set wrapper flags if so.
# Evaluate succeed / fail
AS_IF([test "$orte_enable_slurm_pmi" = "1"],
[$1],
AS_IF([test "$grpcomm_pmi_good" = "1"],
[grpcomm_pmi_WRAPPER_EXTRA_LDFLAGS="$grpcomm_pmi_LDFLAGS"
grpcomm_pmiWRAPPER_EXTRA_LIBS="$grpcomm_pmi_LIBS"
$1],
[$2])
# set build flags to use in makefile
AC_SUBST([grpcomm_pmi_CPPFLAGS])
AC_SUBST([grpcomm_pmi_LDFLAGS])
AC_SUBST([grpcomm_pmi_LIBS])
])