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 效能。
相關
- 專案
- 專案
- 專案
- 專案
- 專案