An open-source cross-platform performance library of basic building blocks for deep learning applications, optimized for CPUs and GPUs.
oneDNN is an open-source, cross-platform performance library that provides fundamental building blocks for deep learning applications. It implements the oneAPI specification for deep neural network operations, enabling framework developers to accelerate their applications across a wide range of CPU and GPU hardware. The library abstracts hardware-specific optimizations to deliver efficient execution on diverse architectures.
Deep learning framework and application developers who need to optimize neural network performance on CPUs and GPUs, particularly those integrating with major frameworks like PyTorch, TensorFlow, ONNX Runtime, and OpenVINO.
Developers choose oneDNN for its vendor-agnostic, high-performance design that leverages just-in-time (JIT) code generation and supports multiple runtimes (OpenMP, TBB, SYCL) and hardware platforms. Its unique selling point is providing optimized deep learning primitives that allow frameworks to focus on higher-level logic while ensuring efficient execution across Intel, AMD, Arm, NVIDIA, and experimental architectures.
oneAPI Deep Neural Network Library (oneDNN)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Optimizes for Intel/AMD CPUs, Arm AArch64, Intel GPUs, and offers experimental support for NVIDIA/AMD GPUs, OpenPOWER, IBMz, and RISC-V, enabling cross-platform deployment without vendor lock-in.
Uses runtime just-in-time code generation on Intel/AMD CPUs to deploy optimized code for the latest instruction sets, ensuring peak performance without recompilation for each target.
Configurable to use OpenMP, TBB, or SYCL runtimes for CPU execution, and OpenCL or SYCL for GPU, allowing developers to adapt to different system environments and performance needs.
Powers major deep learning frameworks like PyTorch, TensorFlow, and ONNX Runtime, providing seamless acceleration and reducing the need for low-level optimization in application code.
NVIDIA and AMD GPU support is explicitly labeled as experimental with warnings about limited testing and implementation limitations, making it risky for production use on non-Intel GPUs.
Requires specific compilers, libraries, and build options for different runtimes and hardware, as detailed in the system requirements, which can be cumbersome and error-prone for developers.
While vendor-agnostic, optimal performance often hinges on Intel hardware and tools, such as recommendations for Intel compilers and GPUs, potentially disadvantaging other vendors.