Our take
Newless than six months old- Activity
- 30
- Community
- 51
- Issues
- 53
- Pull requests
- 43
- Fewer contributors than 82% of the projects we track
This is a focused, performance-oriented Ascend port with a compatible DeepGEMM interface, but its short project history and hardware-specific setup make it an early-stage choice for Ascend teams rather than a portable general-purpose library.
Good fit if
- Your workloads run on Huawei Ascend 950 and need the listed GEMM, MQA, or MoE kernels.
- You already use DeepGEMM APIs or want Ascend-specific kernel implementations to study.
- Your team can build and validate C++ extensions in the documented CANN and Torch NPU environment.
Look elsewhere if
- You need kernels for NVIDIA GPUs or another platform, rather than Huawei Ascend.
- You cannot provide the required Ascend hardware, CANN toolkit, and Torch NPU package.
- You need a project with a longer release history, since this repository is new and has no recorded release in the past year.
All health signals
| Last commit | 2026-10-14 (30 days ago) |
|---|---|
| Commits, last 90 days | 3 |
| Releases, last 12 months | 0 |
| Contributors | 3 (top contributor: 33% of commits) |
| Issues closed, last 90 days | 2 |
| Pull requests merged, last 90 days | 1 |
| Project age | 45 days |
Checked on 2026-11-14 with the GitHub API.
Project history
Daily GitHub snapshots since Nov 14, 2026. History covers stars and forks; health signals are not tracked historically.
Stars
639Forks
85More snapshots will appear as the daily collection continues.
Overview
DeepGEMM-Ascend is DeepSeek's port of its DeepGEMM matrix multiplication kernel library to Huawei Ascend NPUs. It provides a compatible API for Ascend users and addresses the complexity of implementing efficient kernels around Ascend's matrix multiply-add primitives, layouts, alignment constraints, and low-level parameters.
The library targets performance-critical model workloads, combining a lightweight abstraction with Ascend-specific techniques such as sparse data loading and coroutine-based pipelining. Its documented support centers on Ascend 950 devices and includes dense GEMM, MQA logits, and MoE operations.
Key Features
- API-compatible port of DeepSeek's DeepGEMM, intended to preserve a familiar development workflow.
- BF16, FP8, FP4, and mixed FP8×FP4 GEMM kernels.
- MQA logits kernels and scheduling metadata utilities.
- Grouped GEMM and MegaMoE operations for expert-based models.
- Ascend-focused kernel techniques, including sparse data loading and coroutine-based pipelining.
- Utilities for NPU architecture selection, core count, deterministic algorithms, and scaling-factor layout conversion.
- JIT kernel compilation with configurable caching and debugging options.
Use Cases
- Ascend platform engineers needing low-level GEMM kernels for model inference or training.
- DeepSeek model teams running MoE workloads that need grouped GEMM or fused MegaMoE operations.
- Teams implementing MQA scoring for the DeepSeek Lightning Indexer on Ascend.
- Kernel developers seeking reference implementations of performance optimization techniques for Ascend hardware.
What you need
Detected in the repository
- Python (from setup.py)
- A test suite
License in plain words
MITpermissive
- Commercial use: yes
- Modify and redistribute: yes
- You must keep: the copyright and license notice
- Share your changes: no
A summary, not legal advice: the LICENSE file is what applies.
Getting Started
Clone the repository with its submodules, then install the package:
git clone --recursive https://github.com/deepseek-ai/DeepGEMM-Ascend.git
cd DeepGEMM-Ascend
pip install . --no-build-isolation
See the README for requirements, development setup, interfaces, and benchmark details.
Considerations
- The documented development and validation target is Ascend 950, with CANN 9.20 and
torch_npu; this is not a drop-in choice for other accelerator platforms. - Building from source requires Python 3.10 or newer, C++20
<format>support, and the listed compiler tools. The HC prenorm kernel also depends on TileLang. - The project is very new. Recent activity is limited, with only a few commits in the measured 90-day period and no releases in the past year. Three contributors are recorded, with work not concentrated in one person.
- The repository includes tests, but its measured project data shows no CI configuration. Teams should validate their own hardware and software combinations.
- The MIT license permits broad use, subject to its license terms and attribution requirements.
Found this useful?
Share it with someone who would like DeepGEMM-Ascend.