mirror of
https://github.com/deepseek-ai/DeepGEMM.git
synced 2026-11-05 00:47:26 +00:00
[GH-ISSUE #125] [Question] Do you have any plans to improve grouped wgrad gemm? #74
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/DeepGEMM#74
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?
Originally created by @shcho1118 on GitHub (Jul 9, 2025).
Original GitHub issue: https://github.com/deepseek-ai/DeepGEMM/issues/125
First of all, thank you for sharing your great implementation.
We are experimenting with using some non-gemm kernels (e.g. quantize, transpose, permute, 128-align per group) with DeepGEMM to train our moe models.
In practice, we observed significant speedups over TransformerEngine GroupedLinear for fprop and dgrad, but negligible performance gains for wgrad.
It seems that there is something that can be optimized, since it launches a non-grouped version of wgrad for each group separately.
TransformerEngine has a similar implementation, but at least it utilizes multi-stream.
Do you have any plans or hints to improve these?
@LyricZhao commented on GitHub (Jul 21, 2025):
Sorry for my late reply.
2 weeks ago, the wgrad kernel utilizes 2 streams. And we believe the performance is good enough (memory bound) and has similar perf with cuBLAS.
For now, we currently remove the SM90 impl on the latest commit (but we have a fast impl for SM100 by NVIDIA). Later, @zheanxu will follow this up and push a single-stream single-kernel (even for grouped GEMMs) SM90 impl for wgrad.