diff --git a/src/mca/coll/basic/coll_basic.c b/src/mca/coll/basic/coll_basic.c index abcbfb61fb..14f2c23312 100644 --- a/src/mca/coll/basic/coll_basic.c +++ b/src/mca/coll/basic/coll_basic.c @@ -9,6 +9,7 @@ #include "mpi.h" #include "communicator/communicator.h" +#include "mca/base/mca_base_param.h" #include "mca/coll/coll.h" #include "mca/coll/base/base.h" #include "coll_basic.h" @@ -133,9 +134,14 @@ int mca_coll_basic_init_query(bool *allow_multi_user_threads, const mca_coll_base_module_1_0_0_t * mca_coll_basic_comm_query(struct ompi_communicator_t *comm, int *priority) { + int param; + /* Use a low priority, but allow other components to be lower */ - *priority = 10; + param = mca_base_param_register_int("coll", "basic", "priority", NULL, 10); + if (OMPI_SUCCESS != mca_base_param_lookup_int(param, priority)) { + return NULL; + } /* Choose whether to use [intra|inter], and [linear|log]-based algorithms. */