DeepSeek Ports DeepGEMM-Ascend to Rival Nvidia's CUDA on Huawei Chips

DeepSeek ports its FP8 matrix-multiplication library to Huawei Ascend 950 NPUs, hitting up to 99.8% of hardware peak and keeping the same Python API.

·
·
·
DeepSeek Ports DeepGEMM-Ascend to Rival Nvidia's CUDA on Huawei ChipsPRO
Read2 min
TypeRepo
  • DeepSeek open-sourced DeepGEMM-Ascend, an MIT-licensed GEMM kernel library for Huawei Ascend 950 NPUs.
  • Supports BF16, FP8, FP4 GEMM, MQA logits and MegaMoE with the original DeepGEMM Python API.
  • Dense GEMM reaches up to 99.8% of Ascend 950 hardware peak across data types.
  • Part of a broader Ascend stack including TileLang, DeepEP-Ascend, TileKernels, FlashMLA and DeepSelect.
  • Requires CANN 9.20, torch_npu, Python 3.10+, validated on Ascend 950 series.
  • Scaling factors use Ascend-specific UE8M0 int16 packing in MN-major order, needing a layout transform.

DeepSeek has released DeepGEMM-Ascend, an MIT-licensed port of its matrix multiplication kernel library to Huawei’s Ascend neural processing units. The repository targets Ascend 950 hardware and preserves DeepGEMM’s existing API while replacing its CUDA-oriented execution path with Ascend-specific kernels.

The port gives developers optimized building blocks for dense matrix multiplication, mixture-of-experts workloads and several operators used in DeepSeek models. It also expands the software available for evaluating Ascend hardware, where usable performance depends on kernel libraries and communication software as much as nominal chip specifications.

Area Release detail
License MIT
Validated hardware Huawei Ascend 950
Supported formats BF16, FP8 and FP4
Primary workloads Dense GEMM, grouped GEMM, MQA logits, MegaMoE and mHC prenorm
Core toolchain CANN 9.20, torch_npu, Python 3.10+ and a C++20 compiler

Ascend gets a familiar kernel interface

DeepSeek describes the Ascend implementation as API-compatible with DeepGEMM, allowing applications built against the library’s public interfaces to retain their Python call patterns. The backend maps those calls to Ascend matrix multiply-accumulate primitives, data layouts, address calculations and execution pipelines.

API compatibility covers the library interface, while deployment details remain platform-specific. Teams still need the Ascend runtime, compatible tensor placement, an appropriate build environment and replacements for any CUDA code outside DeepGEMM. Existing applications that isolate accelerator-specific work behind the library should require fewer call-site changes.

Quantized workloads also need an Ascend-specific scaling-factor layout. Each pair of UE8M0 scales along the K dimension is packed into an int16 value and stored in MN-major order. The repository includes a

Pro article

This story is for Pro members

You've reached the end of the free preview. Upgrade to AlphaSignal Pro to read the full article - and everything else behind the paywall.

Trending
  • No trending articles

Comments

avatar

Next Reads