ホームへ戻る

GitHub Repo

AMDとIntel、PyTorchのx86最適化をoneDNNに統合へ バージョンと性能は未発表

AMDとIntelは10月20日、oneDNNを通じてPyTorchのx86 CPU最適化を統合すると発表した。AMDはZenDNNの技術も統合する。今回の発表ではリリース時期や性能データは示されておらず、エンジニアは実際のパッケージにどのカーネルが含まれるかを確認する必要がある。

Pytorch Deepdream (https://github.com/gordicaleksa/pytorch-deepdream) by gordicaleksa (https://github.com/gordicaleksa/pytorch-deepdream/commits?author=gordicaleksa) · MIT · Image source
zh-Hant

AMDとIntelは10月20日、PyTorchのx86 CPU最適化をオープンソースライブラリのoneDNNに集約すると発表した。x86 Ecosystem Advisory Groupの提言を受け、両社はoneDNNをPyTorchのx86高速化におけるデフォルトのオープンソースライブラリとすることで合意した。AMDはZenDNNの最適化を統合しており、UXL Foundationにも指導メンバーとして加わった。この発表で共同開発の方向性は定まったが、統合が完了するバージョンは明らかにされていない。AMDの発表

oneDNNはフレームワークの下位層で、行列乗算、畳み込み、アテンション、正規化などの演算カーネルを提供する。リポジトリの説明によると、ライブラリは実行時にハードウェアの特性を検出し、JITコンパイルによって命令セット、コア数、キャッシュサイズに適したコードを生成する。また、低精度データ型と演算子融合にも対応する。従来からIntel 64/AMD64アーキテクチャ上で実行できたという互換性と、今回の統合によるAMD固有の最適化は、異なる段階の進展だ。oneDNNの技術説明

既存のZenDNNは主にAMD Zenアーキテクチャ、特にEPYCサーバーCPUを対象としており、マルチスレッド処理、マイクロカーネル、メモリプール、グラフ最適化などを含む。エンジニアリングの観点からは、これらの機能が共通ライブラリに段階的に取り込まれれば、両社のCPUにまたがってデプロイするチームは、個別の最適化パッケージを追跡する負担を軽減できる可能性がある。実際の効果は、モデルの演算子が関連カーネルを利用するかどうかや、フレームワークに同梱されるバージョンに左右される。ZenDNNのドキュメント

両社はまた、今後のoneDNNアップデートを通じて、行列乗算を高速化するAI Compute ExtensionsをPyTorchに導入する計画だ。ただし、現時点で発表にはリリース日、対応プロセッサの一覧、統合後のベンチマークが含まれていないため、既存のインストール環境がすぐに高速化すると推定することはできない。エンジニアは今後、マージ記録とリリースノートを確認したうえで、モデル、バッチサイズ、精度、スレッド設定を固定してレイテンシ、スループット、数値結果を比較し、共通の実行経路が自社のワークロードを改善するか判断すべきだ。Intelの発表

出典

  1. AMD and Intel Collaborate to Simplify AI Development on x86 CPUs with PyTorch
  2. AMD and Intel Collaborate to Simplify AI Development on x86 CPUs Using PyTorch
  3. oneDNN repository and technical overview