Merge pull request #5890 from yosefe/topic/osc-ucx-flush-worker-instead-of-world-barrier
osc_ucx: add worker flush before osc module free
Этот коммит содержится в:
Коммит
5f767e1a54
@ -131,14 +131,6 @@ static int component_init(bool enable_progress_threads, bool enable_mpi_threads)
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
static void component_world_barrier(void)
|
||||
{
|
||||
ompi_communicator_t *comm = &ompi_mpi_comm_world.comm;
|
||||
opal_progress_register(progress_callback);
|
||||
comm->c_coll->coll_barrier(comm, comm->c_coll->coll_barrier_module);
|
||||
opal_progress_unregister(progress_callback);
|
||||
}
|
||||
|
||||
static int component_finalize(void) {
|
||||
int i;
|
||||
for (i = 0; i < ompi_proc_world_size(); i++) {
|
||||
@ -148,9 +140,7 @@ static int component_finalize(void) {
|
||||
}
|
||||
}
|
||||
|
||||
assert(mca_osc_ucx_component.num_modules == 0);
|
||||
if (mca_osc_ucx_component.ucp_worker != NULL) {
|
||||
component_world_barrier();
|
||||
ucp_worker_destroy(mca_osc_ucx_component.ucp_worker);
|
||||
}
|
||||
|
||||
@ -835,6 +825,8 @@ int ompi_osc_ucx_free(struct ompi_win_t *win) {
|
||||
ucp_worker_progress(mca_osc_ucx_component.ucp_worker);
|
||||
}
|
||||
|
||||
opal_common_ucx_worker_flush(mca_osc_ucx_component.ucp_worker);
|
||||
|
||||
ret = module->comm->c_coll->coll_barrier(module->comm,
|
||||
module->comm->c_coll->coll_barrier_module);
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user