Practical overview
When it fits
Use oneDNN when developing deep-learning software and you need a library of optimized operations that can specialize computation for supported hardware.
Who it is for
- Deep-learning application and framework developers seeking optimized computation primitives.
- Inference software developers targeting supported CPU architectures or Intel GPUs.
Documented uses
- Add optimized matrix multiplication, convolution or attention operations to a deep-learning application.
- Use oneDNN as a computation backend in inference software.
- Build CPU-focused inference software for supported architectures.
- Integrate optimized operations into software using frameworks such as PyTorch, TensorFlow, OpenVINO or ONNX Runtime.
Requirements & limits
The repository describes oneDNN as open source under the Apache-2.0 license. It documents installation through conda-forge and Intel oneAPI packages, as well as building from source.
- The documented standard CPU targets are Intel 64/AMD64 and AArch64; Intel Graphics is also supported.
- NVIDIA and AMD GPUs, Power ISA, IBM Z and RISC-V are listed as experimental in the README.
- The library offers CPU threading interoperability with OpenMP, TBB and custom thread pools, and GPU interoperability with SYCL and OpenCL.
- The README documents low-precision data types and fusion options for supported operations.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install oneDNN and build the matrix-multiplication example
Install the conda-forge package and build and run the repository’s documented CPU performance example.
Before you start
- Conda and a C++ compiler
- The oneDNN package installed from conda-forge
Steps
Install the package with
conda install -c conda-forge onednn.Download
examples/matmul_perf.cppandexamples/example_utils.hppfrom the oneDNN repository.Compile the example using the package include and library directories and link against
dnnl.Set
LD_LIBRARY_PATHto the package library directory and run the example with thecpuargument.
Expected outcome
The documented example measures matrix-multiplication throughput for f32, f16, bf16 and s8/u8 data types.
Guide limitations
- The documented run is for CPU execution.
- The README’s commands use
LD_LIBRARY_PATH, so the shown run instructions are specific to that environment.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 7 October 2026
- Original website title
- uxlfoundation/oneDNN · Official homepage title · retained in its source language

