void uct_perf_iface_flush_b(ucx_perf_context_t *perf) { ucs_status_t status; do { status = uct_iface_flush(perf->uct.iface, 0, NULL); uct_worker_progress(perf->uct.worker); } while (status == UCS_INPROGRESS); }
ucs_status_t ucp_flush(ucp_worker_h worker) { unsigned rsc_index; /* TODO flush in parallel */ for (rsc_index = 0; rsc_index < worker->context->num_tls; ++rsc_index) { if (worker->ifaces[rsc_index] == NULL) { continue; } while (uct_iface_flush(worker->ifaces[rsc_index]) != UCS_OK) { ucp_worker_progress(worker); } } return UCS_OK; }