[PR #606] fix build error without GPU for doca/NCCL #657

Open
opened 2026-10-27 21:04:57 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/deepseek-ai/DeepEP/pull/606
Author: @alpha-baby
Created: 4/23/2026
Status: 🔄 Open

Base: hybrid-ep ← Head: fujh/build_hybrid-ep_without_gpu


📝 Commits (1)

  • 903f89b fix build error without GPU for doca/NCCL

📊 Changes

2 files changed (+9 additions, -0 deletions)

View changed files

📝 csrc/hybrid_ep/buffer/internode_doca.cu (+4 -0)
📝 setup.py (+5 -0)

📄 Description

fix build error

build command:

rm -rf .use_nixl
HYBRID_EP_MULTINODE=1 LIBRARY_PATH=/usr/local/cuda/lib64/stubs:$LIBRARY_PATH TORCH_CUDA_ARCH_LIST='10.0' python setup.py bdist_wheel

error log:

FAILED: /root/hybrid-ep-open-source/build/temp.linux-x86_64-cpython-312/csrc/hybrid_ep/buffer/internode_doca.o
/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /root/hybrid-ep-open-source/build/temp.linux-x86_64-cpython-312/csrc/hybrid_ep/buffer/internode_doca.o.d -I/root/hybrid-ep-open-source/csrc/hybrid_ep/ -I/root/hybrid-ep-open-source/csrc/hybrid_ep/backend/ -I/root/hybrid-ep-open-source/third-party/nccl/src/transport/net_ib/gdaki/doca-gpunetio/include -Iinclude -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu -o /root/hybrid-ep-open-source/build/temp.linux-x86_64-cpython-312/csrc/hybrid_ep/buffer/internode_doca.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -std=c++17 -Xcompiler -fPIC --expt-relaxed-constexpr -O3 --shared '-DSM_ARCH="10.0"' -DHYBRID_EP_BUILD_MULTINODE_ENABLE '-DRDMA_CORE_HOME=""' -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=hybrid_ep_cpp -gencode=arch=compute_100,code=sm_100
In file included from /root/hybrid-ep-open-source/third-party/nccl/src/transport/net_ib/gdaki/doca-gpunetio/include/doca_gpunetio_device.h:41,
                 from /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cuh:8,
                 from /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu:4:
/root/hybrid-ep-open-source/third-party/nccl/src/transport/net_ib/gdaki/doca-gpunetio/include/device/doca_gpunetio_dev_verbs_common.cuh:58:2: warning: #warning "warning: doca_gpunetio should be used with a CUDA version >= 12020." [-Wcpp]
   58 | #warning "warning: doca_gpunetio should be used with a CUDA version >= 12020."
      |  ^~~~~~~
In file included from /root/hybrid-ep-open-source/third-party/nccl/src/transport/net_ib/gdaki/doca-gpunetio/include/doca_gpunetio_device.h:41,
                 from /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cuh:8,
                 from /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu:4:
/root/hybrid-ep-open-source/third-party/nccl/src/transport/net_ib/gdaki/doca-gpunetio/include/device/doca_gpunetio_dev_verbs_common.cuh:58:2: warning: #warning "warning: doca_gpunetio should be used with a CUDA version >= 12020." [-Wcpp]
   58 | #warning "warning: doca_gpunetio should be used with a CUDA version >= 12020."
      |  ^~~~~~~
/root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(796): error: name followed by "::" must be a class or namespace name
    torch::Tensor buffer = torch::empty({num_bytes}, at::device(at::kCPU).dtype(at::kByte));
    ^

/root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(796): error: expected a ";"
    torch::Tensor buffer = torch::empty({num_bytes}, at::device(at::kCPU).dtype(at::kByte));
                  ^

/root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(797): error: identifier "buffer" is undefined
    memcpy(buffer.data_ptr<uint8_t>(), reinterpret_cast<void *>(src), num_of_qps * sizeof(remote_info));
           ^

/root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(797): error: type name is not allowed
    memcpy(buffer.data_ptr<uint8_t>(), reinterpret_cast<void *>(src), num_of_qps * sizeof(remote_info));
                           ^

/root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(797): error: expected an expression
    memcpy(buffer.data_ptr<uint8_t>(), reinterpret_cast<void *>(src), num_of_qps * sizeof(remote_info));
                                    ^

/root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(805): error: name followed by "::" must be a class or namespace name
      output_list.append(torch::empty_like(buffer));
                         ^

/root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(812): error: name followed by "::" must be a class or namespace name
      auto tensor = output_list[i].cast<torch::Tensor>().cpu();
                                        ^

/root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(813): error: type name is not allowed
      memcpy(dst + num_of_qps * (i / buffer_config.num_of_ranks_per_node), tensor.data_ptr<uint8_t>(), num_of_qps * sizeof(remote_info));
                                                                                           ^

/root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(813): error: expected an expression
      memcpy(dst + num_of_qps * (i / buffer_config.num_of_ranks_per_node), tensor.data_ptr<uint8_t>(), num_of_qps * sizeof(remote_info));
                                                                                                    ^

9 errors detected in the compilation of "/root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu".

🔄 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/606 **Author:** [@alpha-baby](https://github.com/alpha-baby) **Created:** 4/23/2026 **Status:** 🔄 Open **Base:** `hybrid-ep` ← **Head:** `fujh/build_hybrid-ep_without_gpu` --- ### 📝 Commits (1) - [`903f89b`](https://github.com/deepseek-ai/DeepEP/commit/903f89b11f20a2052c633f6cb5a0abaaead3b608) fix build error without GPU for doca/NCCL ### 📊 Changes **2 files changed** (+9 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `csrc/hybrid_ep/buffer/internode_doca.cu` (+4 -0) 📝 `setup.py` (+5 -0) </details> ### 📄 Description ## fix build error build command: ``` rm -rf .use_nixl HYBRID_EP_MULTINODE=1 LIBRARY_PATH=/usr/local/cuda/lib64/stubs:$LIBRARY_PATH TORCH_CUDA_ARCH_LIST='10.0' python setup.py bdist_wheel ``` error log: ``` FAILED: /root/hybrid-ep-open-source/build/temp.linux-x86_64-cpython-312/csrc/hybrid_ep/buffer/internode_doca.o /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /root/hybrid-ep-open-source/build/temp.linux-x86_64-cpython-312/csrc/hybrid_ep/buffer/internode_doca.o.d -I/root/hybrid-ep-open-source/csrc/hybrid_ep/ -I/root/hybrid-ep-open-source/csrc/hybrid_ep/backend/ -I/root/hybrid-ep-open-source/third-party/nccl/src/transport/net_ib/gdaki/doca-gpunetio/include -Iinclude -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu -o /root/hybrid-ep-open-source/build/temp.linux-x86_64-cpython-312/csrc/hybrid_ep/buffer/internode_doca.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -std=c++17 -Xcompiler -fPIC --expt-relaxed-constexpr -O3 --shared '-DSM_ARCH="10.0"' -DHYBRID_EP_BUILD_MULTINODE_ENABLE '-DRDMA_CORE_HOME=""' -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1016"' -DTORCH_EXTENSION_NAME=hybrid_ep_cpp -gencode=arch=compute_100,code=sm_100 In file included from /root/hybrid-ep-open-source/third-party/nccl/src/transport/net_ib/gdaki/doca-gpunetio/include/doca_gpunetio_device.h:41, from /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cuh:8, from /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu:4: /root/hybrid-ep-open-source/third-party/nccl/src/transport/net_ib/gdaki/doca-gpunetio/include/device/doca_gpunetio_dev_verbs_common.cuh:58:2: warning: #warning "warning: doca_gpunetio should be used with a CUDA version >= 12020." [-Wcpp] 58 | #warning "warning: doca_gpunetio should be used with a CUDA version >= 12020." | ^~~~~~~ In file included from /root/hybrid-ep-open-source/third-party/nccl/src/transport/net_ib/gdaki/doca-gpunetio/include/doca_gpunetio_device.h:41, from /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cuh:8, from /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu:4: /root/hybrid-ep-open-source/third-party/nccl/src/transport/net_ib/gdaki/doca-gpunetio/include/device/doca_gpunetio_dev_verbs_common.cuh:58:2: warning: #warning "warning: doca_gpunetio should be used with a CUDA version >= 12020." [-Wcpp] 58 | #warning "warning: doca_gpunetio should be used with a CUDA version >= 12020." | ^~~~~~~ /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(796): error: name followed by "::" must be a class or namespace name torch::Tensor buffer = torch::empty({num_bytes}, at::device(at::kCPU).dtype(at::kByte)); ^ /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(796): error: expected a ";" torch::Tensor buffer = torch::empty({num_bytes}, at::device(at::kCPU).dtype(at::kByte)); ^ /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(797): error: identifier "buffer" is undefined memcpy(buffer.data_ptr<uint8_t>(), reinterpret_cast<void *>(src), num_of_qps * sizeof(remote_info)); ^ /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(797): error: type name is not allowed memcpy(buffer.data_ptr<uint8_t>(), reinterpret_cast<void *>(src), num_of_qps * sizeof(remote_info)); ^ /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(797): error: expected an expression memcpy(buffer.data_ptr<uint8_t>(), reinterpret_cast<void *>(src), num_of_qps * sizeof(remote_info)); ^ /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(805): error: name followed by "::" must be a class or namespace name output_list.append(torch::empty_like(buffer)); ^ /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(812): error: name followed by "::" must be a class or namespace name auto tensor = output_list[i].cast<torch::Tensor>().cpu(); ^ /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(813): error: type name is not allowed memcpy(dst + num_of_qps * (i / buffer_config.num_of_ranks_per_node), tensor.data_ptr<uint8_t>(), num_of_qps * sizeof(remote_info)); ^ /root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu(813): error: expected an expression memcpy(dst + num_of_qps * (i / buffer_config.num_of_ranks_per_node), tensor.data_ptr<uint8_t>(), num_of_qps * sizeof(remote_info)); ^ 9 errors detected in the compilation of "/root/hybrid-ep-open-source/csrc/hybrid_ep/buffer/internode_doca.cu". ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
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#657
No description provided.