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/spml.h"
|
||||||
#include "oshmem/mca/spml/base/base.h"
|
#include "oshmem/mca/spml/base/base.h"
|
||||||
|
|
||||||
|
#include "ompi/mca/bml/base/base.h"
|
||||||
|
|
||||||
|
|
||||||
typedef struct opened_component_t {
|
typedef struct opened_component_t {
|
||||||
opal_list_item_t super;
|
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) {
|
if (NULL == tmp_val) {
|
||||||
continue;
|
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) {
|
if (0 == i) {
|
||||||
orte_errmgr.abort(2,
|
orte_errmgr.abort(2,
|
||||||
|
@ -74,7 +74,6 @@ struct mca_spml_yoda_t {
|
|||||||
/* number of outstanding put requests */
|
/* number of outstanding put requests */
|
||||||
int32_t n_active_puts;
|
int32_t n_active_puts;
|
||||||
bool enabled;
|
bool enabled;
|
||||||
bool force_bml;
|
|
||||||
struct yoda_btl *btl_type_map;
|
struct yoda_btl *btl_type_map;
|
||||||
int n_btls;
|
int n_btls;
|
||||||
};
|
};
|
||||||
|
@ -112,15 +112,9 @@ mca_spml_yoda_component_init(int* priority,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* We use BML/BTL and need to start it */
|
/* We use BML/BTL and need to start it */
|
||||||
mca_spml_yoda.force_bml = false;
|
|
||||||
if (!mca_bml_base_inited()) {
|
if (!mca_bml_base_inited()) {
|
||||||
SPML_VERBOSE(10, "starting bml\n");
|
SPML_VERBOSE(10, "can not select yoda because ompi has no bml component");
|
||||||
if (OMPI_SUCCESS
|
return NULL;
|
||||||
!= mca_bml_base_init(enable_progress_threads,
|
|
||||||
enable_mpi_threads)) {
|
|
||||||
return NULL ;
|
|
||||||
}
|
|
||||||
mca_spml_yoda.force_bml = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mca_spml_yoda.n_active_puts = 0;
|
mca_spml_yoda.n_active_puts = 0;
|
||||||
@ -132,11 +126,6 @@ int mca_spml_yoda_component_fini(void)
|
|||||||
{
|
{
|
||||||
int rc;
|
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)
|
if(!mca_spml_yoda.enabled)
|
||||||
return OSHMEM_SUCCESS; /* never selected.. return success.. */
|
return OSHMEM_SUCCESS; /* never selected.. return success.. */
|
||||||
mca_spml_yoda.enabled = false; /* not anymore */
|
mca_spml_yoda.enabled = false; /* not anymore */
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user