yoda spml will disqalify itself if bml/btls are not started by ompi
Starting bml/btls in yoda is pointless because btls require modex() exchange. modex() is only done during mpi_init() Refs trac:3763 This commit was SVN r29541. The following Trac tickets were found above: Ticket 3763 --> https://svn.open-mpi.org/trac/ompi/ticket/3763
Этот коммит содержится в:
родитель
68dac45a37
Коммит
b5c95e8eb6
@ -27,6 +27,8 @@
|
||||
#include "oshmem/mca/spml/spml.h"
|
||||
#include "oshmem/mca/spml/base/base.h"
|
||||
|
||||
#include "ompi/mca/bml/base/base.h"
|
||||
|
||||
|
||||
typedef struct opened_component_t {
|
||||
opal_list_item_t super;
|
||||
@ -147,7 +149,12 @@ int mca_spml_base_select(bool enable_progress_threads, bool enable_mpi_threads)
|
||||
if (NULL == tmp_val) {
|
||||
continue;
|
||||
}
|
||||
orte_errmgr.abort(1, "SPML %s cannot be selected", tmp_val);
|
||||
if (0 == strncmp(tmp_val, "yoda", 4) && !mca_bml_base_inited()) {
|
||||
orte_errmgr.abort(1, "SPML %s cannot be selected becasue no btls are available. Please make sure that ob1 pml is selected by ompi (-mca pml ob1)", tmp_val);
|
||||
}
|
||||
else {
|
||||
orte_errmgr.abort(1, "SPML %s cannot be selected", tmp_val);
|
||||
}
|
||||
}
|
||||
if (0 == i) {
|
||||
orte_errmgr.abort(2,
|
||||
|
@ -74,7 +74,6 @@ struct mca_spml_yoda_t {
|
||||
/* number of outstanding put requests */
|
||||
int32_t n_active_puts;
|
||||
bool enabled;
|
||||
bool force_bml;
|
||||
struct yoda_btl *btl_type_map;
|
||||
int n_btls;
|
||||
};
|
||||
|
@ -112,15 +112,9 @@ mca_spml_yoda_component_init(int* priority,
|
||||
}
|
||||
|
||||
/* We use BML/BTL and need to start it */
|
||||
mca_spml_yoda.force_bml = false;
|
||||
if (!mca_bml_base_inited()) {
|
||||
SPML_VERBOSE(10, "starting bml\n");
|
||||
if (OMPI_SUCCESS
|
||||
!= mca_bml_base_init(enable_progress_threads,
|
||||
enable_mpi_threads)) {
|
||||
return NULL ;
|
||||
}
|
||||
mca_spml_yoda.force_bml = true;
|
||||
SPML_VERBOSE(10, "can not select yoda because ompi has no bml component");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
mca_spml_yoda.n_active_puts = 0;
|
||||
@ -132,11 +126,6 @@ int mca_spml_yoda_component_fini(void)
|
||||
{
|
||||
int rc;
|
||||
|
||||
/* Shutdown BML */
|
||||
if ((mca_spml_yoda.force_bml == true) &&
|
||||
(OMPI_SUCCESS != (rc = mca_bml.bml_finalize())))
|
||||
return rc;
|
||||
|
||||
if(!mca_spml_yoda.enabled)
|
||||
return OSHMEM_SUCCESS; /* never selected.. return success.. */
|
||||
mca_spml_yoda.enabled = false; /* not anymore */
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user