mirror of
https://github.com/deepseek-ai/DeepEP.git
synced 2026-11-05 00:47:32 +00:00
[PR #408] [CLOSED] Support arbitrary hidden sizes in intranode combine kernel #552
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#552
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/408
Author: @varun-sundar-rabindranath
Created: 9/16/2025
Status: ❌ Closed
Base:
main← Head:intranode/fix-hidden-size📝 Commits (4)
73ec503add warpmask for __syncwarpf7fb36fpass membermask to elect_one_sync592aa14compute maskfd4e7e4fix whitespace📊 Changes
3 files changed (+22 additions, -9 deletions)
View changed files
📝
csrc/kernels/intranode.cu(+15 -5)📝
csrc/kernels/utils.cuh(+2 -2)📝
tests/test_intranode.py(+5 -2)📄 Description
Intranode combine kernels fail for arbitrary hidden sizes.
The kernel has all the required support to handle arbitrary hidden size. The PR simply fixes a spot that seemed to assume
hidden_int4 % 32 == 0.A for-loop inside the kernel invokes
__syncwarp(). This is fine, when all the threads in a warp executes the__syncwarp()(the good case). But this is not always the case with arbitrary hidden size. There can be residuals where only a few threads in a warp would execute the for-loop. To facilitate this, the PR makes appropriatewarp_masksthat the__syncwarp()could be called with.Test:
Tested with hidden-size 2880 (gpt-oss hidden-dim)
This PRmain🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.