1
1

Fix for bug #36. The MX, MVAPI, and OpenIB components don't have

support for progress threads, so we shouldn't build them or try to use
them when support for progress threads has been requested.  The TCP, GM,
SELF, and SM BTLs should have progress thread support, so they aren't
disabled.  The Portals BTL isn't compiled on platforms with threads,
so it doens't need to be updated.

This commit was SVN r10156.
Этот коммит содержится в:
Brian Barrett 2006-06-01 01:30:16 +00:00
родитель 22cd78abb5
Коммит 5163f2b296
6 изменённых файлов: 35 добавлений и 0 удалений

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

@ -74,6 +74,10 @@ AC_DEFUN([OMPI_CHECK_MVAPI],[
[ompi_check_mvapi_happy="yes"],
[ompi_check_mvapi_happy="no"])])
AS_IF([test "$ompi_check_mvapi_happy" = "yes" -a "$enable_progress_threads" = "yes"],
[AC_MSG_WARN([MVAPI driver does not currently support progress threads. Disabling BTL.])
ompi_check_mvapi_happy="no"])
CPPFLAGS="$ompi_check_mvapi$1_save_CPPFLAGS"],
[ompi_check_mvapi_happy="no"])

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

@ -114,6 +114,10 @@ AC_DEFUN([OMPI_CHECK_MX],[
LDFLAGS="$ompi_check_mx_$1_save_LDFLAGS"
LIBS="$ompi_check_mx_$1_save_LIBS"
AS_IF([test "$ompi_check_mx_happy" = "yes" -a "$enable_progress_threads" = "yes"],
[AC_MSG_WARN([MX driver does not currently support progress threads. Disabling BTL.])
ompi_check_mx_happy="no"])
AS_IF([test "$ompi_check_mx_happy" = "yes"],
[$2],
[AS_IF([test ! -z "$with_mx" -a "$with_mx" != "no"],

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

@ -131,6 +131,10 @@ AC_DEFUN([OMPI_CHECK_OPENIB],[
LIBS="$ompi_check_openib_$1_save_LIBS"],
[ompi_check_openib_happy="no"])
AS_IF([test "$ompi_check_openib_happy" = "yes" -a "$enable_progress_threads" = "yes"],
[AC_MSG_WARN([OpenIB driver does not currently support progress threads. Disabling BTL.])
ompi_check_openib_happy="no"])
AS_IF([test "$ompi_check_openib_happy" = "yes"],
[$2],
[AS_IF([test ! -z "$with_openib" -a "$with_openib" != "no"],

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

@ -353,6 +353,15 @@ mca_btl_base_module_t** mca_btl_mvapi_component_init(int *num_btl_modules,
/* initialization */
*num_btl_modules = 0;
/* mvapi BTL does not currently support progress threads, so
disable the component if they were requested */
if (enable_progress_threads) {
mca_btl_base_error_no_nics("MVAPI", "HCA");
mca_btl_mvapi_component.ib_num_btls = 0;
mca_btl_mvapi_modex_send();
return NULL;
}
/* Determine the number of hca's available on the host */
vapi_ret=EVAPI_list_hcas(0, &num_hcas, NULL);
if( VAPI_EAGAIN != vapi_ret || 0 == num_hcas ) {

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

@ -230,6 +230,11 @@ mca_btl_base_module_t** mca_btl_mx_component_init(int *num_btl_modules,
*num_btl_modules = 0;
if (enable_progress_threads) {
opal_output( 0, "mca_btl_mx_component_init: progress threads requested but not supported");
return NULL;
}
/* set the MX error handle to always return. This function is the only MX function
* allowed to be called before mx_init in order to make sure that if the MX is not
* up and running the MX library does not exit the application.

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

@ -339,6 +339,15 @@ mca_btl_base_module_t** mca_btl_openib_component_init(int *num_btl_modules,
*num_btl_modules = 0;
num_devs = 0;
/* openib BTL does not currently support progress threads, so
disable the component if they were requested */
if (enable_progress_threads) {
mca_btl_base_error_no_nics("OpenIB", "HCA");
mca_btl_openib_component.ib_num_btls = 0;
mca_btl_openib_modex_send();
return NULL;
}
seedv[0] = orte_process_info.my_name->vpid;
seedv[1] = opal_sys_timer_get_cycles();
seedv[2] = opal_sys_timer_get_cycles();