PLUGINS/UCX: Do not use strict order key for PUT/GET - #1917
Conversation
|
👋 Hi tvegas1! Thank you for contributing to ai-dynamo/nixl. Your PR reviewers will review your contribution then trigger the CI to test your changes. 🚀 |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds an ChangesUCX Context Configuration
Estimated code review effort: 1 (Trivial) | ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/plugins/ucx/ucx_utils.cpp`:
- Around line 435-438: The RC fence setting is being written with the wrong key
in ucx_utils.cpp, so the wrapper’s env-prefix logic causes it to miss the
intended UCX setting. Update the config.modify call in the UCX config setup path
to use the unprefixed RC_FENCE key so the wrapper maps it correctly before
calling ucp_config_modify(), and keep the surrounding fence-related logic in the
same UCX configuration block.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Enterprise
Run ID: 7d54b2cb-a897-4757-8c88-222383fe7765
📒 Files selected for processing (1)
src/plugins/ucx/ucx_utils.cpp
Signed-off-by: Thomas Vegas <tvegas@nvidia.com>
|
/build |
|
/ok to test dd6a206 |
|
/build |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: CPP test stage aborted after the gtest Root cause: UCX cannot complete endpoint wireup on the UD Mellanox transport: Implicated commit: Not a source regression — this is an environment/transport (UCX + File: test/gtest/test_transfer.cpp:333 (assertion) — the failure originates in the UCX Suggested fix:
Related: none found (search returned only unrelated tracing/telemetry commits on this file). |
|
🤖 CI Triage Agent — TL;DR: The "Run DL EP elastic tests" stage failed because the Full analysisSummary: Jenkins Root cause: The plan Implicated commit: Not definitively pinpointable from logs alone. The EP low-latency NVLink / CUDA-IPC path most recently changed in File: Suggested fix: Make the surviving ranks tolerate a peer dropping mid dispatch/combine: guard the dispatch/combine kernels and buffer/stream teardown so they do not dereference or Related: none (no matching open issues/PRs found; searches returned only unrelated telemetry/UCX PRs).
|
What?
Do not use strict order key in NIXL. Related: openucx/ucx#11636
Why?
Can provide 20% throughput gain when UCX
rndv/put/mtypeis used for instance.How?
AM already does not use strict order key, even when DDP/AR is used. So any
uct_ep_fence()ends-up having unrelated PUT use strict order key. Fence is not used in NIXL, flush used is LOCAL, and DirectNIC read on flush call does not use fencing explicitly.Summary by CodeRabbit