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と互換性があります。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト