[PR #550] feat: add auto-detection for Blackwell GPU architecture (sm_100a) #631

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

📋 Pull Request Information

Original PR: https://github.com/deepseek-ai/DeepEP/pull/550
Author: @yurekami
Created: 12/28/2025
Status: 🔄 Open

Base: main ← Head: fix-blackwell-gpu-support


📝 Commits (2)

  • 5c4e37b feat: add auto-detection for Blackwell GPU architecture (sm_100a)
  • 1202da5 fix: support configurable 64-bit signaling for low-latency mode (#548)

📊 Changes

7 files changed (+98 additions, -40 deletions)

View changed files

📝 csrc/config.hpp (+9 -9)
📝 csrc/deep_ep.cpp (+2 -2)
📝 csrc/kernels/api.cuh (+6 -6)
📝 csrc/kernels/configs.cuh (+8 -0)
📝 csrc/kernels/internode_ll.cu (+33 -21)
📝 csrc/kernels/utils.cuh (+10 -0)
📝 setup.py (+30 -2)

📄 Description

Summary

Add automatic GPU architecture detection to properly set TORCH_CUDA_ARCH_LIST for Blackwell GPUs (sm_100a/10.0a).

Problem

When building DeepEP on Blackwell GPUs, users encounter errors like:

Target SM ARCH unknown is not compatible
cudaErrorInsufficientDriver

This is because the default TORCH_CUDA_ARCH_LIST is set to 9.0, which doesn't match Blackwell's sm_100a architecture.

Solution

  • Add get_cuda_arch_from_device() function to automatically detect GPU architecture
  • Auto-detect sm_100a for Blackwell, sm_90a for Hopper
  • Print detected architecture during build for user feedback
  • Fall back to 9.0 if detection fails (maintains backward compatibility)

Users can still override with TORCH_CUDA_ARCH_LIST environment variable.

Test plan

  • Build on Blackwell GPU system
  • Build on Hopper GPU system
  • Verify fallback works when GPU detection fails

Fixes #519

🤖 Generated with Claude Code


🔄 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/550 **Author:** [@yurekami](https://github.com/yurekami) **Created:** 12/28/2025 **Status:** 🔄 Open **Base:** `main` ← **Head:** `fix-blackwell-gpu-support` --- ### 📝 Commits (2) - [`5c4e37b`](https://github.com/deepseek-ai/DeepEP/commit/5c4e37b1739f90b0cad07cceef47cbc546bdb4e0) feat: add auto-detection for Blackwell GPU architecture (sm_100a) - [`1202da5`](https://github.com/deepseek-ai/DeepEP/commit/1202da547ffa0e6ccf63f517eef67272e9325c06) fix: support configurable 64-bit signaling for low-latency mode (#548) ### 📊 Changes **7 files changed** (+98 additions, -40 deletions) <details> <summary>View changed files</summary> 📝 `csrc/config.hpp` (+9 -9) 📝 `csrc/deep_ep.cpp` (+2 -2) 📝 `csrc/kernels/api.cuh` (+6 -6) 📝 `csrc/kernels/configs.cuh` (+8 -0) 📝 `csrc/kernels/internode_ll.cu` (+33 -21) 📝 `csrc/kernels/utils.cuh` (+10 -0) 📝 `setup.py` (+30 -2) </details> ### 📄 Description ## Summary Add automatic GPU architecture detection to properly set `TORCH_CUDA_ARCH_LIST` for Blackwell GPUs (sm_100a/10.0a). ## Problem When building DeepEP on Blackwell GPUs, users encounter errors like: ``` Target SM ARCH unknown is not compatible cudaErrorInsufficientDriver ``` This is because the default `TORCH_CUDA_ARCH_LIST` is set to `9.0`, which doesn't match Blackwell's `sm_100a` architecture. ## Solution - Add `get_cuda_arch_from_device()` function to automatically detect GPU architecture - Auto-detect `sm_100a` for Blackwell, `sm_90a` for Hopper - Print detected architecture during build for user feedback - Fall back to `9.0` if detection fails (maintains backward compatibility) Users can still override with `TORCH_CUDA_ARCH_LIST` environment variable. ## Test plan - [ ] Build on Blackwell GPU system - [ ] Build on Hopper GPU system - [ ] Verify fallback works when GPU detection fails Fixes #519 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <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#631
No description provided.