uxlfoundation/oneDNN

Open-source library of optimized deep learning operations (matmul, convolution, attention) for CPUs (x64, AArch64, RISC-V) and Intel GPUs. Used by PyTorch, TensorFlow, OpenVINO, and ONNX Runtime.

解決する課題

oneDNN は、主要なディープラーニング演算を高度に最適化したクロスプラットフォームライブラリです。AIフレームワークの加速層として機能し、CPUやGPUのアーキテクチャに依存しないパフォーマンスボトルネックを解消します。行列乗算や畳み込みなどの演算を、さまざまなプロセッサアーキテクチャ上で効率的に実行できるようにします。

動作方法

このライブラリは、Intel、AMD、Arm CPU、およびさまざまなGPUを対象とする単一のAPIを提供します。ランタイム時にハードウェア機能を検出し、Just-In-Time (JIT) コード生成により、特定の命令セット、コア数、キャッシュサイズに最適化されたカーネルを生成します。

対象ユーザー

CPUおよびGPU上でパフォーマンスを最大化したいディープラーニングアプリケーションおよびフレームワーク開発者を主なターゲットとしています。PyTorch、TensorFlow、OpenVINOなどの主要フレームワークでバックエンドとして利用されています。

主な特徴

  • 広範なハードウェア対応: Intel64/AMD64、AArch64、RISC-V CPU、Intel GPUを対象とし、NVIDIAおよびAMD GPUについては実験的サポートを提供しています。
  • 低精度推論: f32、bf16、f16、fp8、fp4、およびさまざまな整数形式を含む幅広いデータ型をサポートしています。
  • 演算の融合: アクティベーション、リジッド接続、量子化をmatmulや畳み込みに統合し、Graph APIを介してスケーリングドットプロダクトアテンション(SDPA)などの大規模なパターンもサポートしています。
  • 相互運用性: OpenMP、TBB、SYCL、OpenCLと互換性があります。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト