DeepSeek ha pubblicato due librerie software per Huawei Ascend: DeepGEMM-Ascend, dedicata ai kernel di moltiplicazione matriciale, e DeepEP-Ascend, che gestisce le comunicazioni per training e inferenza. Entrambe richiedono hardware Ascend 950; i risultati riportati riguardano specifici kernel e configurazioni, non la velocità di un modello IA completo. DeepGEMM-Ascend registra il rilascio iniziale il 30 settembre 2026.
Per il contesto precedente sulla collaborazione tra DeepSeek e Huawei, puoi leggere il nostro articolo sull’annuncio iniziale.
Due librerie, due compiti diversi
DeepGEMM-Ascend porta su Ascend la moltiplicazione generale di matrici, o GEMM: l’operazione alla base di molti calcoli nelle reti neurali. La libreria dichiara supporto per BF16, FP8 e FP4, oltre che per MQA logits e MegaMoE, e compatibilità API con DeepGEMM.
DeepEP-Ascend si occupa invece della comunicazione tra processori durante training e inferenza. Include operazioni expert-parallel per i modelli mixture of experts (MoE): il dispatch distribuisce i dati agli esperti selezionati e il combine riunisce i risultati. Le API pubbliche dei buffer sono allineate a quelle di DeepEP.
Requisiti hardware e software
Le due librerie richiedono la piattaforma Ascend 950, ma DeepEP-Ascend specifica anche requisiti di connettività tra i processori. Le dipendenze software restano distinte: DeepGEMM-Ascend indica CANN 9.20, mentre CANN 9.2.0 è la versione usata nella configurazione di benchmark di DeepEP-Ascend.
| Libreria | Funzione | Acceleratore e connettività | Requisiti software documentati |
| DeepGEMM-Ascend | Kernel di moltiplicazione matriciale | Serie Ascend 950 | CANN 9.20, torch_npu, Python 3.10 o successivo e supporto C++20 per <format> |
| DeepEP-Ascend | Comunicazioni per training e inferenza, incluse le operazioni MoE | Ascend 950 (A5), connettività UBMEM e canali UBC_CTP/URMA tra i rank coinvolti | Linux, driver e firmware supportati, componenti CANN, Python 3.10 o successivo e versioni compatibili di PyTorch e torch_npu |
In pratica, non basta installare i pacchetti su una macchina qualsiasi: per DeepEP-Ascend servono acceleratori e collegamenti specifici, oltre a uno stack software compatibile.
Che cosa misurano i benchmark
Per un caso di moltiplicazione matriciale densa BF16×BF16, DeepGEMM-Ascend riporta 431 TFLOPS rispetto a un limite hardware dichiarato di 432 TFLOPS, cioè il 99,8%. Il test riguarda dimensioni M=4.096, N=7.168 e K=16.384, su Ascend 950DT con CANN 9.20 e profiling a cache L2 fredda. È una misura di un singolo kernel GEMM.
DeepEP-Ascend riporta invece banda di comunicazione per le operazioni di dispatch e combine. Le misure sono state eseguite su Ascend 950DT con CANN 9.2.0 e netlayer 1, usando un kit hardware PoC fornito a DeepSeek e configurato manualmente, non distribuito pubblicamente. Il carico indicato comprendeva 16.384 token per rank, dimensione nascosta di 7.168, instradamento top-6 su 256 esperti, 10 esecuzioni di riscaldamento e 50 campioni per rank con svuotamento della cache.
| Operazione | Configurazione | Banda riportata |
| Dispatch | EP8 | 373–375 GB/s |
| Dispatch | EP128 | 313–320 GB/s |
| Combine | EP8 | 345–347 GB/s |
| Combine | EP128 | 272–278 GB/s |
API allineate, piattaforme diverse
La compatibilità dichiarata da DeepGEMM-Ascend riguarda l’API di DeepGEMM; DeepEP-Ascend allinea le proprie API pubbliche dei buffer a quelle di DeepEP. Queste corrispondenze riguardano interfacce specifiche: per eseguire i progetti servono comunque l’hardware Ascend e le relative dipendenze.
Il dato del 99,8% descrive un kernel rispetto al limite dichiarato per Ascend 950DT; la banda di DeepEP-Ascend descrive operazioni di comunicazione in una configurazione PoC. Sono misure diverse, riferite a hardware e carichi Ascend, e non sono un confronto diretto con NVIDIA né una misura della velocità di un’applicazione completa.
Le funzioni di DeepEP-Ascend ancora in sviluppo
DeepEP-Ascend descrive come sperimentali o in lavorazione le interfacce per parallelismo di pipeline (PP), Engram e collettive Bucket. Tra le funzioni indicate come non completate o non supportate figurano i kernel reduce-scatter e all-reduce, la comunicazione per il bilanciamento del carico degli esperti, la comunicazione ibrida, lo storage Engram basato su CPU e la cattura dei grafi di esecuzione.