1
1

A few changes to the FT-related configure options:

1. fix a bug that caused an infinite loop in configure when specifying want-ft but not want-ft-thread by removing a stale reference to the opal-progress-thread option

2. add want-ft=orcm so we can build the orcm errmgr component

3. cleanup the use of "ompi_want_ft_xxx" and replace it with "opal_want_ft_xxx" so that naming conventions are preserved

This commit was SVN r22885.
Этот коммит содержится в:
Ralph Castain 2010-03-25 22:53:48 +00:00
родитель 3179daa5e0
Коммит 522a23d6a3
6 изменённых файлов: 46 добавлений и 53 удалений

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

@ -19,7 +19,7 @@
# -----------------------------------------------------------
AC_DEFUN([MCA_crcp_bkmrk_CONFIG],[
# If we don't want FT, don't compile this component
AS_IF([test "$ompi_want_ft_cr" = "1"],
AS_IF([test "$opal_want_ft_cr" = "1"],
[$1],
[$2])
])dnl

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

@ -19,7 +19,7 @@
# -----------------------------------------------------------
AC_DEFUN([MCA_pml_crcpw_CONFIG],[
# If we don't want FT, don't compile this component
AS_IF([test "$ompi_want_ft_cr" = "1"],
AS_IF([test "$opal_want_ft_cr" = "1"],
[$1],
[$2])
])dnl

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

@ -228,44 +228,43 @@ AC_MSG_RESULT([$enable_opal_multi_threads])
AC_MSG_CHECKING([if want fault tolerance thread])
AC_ARG_ENABLE([ft_thread],
[AC_HELP_STRING([--disable-ft-thread],
[Disable fault tolerance thread running inside all processes. Requires progress and/or MPI threads (default: enabled)])],
[Disable fault tolerance thread running inside all processes. Requires OPAL thread support (default: enabled)])],
[enable_ft_thread="$enableval"],
[enable_ft_thread="undef"])
# if they do not want FT support, then they do not want this thread either
if test "$ompi_want_ft" = "0"; then
ompi_want_ft_thread=0
if test "$opal_want_ft" = "0"; then
opal_want_ft_thread=0
AC_MSG_RESULT([Disabled (fault tolerance disabled --without-ft)])
# if --disable-ft-thread
elif test "$enable_ft_thread" = "no"; then
ompi_want_ft_thread=0
opal_want_ft_thread=0
AC_MSG_RESULT([Disabled])
# if default, and no progress or MPI threads
elif test "$enable_ft_thread" = "undef" -a "$enable_opal_progress_threads" = "no" -a "$enable_opal_multi_threads" = "no" ; then
ompi_want_ft_thread=0
elif test "$enable_ft_thread" = "undef" -a "$enable_opal_multi_threads" = "no" ; then
opal_want_ft_thread=0
AC_MSG_RESULT([Disabled (OPAL Thread Support Disabled)])
# if default, and MPI threads enabled
else
# Default: Enable
# Make sure we have OPAL Threads enabled
if "$enable_opal_multi_threads" = "no"; then
AC_MSG_RESULT([Must enable OPALbasic thread support to use this option])
AC_MSG_RESULT([Must enable OPAL basic thread support to use this option])
AC_MSG_ERROR([Cannot continue])
else
AC_MSG_RESULT([yes])
ompi_want_ft_thread=1
opal_want_ft_thread=1
AC_MSG_WARN([**************************************************])
AC_MSG_WARN([*** Fault Tolerance with a thread in Open MPI *])
AC_MSG_WARN([*** is an experimental, research quality option. *])
AC_MSG_WARN([*** It requires OPAL thread support or progress *])
AC_MSG_WARN([*** and care should be used when enabling these *])
AC_MSG_WARN([*** options. *])
AC_MSG_WARN([*** It requires OPAL thread support and care *])
AC_MSG_WARN([*** should be used when enabling these options. *])
AC_MSG_WARN([**************************************************])
fi
fi
AC_DEFINE_UNQUOTED([OPAL_ENABLE_FT_THREAD], [$ompi_want_ft_thread],
AC_DEFINE_UNQUOTED([OPAL_ENABLE_FT_THREAD], [$opal_want_ft_thread],
[Enable fault tolerance thread in Open PAL])
AM_CONDITIONAL(WANT_FT_THREAD, test "$ompi_want_ft_thread" = "1")
AM_CONDITIONAL(WANT_FT_THREAD, test "$opal_want_ft_thread" = "1")
])dnl

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

@ -346,6 +346,7 @@ fi
# TYPE:
# - LAM (synonym for 'cr' currently)
# - cr
# - orcm
# /* General FT sections */
# #if OPAL_ENABLE_FT == 0 /* FT Disabled globaly */
# #if OPAL_ENABLE_FT == 1 /* FT Enabled globaly */
@ -356,17 +357,17 @@ fi
AC_MSG_CHECKING([if want fault tolerance])
AC_ARG_WITH(ft,
[AC_HELP_STRING([--with-ft=TYPE],
[Specify the type of fault tolerance to enable. Options: LAM (LAM/MPI-like), cr (Checkpoint/Restart) (default: disabled)])],
[ompi_want_ft=1],
[ompi_want_ft=0])
if test "$with_ft" = "no" -o "$ompi_want_ft" = "0"; then
ompi_want_ft=0
ompi_want_ft_cr=0
[Specify the type of fault tolerance to enable. Options: LAM (LAM/MPI-like), cr (Checkpoint/Restart), orcm (OpenRCM) (default: disabled)])],
[opal_want_ft=1],
[opal_want_ft=0])
if test "$with_ft" = "no" -o "$opal_want_ft" = "0"; then
opal_want_ft=0
opal_want_ft_cr=0
AC_MSG_RESULT([Disabled fault tolerance])
else
ompi_want_ft=1
ompi_want_ft_cr=0
ompi_want_ft_type=none
opal_want_ft=1
opal_want_ft_cr=0
opal_want_ft_type=none
as_save_IFS=$IFS
IFS=","
@ -375,36 +376,42 @@ else
# Default value
if test "$opt" = "" -o "$opt" = "yes"; then
ompi_want_ft_cr=1
opal_want_ft_cr=1
elif test "$opt" = "LAM"; then
ompi_want_ft_cr=1
opal_want_ft_cr=1
elif test "$opt" = "lam"; then
ompi_want_ft_cr=1
opal_want_ft_cr=1
elif test "$opt" = "CR"; then
ompi_want_ft_cr=1
opal_want_ft_cr=1
elif test "$opt" = "cr"; then
ompi_want_ft_cr=1
opal_want_ft_cr=1
elif test "$opt" = "orcm"; then
opal_want_ft_orcm=1
elif test "$opt" = "ORCM"; then
opal_want_ft_orcm=1
else
AC_MSG_RESULT([Unrecognized FT TYPE: $opt])
AC_MSG_ERROR([Cannot continue])
fi
done
if test "$ompi_want_ft_cr" = 1; then
ompi_want_ft_type="cr"
if test "$opal_want_ft_cr" = 1; then
opal_want_ft_type="cr"
elif test "$opal_want_ft_orcm" = 1; then
opal_want_ft_type="orcm"
fi
AC_MSG_RESULT([Enabled $ompi_want_ft_type (Specified $with_ft)])
AC_MSG_RESULT([Enabled $opal_want_ft_type (Specified $with_ft)])
AC_MSG_WARN([**************************************************])
AC_MSG_WARN([*** Fault Tolerance Integration into Open MPI is *])
AC_MSG_WARN([*** a research quality implementation, and care *])
AC_MSG_WARN([*** should be used when choosing to enable it. *])
AC_MSG_WARN([**************************************************])
fi
AC_DEFINE_UNQUOTED([OPAL_ENABLE_FT], [$ompi_want_ft],
AC_DEFINE_UNQUOTED([OPAL_ENABLE_FT], [$opal_want_ft],
[Enable fault tolerance general components and logic])
AC_DEFINE_UNQUOTED([OPAL_ENABLE_FT_CR], [$ompi_want_ft_cr],
AC_DEFINE_UNQUOTED([OPAL_ENABLE_FT_CR], [$opal_want_ft_cr],
[Enable fault tolerance checkpoint/restart components and logic])
AM_CONDITIONAL(WANT_FT, test "$ompi_want_ft" = "1")
AM_CONDITIONAL(WANT_FT, test "$opal_want_ft" = "1")
#
# Do we want to install binaries?

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

@ -12,8 +12,8 @@
# MCA_errmgr_orcm_CONFIG([action-if-found], [action-if-not-found])
# -----------------------------------------------------------
AC_DEFUN([MCA_errmgr_orcm_CONFIG],[
# If we don't want FT, don't compile this component
AS_IF([test "$ompi_want_ft" = "1"],
# If we don't want orcm FT, don't compile this component
AS_IF([test "$opal_want_ft_orcm" = "1"],
[$1],
[$2])
])dnl

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

@ -75,24 +75,11 @@ static int errmgr_orcm_close(void)
static int errmgr_orcm_component_query(mca_base_module_t **module, int *priority)
{
/*
* This component is selected only when requested - and if so, then
* it MUST be used exclusively
/* if we built, then we should probably be the
* default module
*/
bool is_required = false;
mca_base_is_component_required(&orte_errmgr_base_components_available,
&mca_errmgr_orcm_component.base_version,
true,
&is_required);
if( !is_required ) {
*priority = 0;
*module = NULL;
return ORTE_ERROR;
}
*priority = 1000;
*priority = 100;
*module = (mca_base_module_t *)&orte_errmgr_orcm_module;
return ORTE_SUCCESS;
}