coll_hcoll: register progress callback directly without a proxy
Signed-off-by: Yossi Itigin <yosefe@mellanox.com>
Этот коммит содержится в:
родитель
d44e0409c7
Коммит
e3ee11608b
@ -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;
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user