Skip to content

[AMD][DI] Keep loopback in UCX_NET_DEVICES - #40641

Merged
HaiShaw merged 1 commit into
sgl-project:mainfrom
Lzy17:amd/fix-ucx-net-devices-nixl
Sep 22, 2026
Merged

HaiShaw merged 1 commit into
sgl-project:mainfrom
Lzy17:amd/fix-ucx-net-devices-nixl

Conversation

@Lzy17

@Lzy17 Lzy17 commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

Motivation

test_nixl_transfer_engine_e2e has failed on the MI35X disaggregation runner since #37874. The prefill server dies at startup with NIXL_ERR_BACKEND.

#37874 added _maybe_set_ucx_net_devices, which pins UCX_NET_DEVICES to the RDMA devices used by the test. UCX applies that list to every network device, not just the RDMA ones, so it also drops tcp.

NIXL opens an endpoint to itself during createBackend and needs an active-message transport for it. Without tcp none is left: self, sysv and posix have no peer failure handler, rocm_copy has no am bcopy, and ud_verbs is unreachable on this fabric.

The same CI job shows both sides: the Verify NIXL in Container step creates a UCX backend fine before any test runs, and the same call fails once the fixture has set the pin.

Modifications

Keep the RDMA pin and add loopback, so the endpoint still has a transport.

ud_verbs being unreachable is a separate fabric issue and is not addressed here.

Checklist

  • Format with pre-commit run --all-files
  • Verified on the MI35X disaggregation runner

CI States

Latest PR Test (Base): ❌ Run #35664824495
Latest PR Test (Extra): ❌ Run #35664824307
Latest PR Test (AMD ROCm 10): ❌ Run #35664824445

@Lzy17 Lzy17 changed the title [Fix][PD] Keep loopback in UCX_NET_DEVICES so NIXL createBackend succeeds [AMD][DI] Keep loopback in UCX_NET_DEVICES so NIXL createBackend succeeds Sep 21, 2026
…eeds

sgl-project#37874 pins UCX_NET_DEVICES to the RDMA devices used by the test. UCX
applies that list to every network resource, not just the RDMA ones, so
it also drops tcp.

NIXL opens an endpoint to itself in createBackend and needs an
active-message transport for it. Without tcp none is left: self, sysv
and posix have no peer failure handler, rocm_copy has no am bcopy, and
ud_verbs is unreachable on this fabric. create_backend then fails with
NIXL_ERR_BACKEND and the prefill server exits.

Keep the RDMA pin and add loopback so that endpoint still works.
@Lzy17
Lzy17 force-pushed the amd/fix-ucx-net-devices-nixl branch from 8a673dd to 150a927 Compare September 21, 2026 22:51
@Lzy17 Lzy17 changed the title [AMD][DI] Keep loopback in UCX_NET_DEVICES so NIXL createBackend succeeds [AMD][DI] Keep loopback in UCX_NET_DEVICES Sep 21, 2026
@HaiShaw
HaiShaw merged commit 70a2bb2 into sgl-project:main Sep 22, 2026
94 of 110 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants