AMDとIntelは、PyTorch向けのx86 CPU最適化作業を、Unified Acceleration Foundation(UXL)が管理するオープンソースの深層学習ライブラリであるoneDNNに統合し、PyTorch内のx86アクセラレーションのデフォルトのオープンソースライブラリとしてoneDNNを採用することを発表した。AMDはZenDNNの最適化をoneDNNに統合し、UXL Foundationの運営メンバーとして参加した。この動きはx86エコシステム諮問グループからの勧告に基づくもので、AMDとIntelのプロセッサ全体で最適化されたCPU推論とトレーニングのための単一のソフトウェアパスを実現することが目標とされている。
AMDがZenDNNの最適化機能をoneDNNに統合
これまで、x86 版 PyTorch はベンダーごとに 2 つのパスを踏襲していました。インテルの MKL-DNN として始まり、現在は UXL のガバナンス下にある oneDNN は、PyTorch の最適化された CPU 演算子の多くを支えるライブラリとして既に利用されています。一方、AMD は ZenDNN を EPYC 向けに最適化されたプリミティブのセットとして、別の PyTorch プラグインとして提供していました。各ベンダーのシリコンの性能を最大限に引き出したい開発者は、どのライブラリが適用されるかを把握し、適切なライブラリをインストールする必要がありました。oneDNN に統合することで、両ベンダーのカーネルが同じ PyTorch 呼び出しの背後で動作するようになります。
「AMDは、開発者に幅広い選択肢を提供し、高性能なAIアプリケーションの構築を容易にするオープンなソフトウェアエコシステムを推進しています」と、AMDのアーキテクチャおよび戦略担当コーポレートバイスプレジデントであるロバート・ホルムス氏は述べています。「x86エコシステム諮問グループと協力することで、x86プロセッサ全体での開発を簡素化する共通技術を中心に業界を結集させています。」
AMDは、ZenDNNの作業がoneDNNに統合されるにつれて、プロセッサの最適化を継続すると述べている。両社とも、統合実装を含むPyTorchのリリースやoneDNNのバージョン名、タイムライン、パフォーマンス数値は公表していないため、現時点では統合作業が進行中であると発表されている。EPYC 9006 VeniceシリーズとIntelのDiamond Rapidsは、両社にとって最新のサーバー向け製品であり、どちらの世代が最初に統合パスを採用するかは両社とも明らかにしていない。
この勧告の背後にある諮問グループは、インテルとAMDが2024年10月に設立した組織で、x86を共通プラットフォームとして推進することを目的としており、ブロードコム、デル、グーグル、HPE、HP、レノボ、メタ、マイクロソフト、オラクル、レッドハットが創設メンバーとなっている。その活動範囲はクロスプラットフォーム互換性とソフトウェア開発の簡素化であり、oneDNNの連携は、両チップメーカーが同グループの成果として挙げているACE仕様に続く2つ目の成果である。
AIコンピューティング拡張機能のサポートは今後のアップデートで予定されています
今回のコラボレーションの2つ目の要素は、AMDとIntelが同じ諮問グループを通じて共同で定義している次世代x86命令セットであるAI Compute Extensions(ACE)です。ACEは行列乗算を高速化するために構築されており、両社は将来のoneDNNアップデートを通じてPyTorchにACEが統合されると述べています。これが単一ライブラリを採用する実質的な理由であり、1回の統合で両ベンダーのプロセッサに新しい命令セットが提供されることになります。
AMDとIntelは今年初め、諮問グループを通じてACE仕様を公開した。この仕様では、外積行列命令をAVX10エンジン内の追加ユニットとして定義しており、8つの512ビットタイルレジスタ、OCP MXブロックスケーリング用の1,024ビットブロックスケールレジスタ、およびINT8、FP8、MXFP8、MXINT8、BF16データ型を備え、MXFP4とMXFP6への変換もカバーしている。ACEはソフトウェアからはAMXフレームワーク内の新しいパレットとして認識され、AMXプログラミングモデルとオペレーティングシステムのサポートを再利用できる。また、この仕様では、同等のAVX10乗算加算命令と比較して、演算密度が16倍向上すると謳っている。
「開発者は、x86 CPUの性能を最大限に引き出すために、個別のソフトウェアパスについて考える必要はありません」と、インテルのデータセンター戦略プログラム担当副社長兼ゼネラルマネージャーであるジェフ・マクベイ氏は述べています。「AMDとoneDNNを通じて協力することで、PyTorchコミュニティは最新のプロセッサに対して一貫したアプローチを得ることができ、AIコンピューティング拡張機能を含む将来の機能をフレームワークに取り込む方法も得られます。」
両社ともACEを搭載するプロセッサの世代名を明らかにしていないため、oneDNNの統合は、まだ発表されていないハードウェアロードマップのソフトウェア面における重要な部分となる。x86アーキテクチャのPyTorchユーザーにとって、当面の変化は最適化が行われる場所であり、oneDNNの単一パスがEPYC上でZenDNNが実現した性能と一致するかどうかといった具体的な数値的な評価は、両社が具体的なリリースを示すまで待たなければならない。




Amazon