DeepSeek hat eine Ascend-Version seiner DeepGEMM-Kernel-Bibliothek für Entwickler veröffentlicht, die Huawei-NPUs der 950-Serie einsetzen. Das README des Repositorys datiert die Erstveröffentlichung auf den 30. September 2026; das Python-Paket ist mit Version 0.1.0 gekennzeichnet. Es bietet Teams einen quelloffenen Ausgangspunkt für Matrixmultiplikation und verwandte Modelloperationen auf dieser Hardware. Die bislang veröffentlichten Leistungswerte stammen aus eigenen Tests von DeepSeek.

Die Veröffentlichung ist für Ingenieure relevant, die einen Ascend-Software-Stack bewerten: Sie stellt Kernel-Quellcode und vertraute DeepGEMM-Einstiegspunkte bereit und dokumentiert, wie sich die Erweiterung erstellen lässt. Leistung und Betriebskosten vollständiger Modelle müssen weiterhin mit den vorgesehenen Workloads auf dem Zielsystem getestet werden.

Was die Veröffentlichung enthält

DeepGEMM ist eine Bibliothek für Matrixoperationen, die in KI-Modellen häufig eingesetzt werden. Das Ascend-README führt BF16-, FP8- und FP4-GEMM-Kernels, gruppierte Operationen für Mixture-of-Experts-Modelle, MQA-Logits, eine fusionierte MegaMoE-Operation und einen mHC-Prenorm-Kernel auf. Die Exporte des Python-Pakets zeigen Funktionen für dichtes und gruppiertes GEMM, MQA-Funktionen, Hilfsfunktionen für die Anordnung von Skalierungsfaktoren sowie Steuerelemente für JIT-Kompilierung und AI-Core-Nutzung. Das Repository steht unter der MIT-Lizenz.

Laut DeepSeek ist der Ascend-Port vollständig API-kompatibel mit dem upstream DeepGEMM. Derselbe deep_gemm Paketname und große Teile der öffentlichen Schnittstelle können eine Code-Migration erleichtern. Das README weist jedoch auf einen wichtigen Unterschied bei der Datenanordnung hin: Ascend packt jedes Paar von UE8M0-Skalierungsfaktoren entlang K in einen int16 und speichert die gepackten Werte in MN-major-Reihenfolge. Das Paket stellt Funktionen bereit, um Skalierungsfaktoren in die erforderliche Anordnung umzuwandeln. Anwendungen mit quantisierten Eingaben müssen weiterhin geeignete Daten bereitstellen und ihre Ergebnisse selbst validieren. Die Kompatibilitätsaussage stammt von den Maintainerinnen und Maintainer, sie ist kein Migrationstest von BIG CHANGE.

Was Entwickler zum Ausprobieren benötigen

Die dokumentierten Voraussetzungen sind eine Ascend-NPU, CANN 9.20 mit bisheng und ld.lld als Tools, torch_npu, Python 3.10 oder neuer sowie ein Compiler und eine Standardbibliothek mit C++20-Unterstützung für <format>. Laut den Maintainerinnen und Maintainer fanden Entwicklung und Validierung auf der Ascend-950-Serie statt. tilelang ist als Paketabhängigkeit für den HC-Prenorm-Kernel aufgeführt; tree-sitter und tree-sitter-cpp und werden benötigt, um beim Erstellen aus dem Quellcode Typ-Stubs zu erzeugen. Das README legt keine torch_npu Version fest und belegt keine Validierung auf anderen Ascend-Geräten.

Das README weist Entwickler an, das Repository samt Submodulen zu klonen und die C++-Erweiterung mit develop.sh zu erstellen oder sie aus dem ausgecheckten Quellcode mit pip install . --no-build-isolation zu installieren. Die Build-Konfiguration importiert torch und torch_npu, findet das Ascend-Toolkit über ASCEND_HOME_PATH oder ASCEND_TOOLKIT_HOME und bindet die Ascend- und Torch-NPU-Bibliotheken ein. Für die Bewertung der Kernels sind daher die passende Hardware und Toolchain erforderlich. Das Repository enthält Operationstests. BIG CHANGE hat die Dokumentation und den Code geprüft, aber weder den Build noch die Kernels ausgeführt.

Wie weit der Benchmark reicht

DeepSeek berichtet Messungen auf einem Ascend 950DT mit CANN 9.20 unter Verwendung von bench_msprof bei kaltem L2-Cache. Für eine dichte BF16-Matrixmultiplikation mit M=4096, N=7168 und K=16384 nennt die Leistungstabelle 2.229,9 Mikrosekunden, 431 TFLOPS und 99,8 % des dort angegebenen Hardwarelimits. Für dieselbe Form werden bei FP8×FP8 1.117,6 Mikrosekunden und 861 TFLOPS angegeben. Das sind Kernelmessungen für bestimmte Datentypen und Formen, keine Messungen des Modelldurchsatzes. Die Tabelle enthält außerdem Ergebnisse für gruppiertes GEMM, MQA, MegaMoE und Prenorm mit jeweils eigenen Konfigurationen. Die MegaMoE-Werte sind Mittelwerte über acht Ranks mit achtfachem Expert Parallelism, Top-k-Routing von sechs und einem gemeinsamen Experten.

Der Testcode vergleicht GEMM-Ausgaben mit generierten Referenzwerten und nutzt bei unterstützten dichten Fällen einen ACLNN-Gegencheck. Für einige Formen und Rezepte wird dieser zusätzliche ACLNN-Vergleich ausdrücklich übersprungen. Der veröffentlichte Code und die Tests machen die Aussagen überprüfbar, doch BIG CHANGE hat die README-Zahlen nicht unabhängig reproduziert. Die Veröffentlichung enthält weder einen direkten Benchmarkvergleich mit einem anderen Beschleuniger-Stack noch einen Kostenvergleich oder ein End-to-End-Service-Ergebnis.

Die große Veränderung

DeepSeek hat den DeepGEMM-Ascend-Kernelcode für die Ascend-950-Serie veröffentlicht.

Entwickler können vertraute GEMM- und verwandte Modelloperationen für diese Hardware prüfen und erstellen. Die Veröffentlichung dokumentiert CANN 9.20 und eine Ascend-spezifische Anordnung der Skalierungsfaktoren.

Teams mit Ascend 950 erhalten Kernelcode, den sie mit ihren eigenen Modellformen bewerten können. DeepSeek berichtet für einen Ascend-950DT-Testaufbau Ergebnisse nahe am Limit; BIG CHANGE hat die Kernels nicht ausgeführt.

Leistung vollständiger Anwendungen, Unterstützung weiterer Ascend-Geräte und Betriebskosten müssen noch ermittelt werden.

Quellen und weiterführende Informationen

  • DeepGEMM-Ascend-Repository und README: Versionshinweis vom 30. September, Voraussetzungen, Schnittstellenangaben und vom Projekt erstellte Benchmarktabellen. Das README ist eine Primärquelle der Projekt-Maintainer, keine unabhängige Validierung.
  • Paketexporte und Build-Konfiguration: Version, öffentliche Python-Funktionen, Abhängigkeitsangaben und Verknüpfung beim Build aus dem Quellcode im ersten Commit.
  • GEMM-Test-Harness: Wie das Repository Ausgaben prüft und seinen Profiler aufruft, einschließlich der Bedingungen, unter denen ein ACLNN-Vergleich ausgelassen wird. Diese Dateien reproduzieren die veröffentlichten Zahlen nicht unabhängig.