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 架构上都能高效运行。
工作原理
该库使用单一 API 支持多种设备,包括 Intel、AMD 和 Arm CPU,以及各种 GPU。它采用即时(JIT)代码生成技术,在运行时检测硬件特性,并为特定的指令集、核心数量和缓存大小生成专用内核。
适用人群
主要面向希望在 CPU 和 GPU 上最大化性能的深度学习应用和框架开发者。已被 PyTorch、TensorFlow 和 OpenVINO 等主流框架用作后端。
主要亮点
- 广泛的硬件支持:支持 Intel64/AMD64、AArch64、RISC-V CPU 以及 Intel GPU,对 NVIDIA 和 AMD GPU 提供实验性支持。
- 低精度推理:支持多种数据类型,包括
f32、bf16、f16、fp8、fp4以及各种整数格式。 - 操作融合:将激活函数、残差连接和量化融合到矩阵乘法和卷积中,并通过其 Graph API 支持更大的模式,如缩放点积注意力(SDPA)。
- 互操作性:与 OpenMP、TBB、SYCL 和 OpenCL 兼容。
相关
- 项目
- 项目
- 项目
- 项目
- 项目