1
1

Merge pull request #5294 from yosefe/topic/coll-hcoll-progress-fn

coll_hcoll: register progress callback directly without a proxy
Этот коммит содержится в:
Joshua Ladd 2018-06-25 15:07:26 -04:00 коммит произвёл GitHub
родитель e4989714c2 e3ee11608b
Коммит 98afc838aa
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 7 добавлений и 18 удалений

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

@ -312,7 +312,6 @@ int mca_coll_hcoll_igatherv(const void* sbuf, int scount,
ompi_request_t ** request,
mca_coll_base_module_t *module);
int mca_coll_hcoll_progress(void);
void mca_coll_hcoll_mem_release_cb(void *buf, size_t length, void *cbdata, bool from_alloc);
END_C_DECLS

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

@ -256,7 +256,7 @@ static int hcoll_close(void)
HCOL_VERBOSE(5,"HCOLL FINALIZE");
rc = hcoll_finalize();
OBJ_DESTRUCT(&cm->dtypes);
opal_progress_unregister(mca_coll_hcoll_progress);
opal_progress_unregister(hcoll_progress_fn);
if (HCOLL_SUCCESS != rc){
HCOL_VERBOSE(1,"Hcol library finalize failed");
return OMPI_ERROR;

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

@ -240,16 +240,6 @@ static int mca_coll_hcoll_module_enable(mca_coll_base_module_t *module,
return OMPI_SUCCESS;
}
int mca_coll_hcoll_progress(void)
{
if (ompi_mpi_state >= OMPI_MPI_STATE_FINALIZE_STARTED) {
hcoll_rte_p2p_disabled_notify();
}
(*hcoll_progress_fn)();
return OMPI_SUCCESS;
}
OBJ_CLASS_INSTANCE(mca_coll_hcoll_dtype_t,
opal_free_list_item_t,
@ -290,7 +280,7 @@ mca_coll_hcoll_comm_query(struct ompi_communicator_t *comm, int *priority)
mxm bcol in libhcoll needs world_group fully functional during init
world_group, i.e. ompi_comm_world, is not ready at hcoll component open
call */
opal_progress_register(mca_coll_hcoll_progress);
opal_progress_register(hcoll_progress_fn);
HCOL_VERBOSE(10,"Calling hcoll_init();");
#if HCOLL_API >= HCOLL_VERSION(3,2)
@ -307,7 +297,7 @@ mca_coll_hcoll_comm_query(struct ompi_communicator_t *comm, int *priority)
if (HCOLL_SUCCESS != rc){
cm->hcoll_enable = 0;
opal_progress_unregister(mca_coll_hcoll_progress);
opal_progress_unregister(hcoll_progress_fn);
HCOL_ERROR("Hcol library init failed");
return NULL;
}
@ -328,7 +318,7 @@ mca_coll_hcoll_comm_query(struct ompi_communicator_t *comm, int *priority)
if (OMPI_SUCCESS != err) {
cm->hcoll_enable = 0;
hcoll_finalize();
opal_progress_unregister(mca_coll_hcoll_progress);
opal_progress_unregister(hcoll_progress_fn);
HCOL_ERROR("Hcol comm keyval create failed");
return NULL;
}
@ -341,7 +331,7 @@ mca_coll_hcoll_comm_query(struct ompi_communicator_t *comm, int *priority)
if (OMPI_SUCCESS != err) {
cm->hcoll_enable = 0;
hcoll_finalize();
opal_progress_unregister(mca_coll_hcoll_progress);
opal_progress_unregister(hcoll_progress_fn);
HCOL_ERROR("Hcol type keyval create failed");
return NULL;
}
@ -358,7 +348,7 @@ mca_coll_hcoll_comm_query(struct ompi_communicator_t *comm, int *priority)
if (!cm->libhcoll_initialized) {
cm->hcoll_enable = 0;
hcoll_finalize();
opal_progress_unregister(mca_coll_hcoll_progress);
opal_progress_unregister(hcoll_progress_fn);
}
return NULL;
}
@ -377,7 +367,7 @@ mca_coll_hcoll_comm_query(struct ompi_communicator_t *comm, int *priority)
if (!cm->libhcoll_initialized) {
cm->hcoll_enable = 0;
hcoll_finalize();
opal_progress_unregister(mca_coll_hcoll_progress);
opal_progress_unregister(hcoll_progress_fn);
}
return NULL;
}