DeepSeek heeft twee bibliotheken voor Huawei Ascend gepubliceerd: DeepGEMM-Ascend voor matrixvermenigvuldiging en DeepEP-Ascend voor communicatie bij machinelearning. DeepEP-Ascend ondersteunt onder meer dispatch en combine voor mixture-of-experts (MoE), een modelopzet die invoer over gespecialiseerde deelmodellen verdeelt. De eerdere aankondiging van de samenwerking en de Ascend-plannen staat in het eerdere artikel over DeepSeek en Huawei.

Twee bibliotheken, twee verschillende taken

DeepGEMM-Ascend is een bibliotheek met kernels voor matrixvermenigvuldiging: kleine, gespecialiseerde stukjes code die rekenwerk op de accelerator uitvoeren. De bibliotheek noemt ondersteuning voor GEMM in BF16, FP8 en FP4, en voor MQA-logits en MegaMoE. De API is volgens het project compatibel met DeepGEMM. De repository vermeldt 30 september 2026 als de eerste release.

DeepEP-Ascend richt zich op het verplaatsen van gegevens tussen rekenkernen tijdens training en inferentie. De bibliotheek bevat expert-parallelle all-to-all-bewerkingen voor MoE-dispatch en -combine: gegevens worden naar experts gestuurd en de resultaten daarna weer samengebracht.

Welke hardware en software zijn nodig?

De vereisten verschillen per bibliotheek. Beide zijn gericht op Ascend-hardware; DeepEP-Ascend vraagt daarnaast expliciet om UBMEM-connectiviteit en specifieke communicatiekanalen tussen de deelnemende ranks.

BibliotheekFunctieAccelerator en connectiviteitSoftwarevereisten
DeepGEMM-AscendKernels voor matrixvermenigvuldigingAscend 950-serieCANN 9.20, torch_npu, Python 3.10 of hoger en C++20-ondersteuning voor <format>
DeepEP-AscendCommunicatie voor training en inferentie, waaronder MoE-dispatch en -combineAscend 950 (A5), UBMEM-connectiviteit en UBC_CTP- of URMA-kanalen tussen deelnemende ranksLinux-host voor Ascend, ondersteunde stuurprogramma’s en firmware, CANN-componenten, Python 3.10 of hoger en bij elkaar passende versies van PyTorch en torch_npu

Wat meten de benchmarks?

Engelstalige codewalkthrough van DeepGEMM-Ascend, met aandacht voor geheugenindeling, FP8-schaalfactoren, pijplijnverwerking, API-hiaten en de reikwijdte van de kernelbenchmark.

Voor één dichte BF16×BF16-matrixvermenigvuldiging rapporteert DeepSeek 431 TFLOPS tegenover een opgegeven hardwarelimiet van 432 TFLOPS: 99,8%. De testcase gebruikt M=4096, N=7168 en K=16384, Ascend 950DT, CANN 9.20 en profilering met een koude L2-cache. Dit cijfer beschrijft één kernelresultaat; het is geen meting van de snelheid van een volledig AI-model.

DeepEP-Ascend rapporteert bandbreedtes voor dispatch en combine bij twee EP-configuraties. De metingen gebruiken Ascend 950DT en CANN 9.2.0. De beschreven werklast verwerkt 16.384 tokens per rank, gebruikt een verborgen dimensie van 7.168 en top-6-routering over 256 experts. De test omvatte 10 opwarmrondes en 50 metingen per rank, met het legen van de cache.

De DeepEP-metingen kwamen uit een handmatig geconfigureerde proof-of-concept-hardwarekit die aan DeepSeek was geleverd. De repository vermeldt dat deze configuratie niet publiek is verspreid.

BewerkingConfiguratieGerapporteerde bandbreedte
DispatchEP8373–375 GB/s
DispatchEP128313–320 GB/s
CombineEP8345–347 GB/s
CombineEP128272–278 GB/s

API-afstemming is geen algemene CUDA-port

DeepGEMM-Ascend zegt dezelfde API als DeepGEMM te ondersteunen. DeepEP-Ascend stemt zijn publieke buffer-API’s af op die van de NVIDIA-versie van DeepEP. Die overeenkomsten gelden voor de genoemde bibliotheekinterfaces; de Ascend-software heeft ook eigen hardware- en platformvereisten. De projectmetingen beschrijven Ascend-kernels en communicatie onder specifieke omstandigheden, geen prestaties van complete toepassingen.

Welke DeepEP-Ascend-functies zijn nog in ontwikkeling?

Niet alle genoemde communicatiefuncties hebben dezelfde ontwikkelstatus. DeepEP-Ascend noemt de interfaces voor pipeline parallelism (PP), Engram en Bucket experimenteel of in ontwikkeling. Reduce-scatter- en all-reduce-kernels, communicatie voor expert-load-balancing, hybride communicatie, Engram-opslag op CPU en graph capture staan als onaf of niet ondersteund vermeld. Ook zegt de repository dat grotere EP-configuraties en combine nog worden geoptimaliseerd.