mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[PR #673] [MERGED] [HybridEP] Add dense top-k routing scan path #696
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
deepseek-ai/DeepEP#696
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/deepseek-ai/DeepEP/pull/673
Author: @harryzhou2000
Created: 6/29/2026
Status: ✅ Merged
Merged: 8/5/2026
Merged by: @jershi425
Base:
hybrid-ep← Head:hhanyu/hybrid-ep-dense-routing-scan-opt📝 Commits (10+)
149ff76Improve test_hybrid_ep.py: check_bitwise diagnostics, probs=False benchmarks, --only-bf16, permute/unpermute kernel profiling62f7232Optimize sparse prob communicationdb9880bFix sparse prob copy edge cases7e65444Add dense routing map for scan input482a958[HybridEP] Optimize dense scan local expert lookup10358ab[HybridEP] Use rank bitsets in dense scan88f1b6a[HybridEP] Standardize benchmark probability labels18d401a[HybridEP] Test dense topk permute routinga139d9e[HybridEP] Infer dense routing from topk indices936e059[HybridEP] Guard dense topk routing inference📊 Changes
10 files changed (+801 additions, -363 deletions)
View changed files
📝
csrc/hybrid_ep/backend/hybrid_ep_backend.cuh(+355 -158)📝
csrc/hybrid_ep/config.cuh(+18 -2)📝
csrc/hybrid_ep/executor/executor.cu(+39 -9)📝
csrc/hybrid_ep/extension/allgather.cu(+9 -4)📝
csrc/hybrid_ep/extension/allgather.cuh(+2 -1)📝
csrc/hybrid_ep/jit/compiler.cu(+5 -4)📝
csrc/hybrid_ep/jit/compiler.cuh(+1 -1)📝
csrc/hybrid_ep/pybind_hybrid_ep.cu(+1 -0)📝
deep_ep/hybrid_ep_buffer.py(+136 -34)📝
tests/test_hybrid_ep.py(+235 -150)📄 Description
Summary
Performance
Primary impact is scan preprocessing: dense scan is significantly faster on the target dense top-k path. End-to-end dispatch/combine bandwidth is effectively unchanged versus upstream hybrid-ep in single-node B300 tests, with no observed regression.
Testing
TORCH_CUDA_ARCH_LIST="10.0;10.3+PTX".tests/test_hybrid_ep.py --num-processes 8on B300 for default config.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.