This article was accepted into the corpus but its outbound wikilinks were never NER-processed — typical at the deepest BFS hop or when the run's entity cap was reached. No expansion funnel to show.
| oneDNN | |
|---|---|
| Name | oneDNN |
| Developer | Intel Corporation |
| Released | 2016 |
| Programming language | C++ |
| Operating system | Linux, Windows, macOS |
| Platform | x86-64, ARM, Intel Xeon, Intel Core |
| License | Apache License |
oneDNN
oneDNN is a performance library for deep learning primitives that provides highly optimized implementations of convolutional, recurrent, and other tensor operations for CPUs and accelerators. It targets deployment in frameworks and runtimes used across research and production environments and is used to accelerate workloads in scientific computing and industry projects.
oneDNN is designed to deliver optimized kernels for neural network workloads on hardware platforms produced by Intel Corporation and partners like Advanced Micro Devices, NVIDIA Corporation, ARM Limited, and silicon vendors supporting OpenCL backends. The library interfaces with machine learning frameworks such as TensorFlow, PyTorch, MXNet, Caffe, ONNX Runtime, Apache TVM, Theano, Keras and inference engines like OpenVINO. Its role parallels acceleration libraries like cuDNN, Intel MKL, NVIDIA TensorRT, ROCm and Eigen in providing low-level primitives consumed by higher-level projects including Hugging Face, Google Colaboratory, Microsoft Azure, Amazon Web Services, Alibaba Cloud and research groups at universities such as Massachusetts Institute of Technology, Stanford University, University of California, Berkeley, Carnegie Mellon University.
Development began inside Intel Corporation as part of efforts to consolidate earlier projects including Intel MKL and vendor-specific optimizations for workloads arising from collaborations with partners like Facebook and Google. The project evolved through contributions from teams involved with Intel Nervana Systems and strategic initiatives connected to products like Intel Xeon Phi and architectures referenced in roadmaps with Intel Core lines. Releases aligned with community-driven accelerations in frameworks such as TensorFlow and PyTorch and with industry events including International Conference on Machine Learning, NeurIPS, International Conference on Learning Representations and collaborations with consortia like the Linux Foundation. The repository and governance model adapted to practices used by projects such as Kubernetes, LLVM, Apache Software Foundation projects and open-source processes used by GitHub and GitLab contributors.
The library exposes C and C++ APIs and internal dispatchers that select implementation paths for microkernels, cache blocking, and vectorization techniques tuned for instruction sets like AVX512, AVX2, SSE4 and NEON. Its scheduler integrates code paths that mirror strategies used in BLAS implementations such as OpenBLAS and Intel MKL. oneDNN supports fusion, post-ops, and layout transformations by leveraging designs similar to those in XLA and TVM. The design facilitates integration by using ABI-compatible calling conventions familiar to projects like LLVM and GCC-based toolchains and containerized deployments orchestrated by Docker and Kubernetes.
oneDNN implements convolutional layers, matrix multiplications, pooling, batch normalization, activation functions, softmax, recurrent layers (LSTM, GRU), quantized integer paths, and element-wise operations. These primitives are analogous to those used in networks from papers and models like ResNet, Transformer, BERT, AlexNet, VGG, and MobileNet and support data formats used by ONNX exports. The library provides support for 32-bit floating point, bfloat16, 16-bit float, and int8 quantization compatible with deployments on infrastructures such as TPU-adjacent systems and CPU-only inference stacks used by Facebook AI Research and industrial partners.
Performance strategies include hand-tuned assembly microkernels, JIT-code generation patterns, cache blocking, prefetching, multi-threading via OpenMP or runtime dispatchers, and thread pools used by servers like NGINX when integrated into inference endpoints. Benchmarks are commonly compared to cuDNN on GPU workloads, Intel MKL-DNN predecessors, and vendor solutions like AMD MIOpen. Optimization follows methods reported at venues such as SC (Supercomputing Conference), International Symposium on Computer Architecture, and practitioner forums including Stack Overflow and GitHub Issues where maintainers coordinate with enterprises like Red Hat and cloud providers to tune for processor families including Intel Atom and Intel Xeon.
oneDNN is consumed by framework backends and runtime systems and is packaged in Linux distributions maintained by organizations like Debian and Ubuntu as well as container images used in Kubernetes clusters. It integrates with build systems and continuous integration pipelines using CMake, Bazel, Jenkins, and Travis CI. Third-party projects such as OpenVINO and inference services deployed on platforms like Microsoft Azure Machine Learning and Amazon SageMaker depend on oneDNN optimizations. Hardware partners including Qualcomm, MediaTek, and startups in the accelerator space coordinate testing and certification with system integrators like Dell Technologies, Hewlett Packard Enterprise, Lenovo, and cloud vendors including Google Cloud Platform.
oneDNN is distributed under the Apache License enabling use in open-source and proprietary products; this licensing model aligns it with projects governed by organizations such as the Linux Foundation and processes used in Apache Software Foundation projects. Governance is driven by maintainers at Intel Corporation with contributions from community members and external corporations coordinated through model contribution workflows similar to those used by Kubernetes and LLVM. The project receives input from research labs at institutions like Berkeley Artificial Intelligence Research (BAIR), OpenAI, DeepMind, and industry partners to ensure compatibility with evolving models and standards.
Category:Deep learning libraries