uxlfoundation/oneDNN

oneAPI Deep Neural Network Library (oneDNN)

解決的問題

oneDNN 是一個跨平台效能函式庫,為深度學習應用提供基礎構建模組。它解決了在不同硬體架構上優化深度學習工作負載的問題,確保應用程式無需為每個平台編寫特定於硬體的程式碼,即可在各種 CPU 與 GPU 上高效執行。

工作原理

該函式庫提供了一套為深度學習優化的原語。它使用 CPU 分發器在執行時偵測指令集架構 (ISA),並採用即時 (JIT) 程式碼生成技術,為最新的支援 ISA 部署最優化的程式碼。它支援多種執行階段 (OpenMP, TBB, SYCL),並為 CPU 與 GPU 執行提供獨立的引擎。

適用對象

專為希望提高其軟體在 CPU 與 GPU 上效能的深度學習應用與框架開發人員設計。它不面向最終使用者或深度學習從業者,而是建議使用已啟用 oneDNN 的框架,例如 PyTorch、TensorFlow 與 llama.cpp。

亮點

  • 廣泛的硬體支援:針對 Intel 64/AMD64、Arm AArch64 與 Intel Graphics 進行了優化,並對 NVIDIA 與 AMD GPU、RISC-V 與 Power ISA 提供實驗性支援。
  • 跨平台:可在 Linux、Windows 與 macOS 上執行。
  • 框架整合:已整合至 PyTorch、TensorFlow 與 ONNX Runtime 等主流深度學習框架中。
  • JIT 優化:利用執行時 ISA 偵測與 JIT 程式碼生成來實現巔峰 CPU 效能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案