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.
| Bibliotheek | Functie | Accelerator en connectiviteit | Softwarevereisten |
| DeepGEMM-Ascend | Kernels voor matrixvermenigvuldiging | Ascend 950-serie | CANN 9.20, torch_npu, Python 3.10 of hoger en C++20-ondersteuning voor <format> |
| DeepEP-Ascend | Communicatie voor training en inferentie, waaronder MoE-dispatch en -combine | Ascend 950 (A5), UBMEM-connectiviteit en UBC_CTP- of URMA-kanalen tussen deelnemende ranks | Linux-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?
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.
| Bewerking | Configuratie | Gerapporteerde bandbreedte |
| 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-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.