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 性能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目