diff --git a/ompi/mca/coll/fca/coll_fca_component.c b/ompi/mca/coll/fca/coll_fca_component.c index 499296a2df..aafa83f23b 100644 --- a/ompi/mca/coll/fca/coll_fca_component.c +++ b/ompi/mca/coll/fca/coll_fca_component.c @@ -1194,7 +1194,7 @@ static int fca_register(void) MCA_BASE_VAR_SCOPE_READONLY, &mca_coll_fca_component.fca_verbose); - mca_coll_fca_component.fca_enable = 1; + mca_coll_fca_component.fca_enable = 0; (void) mca_base_component_var_register(c, "enable", "[1|0|] Enable/Disable Fabric Collective Accelerator", MCA_BASE_VAR_TYPE_INT, NULL, 0, 0, @@ -1218,7 +1218,7 @@ static int fca_register(void) MCA_BASE_VAR_SCOPE_READONLY, &mca_coll_fca_component.fca_np); - mca_coll_fca_component.fca_enable_barrier = OMPI_FCA_BCAST; + mca_coll_fca_component.fca_enable_barrier = OMPI_FCA_BARRIER; (void) mca_base_component_var_register(c, "enable_barrier", "[1|0|] Enable/Disable FCA Barrier support", MCA_BASE_VAR_TYPE_INT, NULL, 0, 0, diff --git a/ompi/mca/coll/hcoll/coll_hcoll_component.c b/ompi/mca/coll/hcoll/coll_hcoll_component.c index f16864e253..b0c430be19 100644 --- a/ompi/mca/coll/hcoll/coll_hcoll_component.c +++ b/ompi/mca/coll/hcoll/coll_hcoll_component.c @@ -226,8 +226,7 @@ static int hcoll_open(void) hcoll_rte_fns_setup(); - OBJ_CONSTRUCT(&mca_coll_hcoll_component.active_modules, - opal_list_t); + OBJ_CONSTRUCT(&mca_coll_hcoll_component.active_modules, opal_list_t); mca_coll_hcoll_component.progress_lock = -1; return OMPI_SUCCESS; @@ -236,8 +235,14 @@ static int hcoll_open(void) static int hcoll_close(void) { int rc; + + if (false == mca_coll_hcoll_component.hcoll_enable) { + return OMPI_SUCCESS; + } + HCOL_VERBOSE(5,"HCOLL FINALIZE"); rc = hcoll_finalize(); + opal_progress_unregister(mca_coll_hcoll_progress); OBJ_DESTRUCT(&mca_coll_hcoll_component.active_modules); memset(&mca_coll_hcoll_component.active_modules,0,sizeof(mca_coll_hcoll_component.active_modules)); diff --git a/ompi/mca/coll/hcoll/coll_hcoll_module.c b/ompi/mca/coll/hcoll/coll_hcoll_module.c index d084710621..daa87d3bd6 100644 --- a/ompi/mca/coll/hcoll/coll_hcoll_module.c +++ b/ompi/mca/coll/hcoll/coll_hcoll_module.c @@ -226,7 +226,9 @@ int mca_coll_hcoll_progress(void) item = item_next; } - (*hcoll_progress_fn)(); + if (!ompi_mpi_finalized) { + (*hcoll_progress_fn)(); + } OPAL_THREAD_ADD32(&mca_coll_hcoll_component.progress_lock,-1); return OMPI_SUCCESS; } @@ -295,7 +297,6 @@ mca_coll_hcoll_comm_query(struct ompi_communicator_t *comm, int *priority) *priority = mca_coll_hcoll_component.hcoll_priority; module = &hcoll_module->super; - exit: return module; }