PLUGINS/UCX: Added option to forcibly close UCP endpoints. (#1846)#1950
PLUGINS/UCX: Added option to forcibly close UCP endpoints. (#1846)#1950ovidiusm wants to merge 1 commit into
Conversation
…#1846) ## What? Added option `ucx_ep_close_force` to forcibly close UCP endpoints. ## Why? At the moment `ucp_nb_close_nbx` is called with zeroed flags, meaning UCP endpoints (connected remotely) are destroyed only when the corresponding UCP worker is destroyed. Passing `UCP_EP_CLOSE_FLAG_FORCE` forces the destruction of a UCP endpoint and corresponding UCT endpoints, releasing UCX transport layer resources, e.g. UCT CUDA IPC cache openucx/ucx#11335. The issue was observed using nixl_ep examples in case of repeated connections and disconnections between ranks. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary * **Bug Fixes** * Updated UCX endpoint disconnect/teardown so it follows the configured endpoint close flags instead of using fixed default flags. * **Configuration Updates** * Updated the device example to use peer error handling and force UCX endpoint close. * Backend now propagates configurable endpoint close flags into endpoint creation. * **Tests** * Adjusted elastic UCX transport settings when LL-NVLINK is not disabled, updating `UCX_TLS` to exclude `rc_gda`. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Raul Akhmetshin <rakhmetshin@nvidia.com>
|
👋 Hi ovidiusm! Thank you for contributing to ai-dynamo/nixl. Your PR reviewers will review your contribution then trigger the CI to test your changes. 🚀 |
|
/build |
|
🤖 CI Triage Agent — TL;DR: The "Run CPP tests" stages failed for two reasons: (1) Full analysisSummary: CPP test stages (203/242) failed on one deterministic gtest assertion plus a UCX worker abort; a large tail of exit-42 results are environmental warning artifacts, not real failures. Root cause:
Implicated commit: unknown — the File: UCX plugin hardware-warning gtest (path not confirmed; likely under Suggested fix:
Related: #1909 (open PR: "Fail on unexpectedly skipped tests and fix device tests") appears directly relevant to gating these device-dependent tests. none other found. |
|
🤖 CI Triage Agent — TL;DR: The "Allocate DL EP Environment" stage failed because a Slurm Full analysisSummary: Stage 245 "Allocate DL EP Environment" (build #323) failed; the Slurm allocation request for partition Root cause: The Implicated commit: unknown — not code-related; commit 39f23d5 is not implicated. File: N/A (Jenkins pipeline Slurm allocation step, Suggested fix: Re-run the job — this is a transient GB200 capacity shortage. If it recurs, either (a) raise the Related: none found. |
What?
Added option
ucx_ep_close_forceto forcibly close UCP endpoints.Why?
At the moment
ucp_nb_close_nbxis called with zeroed flags, meaning UCP endpoints (connected remotely) are destroyed only when the corresponding UCP worker is destroyed. PassingUCP_EP_CLOSE_FLAG_FORCEforces the destruction of a UCP endpoint and corresponding UCT endpoints, releasing UCX transport layer resources, e.g. UCT CUDA IPC cache openucx/ucx#11335.The issue was observed using nixl_ep examples in case of repeated connections and disconnections between ranks.