[PR #616] [MERGED] Fix DOCA build/path regressions from NIXL integration (#606) #665

Closed
opened 2026-10-27 21:05:01 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/deepseek-ai/DeepEP/pull/616
Author: @QiaoK
Created: 4/28/2026
Status: ✅ Merged
Merged: 4/29/2026
Merged by: @jershi425

Base: hybrid-ep ← Head: doca_path_fix


📝 Commits (1)

  • 15a295b Fix DOCA build/path regressions from NIXL integration (#606)

📊 Changes

4 files changed (+12 additions, -19 deletions)

View changed files

➖ .use_nixl (+0 -0)
📝 csrc/hybrid_ep/buffer/internode_doca.cuh (+8 -0)
📝 docs/README_Hybrid-EP.md (+1 -8)
📝 setup.py (+3 -11)

📄 Description

The NIXL integration commit (1b8f467) broke DOCA-only builds in two ways:

  1. internode_doca.cuh lost the torch / pybind11 / standard headers that the original internode.cuh provided. Building with HYBRID_EP_MULTINODE=1 and USE_NIXL=0 (the documented DOCA path) failed with 9 nvcc errors on the torch::Tensor / py::list / memcpy expressions inside RDMACoordinator::exchange_remote_rdma_info.

  2. A committed empty .use_nixl marker file plus a setup.py fallback forced use_nixl=True on every build, regardless of the USE_NIXL env var. This silently disabled the DOCA path even when the user explicitly opted out.

This change:

  • Restores the missing system / torch / pybind11 includes in internode_doca.cuh (relocated from the original internode.cuh; guarded by #ifndef USE_NIXL so they cannot leak into the NIXL build).
  • Removes the .use_nixl marker file and the corresponding fallback branch in setup.py, making USE_NIXL=0 the actual default again.
  • Restores the DOCA branch in setup.py to the pre-NIXL behavior: subprocess.run(make src.build, ..., check=True) with no NIXL-suggesting SystemExit message.
  • Updates docs/README_Hybrid-EP.md to drop the .use_nixl workaround and point users at pip install --no-build-isolation when env vars are stripped by build isolation.

DOCA build configuration (sources, includes, libs, extra_objects, link args, NVCC flags) is now byte-for-byte identical to the pre-1b8f467 state. NIXL paths are unchanged and remain opt-in via USE_NIXL=1.

Fixes deepseek-ai/DeepEP#606


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/deepseek-ai/DeepEP/pull/616 **Author:** [@QiaoK](https://github.com/QiaoK) **Created:** 4/28/2026 **Status:** ✅ Merged **Merged:** 4/29/2026 **Merged by:** [@jershi425](https://github.com/jershi425) **Base:** `hybrid-ep` ← **Head:** `doca_path_fix` --- ### 📝 Commits (1) - [`15a295b`](https://github.com/deepseek-ai/DeepEP/commit/15a295b4ca700a56f4552e1fe059b6d4f271f97d) Fix DOCA build/path regressions from NIXL integration (#606) ### 📊 Changes **4 files changed** (+12 additions, -19 deletions) <details> <summary>View changed files</summary> ➖ `.use_nixl` (+0 -0) 📝 `csrc/hybrid_ep/buffer/internode_doca.cuh` (+8 -0) 📝 `docs/README_Hybrid-EP.md` (+1 -8) 📝 `setup.py` (+3 -11) </details> ### 📄 Description The NIXL integration commit (1b8f467) broke DOCA-only builds in two ways: 1. internode_doca.cuh lost the torch / pybind11 / standard headers that the original internode.cuh provided. Building with HYBRID_EP_MULTINODE=1 and USE_NIXL=0 (the documented DOCA path) failed with 9 nvcc errors on the torch::Tensor / py::list / memcpy expressions inside RDMACoordinator::exchange_remote_rdma_info. 2. A committed empty .use_nixl marker file plus a setup.py fallback forced use_nixl=True on every build, regardless of the USE_NIXL env var. This silently disabled the DOCA path even when the user explicitly opted out. This change: - Restores the missing system / torch / pybind11 includes in internode_doca.cuh (relocated from the original internode.cuh; guarded by #ifndef USE_NIXL so they cannot leak into the NIXL build). - Removes the .use_nixl marker file and the corresponding fallback branch in setup.py, making USE_NIXL=0 the actual default again. - Restores the DOCA branch in setup.py to the pre-NIXL behavior: subprocess.run(make src.build, ..., check=True) with no NIXL-suggesting SystemExit message. - Updates docs/README_Hybrid-EP.md to drop the .use_nixl workaround and point users at pip install --no-build-isolation when env vars are stripped by build isolation. DOCA build configuration (sources, includes, libs, extra_objects, link args, NVCC flags) is now byte-for-byte identical to the pre-1b8f467 state. NIXL paths are unchanged and remain opt-in via USE_NIXL=1. Fixes deepseek-ai/DeepEP#606 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-27 21:05:01 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/DeepEP#665
No description provided.