China's Alternative to CUDA? Inside DeepSeek's DeepGEMM-Ascend

summarized

TLDR

DeepSeek's DeepGEMM-Ascend, announced September 30, 2026, ports a CUDA kernel library to Huawei Ascend chips while preserving the same API, but the underlying hardware-specific instructions for data movement and computation must be rewritten. The maintainers claim full API compatibility, but the port only solves one part of the larger software ecosystem problem—it does not make every CUDA application work on Ascend. For developers, this is a starting point for porting matrix operations, not a guarantee of application performance.

Key points

DeepSeek released DeepGEMM-Ascend on September 30, 2026, adapting a CUDA kernel library to Huawei Ascend.

The port maintains full API compatibility, but hardware-specific instructions for data movement and computation differ.

The library was developed and validated on Ascend 950 hardware.

It requires CAN version 9.20 (Huawei software toolkit) and torch_npu to connect PyTorch to Ascend.

DeepSeek reports strong kernel performance, but these figures are not independently verified.

Tools mentioned

Techniques

  • kernel porting
  • matrix multiplication
  • data layout transformation
  • overlapping computation and data transfer
  • synchronization for buffer reuse
Transcript (captions)

0:00 You're moving a matrix multiplication from an Nvidia chip to a Huawei chip. Same numbers, same calculation. But the software instructions that move the data and run the calculation need adapting.

0:11 If both chips multiply numbers, why can't we just swap them? Follow the numbers through this loading dock and you'll see what the software has to handle. Your function call is the order

0:20 slip. Multiply these matrices. That's the API. The kernel supplies the chip specific instructions for moving those numbers and doing the calculation. Arrangement matters, too. Some inputs

0:31 carry scaling information that this implementation checks and repacks into its required layout. The numbers haven't changed their minds. They've changed seats. The kernel moves the input

0:40 numbers from the chip's main memory into nearby temporary storage, then into buffers that feed the multiplier. It multiplies the numbers, adds the products together, and stores the

0:50 result. That's the work behind Deepseek's Deep Gem Ascend release announced September 30th, 2026. adapting a CUDA kernel library to Huawei Ascend while preserving its interface. The

1:01 maintainers claim full API compatibility and the exported functions support that claim. Familiar calls connect to Ascend implementations. That doesn't guarantee every application migrates unchanged.

1:12 Underneath loading and computation can overlap. While one batch feeds the multiplier, another arrives. Synchronization keeps a buffer from being reused before its current job

1:22 finishes. The launcher also chooses block sizes, layouts, and buffer stages. Those hardware specific choices sit beneath a familiar call. Even layout transformations can happen inside the

1:33 interface. The team developed and validated the port on ascend 950. It needs CAN version 9.20 Huawei software toolkit and torch npu, which connects PyTorch to Ascend. This doesn't

1:45 establish support for every Chinese chip. CAN supplies the surrounding compiler, runtime, and tools. CUDA covers that broader territory too. Porting this operation library solves

1:55 one part of that much larger software problem. Deepseek reports strong kernel performance. Those are its own figures not independently checked here. They measure individual operations. A fast

2:06 multiplication alone doesn't tell you how fast the whole application runs. For developers moving deep gem work to ascend 950, I'd use this as a starting point then test. Does this make the

2:17 whole application faster on its actual workload?

Frontier News · by Hyperjump Technology