mirror of
https://github.com/deepseek-ai/DeepGEMM.git
synced 2026-11-05 00:47:26 +00:00
[PR #378] [CLOSED] feat: support sm90_fp8_fp4_g128 kernel #402
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#402
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/378
Author: @shiyang814-cpu
Created: 7/14/2026
Status: ❌ Closed
Base:
main← Head:sm90-fp8-fp4-g128-cleanup📝 Commits (10+)
6e12aebCreate test_sm90_fp8_fp4.pyb118d88Create sm90_fp8_fp4_gemm_1d1d.cuh561cf21Create sm90_fp8_fp4_gemm_1d2d.cuh4122a7dUpdate gemm.hppb3d92e0Update init.py825cbdbUpdate init.py9625f4fUpdate test_sm90_fp8_fp4.py6a3b1eeMerge pull request #1 from zhangxiaolei123456/zhangxiaolei123456-patch-1043f007Create sm90_fp8_fp4_gemm_1d2d.hppeebc4f4Update sm90_fp8_fp4_gemm_1d2d.hpp📊 Changes
16 files changed (+8670 additions, -10 deletions)
View changed files
📝
csrc/apis/gemm.hpp(+106 -0)📝
csrc/apis/layout.hpp(+17 -2)➕
csrc/jit_kernels/impls/sm90_fp8_fp4_gemm_1d2d.hpp(+1551 -0)➕
csrc/jit_kernels/impls/sm90_fp8_fp4_gemm_1d2d_rs.hpp(+359 -0)📝
csrc/jit_kernels/impls/smxx_layout.hpp(+19 -3)📝
csrc/utils/layout.hpp(+14 -4)📝
deep_gemm/__init__.py(+19 -0)➕
deep_gemm/include/deep_gemm/impls/sm90_fp8_fp4_gemm_1d1d.cuh(+396 -0)➕
deep_gemm/include/deep_gemm/impls/sm90_fp8_fp4_gemm_1d2d.cuh(+713 -0)➕
deep_gemm/include/deep_gemm/impls/sm90_fp8_fp4_gemm_1d2d_rs.cuh(+3236 -0)📝
deep_gemm/include/deep_gemm/mma/sm90.cuh(+70 -0)📝
deep_gemm/include/deep_gemm/ptx/ld_st.cuh(+36 -0)📝
deep_gemm/utils/math.py(+82 -1)➕
tests/test_sm90_fp8_fp4.py(+921 -0)➕
tests/test_sm90_fp8_fp4_g128.py(+607 -0)➕
tests/test_sm90_int4_a8.py(+524 -0)📄 Description
This PR adds support and validation for the SM90 FP8 × FP4 GEMM path with FP4 scales stored in FP32 and grouped by group_size=128 (g128). It differs from the previous feat: support sm90_fp8_fp4 kernel work which primarily focused on the existing FP4 scaling/fast-path configurations .
In addition, we simplified related masked-kernel code by removing redundant runtime switches for the masked operator, making the implementation easier to read and maintain.
Contiguous FP8xFP4(g128) benchmark
Masked FP8xFP4(g128) benchmark
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.