The Huawei-DeepSeek Symbiosis
- Source
- newsletter.semianalysis.com
- Author
- Bryan Shan
- Date

Context
On September 30, DeepSeek published support for Huawei's Ascend AI chips in six open-source projects, among them the TileLang kernel language and DeepSeek's own DeepGEMM, DeepEP and FlashMLA libraries. In The Huawei-DeepSeek Symbiosis, SemiAnalysis reads that release as evidence of a trade. Huawei has chips and a native software stack but, despite its own Pangu models, no frontier lab to show they can train and serve leading models. DeepSeek has the models but "cannot buy the compute it needs." Each supplies what the other lacks, and SemiAnalysis predicts that by 2028, or even 2027, DeepSeek will likely be running mainly on Huawei's stack. That is a forecast, not something the release shows.
In the free portion, the central argument is that the gap is in hardware, not software. In SemiAnalysis's microbenchmarks on an Ascend 950PR, Huawei's stock matrix-multiplication kernels reached 99.7% of the chip's attainable ceiling on their best shapes, so DeepSeek's highly tuned kernels are not the only way to use the chip well. In absolute terms, though, the 950PR lands "somewhere between A100 and MI300X," and the authors put Huawei's hardware perhaps more than five years behind while calling its software "right at the frontier." They also caution that high utilization in these tests does not translate directly into efficient training. Epoch AI, comparing per-chip performance and production volumes, reaches a similar view, estimating that Huawei stays roughly four years behind Nvidia through 2030.
The cooperation shows up in the code. DeepSeek's FlashMLA used to store compressed -cache values and their scaling factors in separate memory regions, which on Ascend meant separate transfers to fetch one ; the new layout keeps them together. The Ascend backend for TileLang now sits in the main TileLang repository rather than a separate Huawei adapter. And DeepEP-Ascend, which a DeepEP maintainer declined when Huawei's Ascend team proposed it under DeepSeek's GitHub organization in July 2025, is now distributed by DeepSeek itself.
Practical use still lags. When the article was written, only TileLang worked; the other projects needed Huawei's CANN 9.2.0 toolkit, which had not yet shipped. SemiAnalysis also warns that the partnership could work well for DeepSeek without making Ascend equally usable for everyone else, because most of the optimizations were made on Huawei's large multi-rack systems and the vLLM-Ascend serving stack has problems when Ascend chips run in x86 host machines, including a dependency with hardcoded ARM headers that blocks startup. The free version of the article stops partway through that section; the rest is for paid subscribers, so any further analysis or conclusions there are not reflected here.
- SemiAnalysis ran stock torch.matmul on an Ascend 950PR across 1,055 BF16 GEMM shapes: Huawei's best kernels reached 99.7% of the attainable ceiling, though the chip's absolute performance sits between A100 and MI300X.
- Ascend's design is changing DeepSeek's code: FlashMLA now stores KV values next to their scaling factors to cut memory-transfer requests, and attention keeps its running accumulator in Vector UB because the L0C buffer cannot rescale in place.
- Of the six DeepSeek repos that gained Ascend support, only TileLang was usable at writing; DeepSeek's code requires CANN 9.2.0, then unreleased. TileLang's Ascend backend is merged upstream, and its AutoSchedule cut single-operation time by up to 40% at small sizes.
- DeepEP-Ascend keeps DeepEP V2.5's Python API over URMA and HCCL. A DeepEP maintainer declined it under deepseek-ai in July 2025, but it now ships under DeepSeek's organization, and its docs flag HBM contention that Huawei plans to ease in firmware.
- The authors caution the work fits DeepSeek's own setup best: optimizations target supernodes, and as of vLLM-Ascend 0.26.0rc1 x86 hosts lack DeepGEMM support and hit hardcoded ARM headers that block startup.
- attention — The mechanism that lets a model weigh which earlier words matter for the word it's currently processing — the core operation of a transformer.
- token — The chunk of text a model reads and writes in — roughly three-quarters of a word — and the unit AI usage is billed in.
- quantization — Shrinking a model by storing its numbers less precisely — like rounding — so it runs faster and fits on smaller hardware, at a small quality cost.
Checking sign-in…
Loading comments…






