L’ANALISI
DeepGEMM-Ascend apre i kernel AI di DeepSeek alle NPU Huawei
DeepSeek pubblica DeepGEMM-Ascend per Ascend 950: compatibilità API, kernel BF16, FP8 e FP4, MegaMoE, requisiti e metodo per verificare i benchmark.

In breve: Il cambiamento concreto è la disponibilità del codice MIT: chi lavora su Ascend 950 può installare una variante API-compatible di DeepGEMM e usare kernel per BF16, FP8, FP4, MQA e MegaMoE senza riscrivere il flusso applicativo. I benchmark dichiarano fino al 99,8% del limite hardware in alcuni GEMM densi, ma vanno ripetuti sul proprio sistema.
Il delta verificato
Il 30 settembre DeepSeek ha aperto il repository DeepGEMM-Ascend con codice sorgente, script di build, test e licenza MIT. Il commit iniziale dichiara supporto per Ascend 950 e rende il port concretamente scaricabile, non soltanto annunciato.
Compatibilità e kernel inclusi
Il progetto mantiene lo stesso nome di pacchetto e le API di DeepGEMM. La prima versione include GEMM BF16, FP8 e FP4, MQA logits, MegaMoE e kernel prenorm mHC, con utility per configurare core AI, architettura NPU e layout dei fattori di scala.
Requisiti operativi
La build è stata sviluppata e validata sulla serie Ascend 950. Richiede CANN 9.20 con i compilatori Bisheng e lld, torch_npu, Python 3.10 o successivo, supporto C++20 e dipendenze aggiuntive come TileLang e tree-sitter.
Cosa dicono i benchmark
Le misure pubblicate usano Ascend 950DT, CANN 9.20, bench_msprof e cache L2 fredda. Nei casi GEMM densi riportati l’utilizzo arriva al 99,8% del limite teorico; il repository espone anche forme, latenze, throughput e test necessari a ripetere la misura.
Perché conta per l’ecosistema
La compatibilità API riduce il lavoro necessario per spostare kernel e flussi DeepGEMM dall’ecosistema CUDA a quello Ascend. Non rende intercambiabili gli hardware: formato dei fattori di scala, toolchain, compilazione JIT e comportamento prestazionale restano specifici della piattaforma.
Condizioni e limiti
Le prestazioni sono dichiarate dagli autori e non sono state replicate qui su hardware Ascend. Il repository non pubblica release o wheel precompilate: l’installazione avviene da sorgente e il supporto documentato è circoscritto alla famiglia Ascend 950.
Checklist per una verifica
- Verificare modello NPU e versione installata di CANN.
- Clonare il repository con tutti i submodule e fissare il commit testato.
- Creare un ambiente Python isolato con torch_npu compatibile.
- Controllare Bisheng, lld e il supporto C++20 prima della build.
- Eseguire prima i test di correttezza con gli ACLNN reference GEMM.
- Ripetere i benchmark con bench_msprof e cache L2 fredda.
- Annotare forme, tipo numerico, latenza e utilizzo dei core AI.
- Confrontare output e fattori di scala con la variante DeepGEMM usata a monte.
- Separare i risultati riprodotti dai valori dichiarati nel README.