mirror of
https://github.com/deepseek-ai/DeepGEMM.git
synced 2026-11-05 00:47:26 +00:00
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#407
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/DeepGEMM/pull/384
Author: @Barry-Delaney
Created: 7/17/2026
Status: ✅ Merged
Merged: 7/20/2026
Merged by: @RayWang96
Base:
nv_dev← Head:user/jinshik/nv_dev_377📝 Commits (5)
54e2261Multiple updates and refactorings (#364)1f6f3f3Fix a race condition where in-flight tensormaps are updated in-place (#343)559d79fPublic release 26/07 (#377)17780e5Merge upstream commit559d79f(#377: Public release 26/07) into nv_dev96fbcedFix SM100 FP16 MQA synchronization📊 Changes
77 files changed (+7890 additions, -7136 deletions)
View changed files
📝
csrc/apis/attention.hpp(+176 -181)📝
csrc/apis/einsum.hpp(+1 -1)📝
csrc/apis/gemm.hpp(+113 -50)📝
csrc/apis/layout.hpp(+41 -22)📝
csrc/apis/mega.hpp(+263 -94)📝
csrc/indexing/main.cu(+2 -4)📝
csrc/jit_kernels/heuristics/config.hpp(+4 -0)📝
csrc/jit_kernels/heuristics/mega_moe.hpp(+60 -86)📝
csrc/jit_kernels/heuristics/runtime.hpp(+2 -2)📝
csrc/jit_kernels/impls/runtime_utils.hpp(+1 -0)📝
csrc/jit_kernels/impls/sm100_bf16_gemm.hpp(+16 -15)➕
csrc/jit_kernels/impls/sm100_bf16_mega_moe.hpp(+236 -0)📝
csrc/jit_kernels/impls/sm100_fp8_fp4_gemm_1d1d.hpp(+30 -20)📝
csrc/jit_kernels/impls/sm100_fp8_fp4_mega_moe.hpp(+111 -18)➖
csrc/jit_kernels/impls/sm100_fp8_gemm_1d1d.hpp(+0 -416)➕
csrc/jit_kernels/impls/sm100_mqa_logits.hpp(+490 -0)➕
csrc/jit_kernels/impls/sm100_mqa_logits_f16_weights.hpp(+179 -0)➕
csrc/jit_kernels/impls/sm120_mqa_logits.hpp(+691 -0)📝
csrc/jit_kernels/impls/sm90_bf16_gemm.hpp(+5 -5)📝
csrc/jit_kernels/impls/sm90_fp8_gemm_1d1d.hpp(+8 -8)...and 57 more files
📄 Description
Summary
Merges upstream
559d79f(#377, Public release 26/07) intonv_devata6b593d(#369). This also brings in upstream#364and the race fix from#343; the merge base is88965b0.The branch uses the same explicit non-fast-forward topology as the previous
nv_devsync PRs (#314,#328, and#349), keeping the upstream main commit as the merge commit's second parent.B200 validation exposed two SM100 FP16-weight MQA synchronization gaps in the PTX-wrapper migration. Follow-up
96fbcedelects one lane for raw-PTX 2x1SM UMMA issue, waits for each CTA's local KV-scale TMA before consumption, and fences the TMEM producer/consumer handoff.Conflict resolution
#377's unified SM100 MQA and common MMA/PTX refactor while retaining nv_dev's SM90next_n=4multicast andblock_kv=32, dedicated SM120 paths, FP16/BF16 weights, and 16-head indexer support.block_kv=32odd physical-page tail from reading one page past the block-table row.Validation
Tests were run from isolated Docker worktrees on NVIDIA B200 GPUs (SM100):
test_bf16.py,test_fp8_fp4.py,test_layout.py,test_einsum.py,test_legacy.py, andtest_hyperconnection.py.CP=0/1; the original H64/D32/CP0 failure passed 500 consecutive consistency runs.fp8xfp4andbf16xbf16. The fused kernels launched and benchmarked successfully; thedeep_epbaseline comparison was skipped because that module was unavailable in the image.py_compile; no unresolved conflicts, conflict markers, missing project-local includes, or references to removed headers were found.GPU validation is SM100/B200 only. SM90 and SM120 GPU paths were not covered.
Three
git diff --checkwarnings are inherited byte-for-byte from upstream#377(Mega-MoE trailing whitespace); the conflict resolutions and follow-up fix introduce no new whitespace warnings.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.