1
1

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.
Этот коммит содержится в:
Howard Pritchard 2014-12-18 10:23:14 -07:00
родитель 43cdcb745f
Коммит d188f0bc6f
3 изменённых файлов: 12 добавлений и 1 удалений

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

@ -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;
}