mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[PR #786] perf: skip unused source-order sorts for expanded deterministic dispatch #784
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#784
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/786
Author: @yuweih205
Created: 10/16/2026
Status: 🔄 Open
Base:
main← Head:perf/skip-unused-expanded-sort📝 Commits (2)
3751cebSkip unused source-order sorts for expanded deterministic dispatch686949fCompare only valid receive prefixes in repeated deterministic dispatch checks📊 Changes
2 files changed (+15 additions, -9 deletions)
View changed files
📝
deep_ep/buffers/ep.py(+11 -7)📝
tests/ep/test_ep.py(+4 -2)📄 Description
Fresh expanded deterministic dispatch runs its own stable expert/source sort, and cached expanded dispatch writes into the saved sorted slots, so the compact source-order sort computed before them is never consumed.
deterministic_sortnow returns early for cached expanded dispatch and only builds the compact sort inside the compact branch.Two repeated-dispatch checks in
tests/ep/test_ep.pynow compare only the valid receive prefix: unused sync-free capacity is undefined even without expert-alignment padding.8×H200 (PyTorch 2.13.0+cu132): the EP8 functional suite passes (72 direct + 36 deferred configurations, 12,288 rank-dispatch checks across both record-stream policies, BF16/FP8, CPU/GPU counts, fresh/cached); fresh expanded dispatch at 1024 tokens/rank, hidden 3072, top-8 is 4.7–5.8% faster (12/12 process repeats on each of two nodes, A/A spread 0.81%). Per-process data: gist.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.