DeepSeek、高性能GEMMライブラリをHuawei Ascend NPUに移植
DeepGEMM-Ascendは、API互換性を保ちながら、Huawei Ascend 950ハードウェアでピークに近い行列乗算性能を実現し、FP4、FP8、BF16ワークロードをサポートします。
英語の原文から自動翻訳されました。
DeepSeek AIは、Huawei Ascendニューラルプロセッシングユニット(NPU)向けの行列乗算専用ライブラリ「DeepGEMM-Ascend」をリリースしました。2026年9月30日に発表されたこのオープンソースプロジェクトは、元のDeepGEMMフレームワークをAscendエコシステムへ移植したもので、Ascend 950シリーズのハードウェアを対象としています。
このリリースにより、エンジニアは低レベルカーネルコードを書き直すことなく、大規模言語モデル(LLM)の推論および学習タスクにおいてハードウェア利用率をピーク近くまで高めるツールを利用できます。複雑なハードウェア制約を抽象化することで、開発者は慣れ親しんだAPIを使用しつつ、Ascend固有の最適化を活用することが可能になります。
何が起きたか
DeepGEMM-Ascendは、Huawei Ascendプラットフォーム専用に設計されたDeepGEMMライブラリの直接移植版です。初期リリースではAscend 950デバイスに対応しており、CANN 9.20ツールキットが必要です。上流のDeepGEMMプロジェクトとの完全なAPI互換性を維持しているため、ユーザーはこのパッケージをインストールするだけで、他の対応プラットフォームと同様の開発ワークフローを引き続き使用できます。
本ライブラリは、現代のAIモデルで使用される重要なデータ型や演算、具体的にはBF16、FP8、FP4による汎用行列乗算(GEMM)をサポートしています。また、効率的な混合専門家(Mixture-of-Experts: MoE)アーキテクチャにとって不可欠なMQAロジットおよびMegaMoEオペレーターに対する専門的なサポートも含まれています。こうした広範なサポートにより、最先端のモデル構造を開発しているチームでも、Ascendハードウェア上で効果的にデプロイできます。
今回のリリースの主要な特徴の一つは、Ascend MAD(マトリクス・マルチプライ・アド)プリミティブに対する軽量な抽象化レイヤーです。このレイヤーは、フラクタル行列レイアウト、アライメント制約、アドレス計算、冗長な低レベルパラメータなど、細かな実装ディテールを隠蔽します。これらの複雑さを内部で管理することで、コード上のGEMMカーネルを簡潔に保ちつつ、実行時の高い効率性を維持します。
仕組み
DeepGEMM-Ascendは、ハードウェアを理論的な限界まで押し上げるAscend固有の最適化技術を採用することで性能を発揮します。ライブラリはスパースデータ読み込みとコルーチンベースのパイプライン処理を活用し、アイドル時間を最小限に抑え、スループットを最大化します。これらの手法により、カーネルはデータ移動と計算を並行して処理でき、高性能コンピューティングタスクでしばしばボトルネックとなる問題を軽減します。
この実装は、Ascendプラットフォームにおける極限パフォーマンス最適化のための参考例として機能します。軽量なコードベースでありながら、本ライブラリは多様な行列形状においてハードウェアのピーク性能に到達できることを示しています。これは、推論や学習フェーズ中にテンソルの次元が頻繁に変化する動的ワークロードにおいて特に重要です。
このライブラリを統合する開発者向けに、スケーリングファクターのフォーマットはNVIDIAの実装とはわずかに異なります。Ascendでは、K次元に沿ったUE8M0スケーリングファクターのペアごとにint16へパッキングされ、ハードウェア効率を最適化するためにMN-major順で値が格納されます。ライブラリは、既存のデータパイプラインとのシームレスな相互運用性を確保するため、スケーリングファクターをこの必須レイアウトへ変換するためのユーティリティ関数を提供しています。
主要な詳細
- ハードウェアサポート: Huawei Ascend 950シリーズNPUで開発および検証済み。
- ソフトウェア要件: CANN 9.20ツールキット、torch_npu、Python 3.10以上、およびC++20コンパイラーサポートが必要。
- データ型: BF16、FP8、FP4 GEMM演算に加え、MQAロジットおよびMegaMoEオペレーターをサポート。
- パフォーマンス: デンスGEMM演算において、BF16形式でハードウェア限界の最大99.8%、FP8形式で99.5%に到達。
- 最適化技術: ハードウェア性能限界に近づけるため、スパースデータ読み込みとコルーチンベースのパイプライン処理を使用。
- ライセンス: MIT Licenseの下で公開されており、幅広い採用と修正が可能。
なぜ重要なのか
AIインフラストラクチャを構築するソフトウェアエンジニアにとって、このリリースはHuawei Ascendハードウェア利用への参入障壁を大幅に下げます。従来、非NVIDIAアクセラレーター向けのカーネル最適化には、特定のハードウェアアーキテクチャに関する深い専門知識やメモリレイアウトの手動管理が必要でした。DeepGEMM-Ascendはこれらの難易度を抽象化し、チームが低レベルのデバイスチューニングではなく、モデルアーキテクチャの開発に集中できるようにします。
ベンチマークで報告された高い利用率は、組織が計算効率を犠牲にすることなく、Ascendクラスタ上でコスト効率の高いスケーリングを実現できることを示唆しています。デンスGEMM演算がハードウェア限界のほぼ100%に達するため、本ライブラリはソフトウェアの非効率性による高価なNPUリソースの浪費を防ぎます。これは、利用率における小さなパーセンテージの向上でもエネルギーと時間の大幅な節約につながる大規模展開において極めて重要です。
さらに、MegaMoEやMQAロジットといった高度な機能へのサポートは、本ライブラリが次世代モデルアーキテクチャに対応できる準備ができていることを示しています。AIモデルがより大きく複雑になるにつれ、混合専門家ルーティングやマルチクエリ注意機構を効率的に処理する能力は競争優位性となります。本ライブラリは、これらの機能をAscendハードウェア上で実装するための堅牢な基盤を提供します。
実施可能なこと
- C++拡張機能の適切なコンパイルを確保するため、
--no-build-isolationフラグ付きでpipを使用してライブラリをインストールしてください。 - 環境が要件を満たしているか確認してください。特にCANN 9.20およびPython 3.10以上の存在をチェックしてください。
- 提供されているユーティリティ関数を使用して、スケーリングファクターを必要なレイアウトに変換してください。
- テストスイートを実行して、特定のスクリプト形状での性能を検証してください。



