[PR #362] Feat: sm90 support mxfp8 fp8 groupgemm #392

Open
opened 2026-10-26 21:17:11 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/deepseek-ai/DeepGEMM/pull/362
Author: @zhangxiaolei123456
Created: 6/16/2026
Status: 🔄 Open

Base: main ← Head: feat/sm90-mxfp8-fp8-main


📝 Commits (10+)

  • bd42ee2 Add SM90 MXFP8 FP8 grouped kernels
  • 5e8cd3d Fix MXFP8 FP8 per-column B scaling
  • 4365d1d Fix MXFP8 contiguous accuracy test constraints
  • 5608f23 Add MXFP8 FP8 performance comparison test
  • aaecde6 Stage MXFP8 B scales in shared memory
  • cb8e933 Fix main-based MXFP8 include list
  • dcb1017 Fence staged MXFP8 B scales before consume
  • c1125fc Support MXFP8 A scales on SM90 grouped kernels
  • 405be71 Load SM90 MXFP8 A scales from global memory
  • c2b8716 Load SM90 MXFP8 B scales from global memory

📊 Changes

7 files changed (+1684 additions, -1 deletions)

View changed files

📝 csrc/apis/gemm.hpp (+116 -0)
📝 csrc/jit_kernels/heuristics/sm90.hpp (+10 -1)
➕ csrc/jit_kernels/impls/sm90_mxfp8_fp8_gemm_1d2d.hpp (+393 -0)
📝 deep_gemm/__init__.py (+2 -0)
➕ deep_gemm/include/deep_gemm/impls/sm90_mxfp8_fp8_gemm_1d2d.cuh (+554 -0)
📝 deep_gemm/include/deep_gemm/ptx/ld_st.cuh (+6 -0)
➕ tests/test_sm90_mxfp8_fp8.py (+603 -0)

📄 Description

accuracy test:

python -m pytest tests/test_sm90_mxfp8_fp8.py -q OK

Peformance test:

python -m pytest tests/test_sm90_mxfp8_fp8.py::test_m_grouped_mxfp8_vs_fp8_perf_contiguous_and_masked -q -s
kernel active M MXFP8 us FP8 us MXFP8 TFLOPS FP8 TFLOPS speedup diff
contiguous 512 23 31 45.9 35.0 1.31x 0.0462
masked 320 22 32 30.4 21.0 1.45x 0.0229

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/deepseek-ai/DeepGEMM/pull/362 **Author:** [@zhangxiaolei123456](https://github.com/zhangxiaolei123456) **Created:** 6/16/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `feat/sm90-mxfp8-fp8-main` --- ### 📝 Commits (10+) - [`bd42ee2`](https://github.com/deepseek-ai/DeepGEMM/commit/bd42ee2f0e5a9b4cdd530a49c11fde16fced59a3) Add SM90 MXFP8 FP8 grouped kernels - [`5e8cd3d`](https://github.com/deepseek-ai/DeepGEMM/commit/5e8cd3d55708c9d3900728383a69fa7f06e28fa2) Fix MXFP8 FP8 per-column B scaling - [`4365d1d`](https://github.com/deepseek-ai/DeepGEMM/commit/4365d1ddf49fd6c8a6292899ec7356e244455aac) Fix MXFP8 contiguous accuracy test constraints - [`5608f23`](https://github.com/deepseek-ai/DeepGEMM/commit/5608f23cc6a9d85d023b79aa22e93c6e1f4eadfd) Add MXFP8 FP8 performance comparison test - [`aaecde6`](https://github.com/deepseek-ai/DeepGEMM/commit/aaecde60cec5bc7b66a13e591e5400bdabe7741d) Stage MXFP8 B scales in shared memory - [`cb8e933`](https://github.com/deepseek-ai/DeepGEMM/commit/cb8e933e8c04ae6e17ad7aee6417a9ec1c7e96aa) Fix main-based MXFP8 include list - [`dcb1017`](https://github.com/deepseek-ai/DeepGEMM/commit/dcb101703fe2abb9e52aacfe3d974afcdf62c731) Fence staged MXFP8 B scales before consume - [`c1125fc`](https://github.com/deepseek-ai/DeepGEMM/commit/c1125fca70f700ad6d5e33464fd71962eed7fdd7) Support MXFP8 A scales on SM90 grouped kernels - [`405be71`](https://github.com/deepseek-ai/DeepGEMM/commit/405be71da6d373731d3b3df24114a58e780ef079) Load SM90 MXFP8 A scales from global memory - [`c2b8716`](https://github.com/deepseek-ai/DeepGEMM/commit/c2b8716c0511837ca3922c933013ad9df7242c7a) Load SM90 MXFP8 B scales from global memory ### 📊 Changes **7 files changed** (+1684 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `csrc/apis/gemm.hpp` (+116 -0) 📝 `csrc/jit_kernels/heuristics/sm90.hpp` (+10 -1) ➕ `csrc/jit_kernels/impls/sm90_mxfp8_fp8_gemm_1d2d.hpp` (+393 -0) 📝 `deep_gemm/__init__.py` (+2 -0) ➕ `deep_gemm/include/deep_gemm/impls/sm90_mxfp8_fp8_gemm_1d2d.cuh` (+554 -0) 📝 `deep_gemm/include/deep_gemm/ptx/ld_st.cuh` (+6 -0) ➕ `tests/test_sm90_mxfp8_fp8.py` (+603 -0) </details> ### 📄 Description accuracy test: python -m pytest tests/test_sm90_mxfp8_fp8.py -q OK Peformance test: ``` python -m pytest tests/test_sm90_mxfp8_fp8.py::test_m_grouped_mxfp8_vs_fp8_perf_contiguous_and_masked -q -s ``` kernel | active M | MXFP8 us | FP8 us | MXFP8 TFLOPS | FP8 TFLOPS | speedup | diff -- | -- | -- | -- | -- | -- | -- | -- contiguous | 512 | 23 | 31 | 45.9 | 35.0 | 1.31x | 0.0462 masked | 320 | 22 | 32 | 30.4 | 21.0 | 1.45x | 0.0229 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/DeepGEMM#392
No description provided.