btl/ugni: honor enable_mpi_threads
Honor enable_mpi_threads setting to enable the ugni btl async progress thread. If the app doesn't request thread-multiple the thread will not be created.
Этот коммит содержится в:
родитель
43cdcb745f
Коммит
d188f0bc6f
@ -180,6 +180,10 @@ typedef struct mca_btl_ugni_component_t {
|
||||
|
||||
/* Number of mailboxes to allocate in each block */
|
||||
unsigned int mbox_increment;
|
||||
|
||||
/* Indicate whether progress thread allowed */
|
||||
bool progress_thread_allowed;
|
||||
|
||||
} mca_btl_ugni_component_t;
|
||||
|
||||
int mca_btl_ugni_module_init (mca_btl_ugni_module_t *ugni_module,
|
||||
|
@ -293,6 +293,10 @@ mca_btl_ugni_component_init (int *num_btl_modules,
|
||||
mca_btl_ugni_component.ugni_fma_limit = 65536;
|
||||
}
|
||||
|
||||
if (enable_mpi_threads) {
|
||||
mca_btl_ugni_component.progress_thread_allowed = 1;
|
||||
}
|
||||
|
||||
/* Initialize ugni library and create communication domain */
|
||||
rc = opal_common_ugni_init();
|
||||
if (OPAL_SUCCESS != rc) {
|
||||
|
@ -116,7 +116,10 @@ mca_btl_ugni_module_init (mca_btl_ugni_module_t *ugni_module,
|
||||
return rc;
|
||||
}
|
||||
|
||||
if (getenv("HOWARDS_PROGESS") != NULL) howards_progress_var = 1;
|
||||
if (mca_btl_ugni_component.progress_thread_allowed && (NULL != getenv("HOWARDS_PROGESS"))) {
|
||||
howards_progress_var = 1;
|
||||
}
|
||||
|
||||
return OPAL_SUCCESS;
|
||||
}
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user