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.
Этот коммит содержится в:
родитель
22cd78abb5
Коммит
5163f2b296
@ -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();
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user