Skip to main content
Ctrl+K

oneDNN v3.14 Documentation

About

  • Introduction

Getting Started

  • System Requirements
  • Build from Source
  • Build Options
  • Link to the Library
  • Basic Workflow
  • Examples and Tutorials

Developer Guide

  • Common Concepts
    • Naming Conventions
    • API
    • Data Types
    • Understanding Memory Formats
  • Functional API
    • Programming Model
      • Basic Concepts
      • Inference and Training Aspects
        • Inference
        • Int8 Inference
        • Bfloat16 Training
      • Primitive Attributes
        • Floating-point Math Mode
        • Accumulation Mode
        • Rounding Mode
        • Deterministic Mode
        • Dropout
        • Quantization
        • Post-ops
        • Scratchpad
    • Supported Primitives
      • Convolution
      • Inner Product
      • Matrix Multiplication
      • RNN
      • Batch Normalization
      • Binary
      • Concat
      • Eltwise
      • Group Normalization
      • Layer Normalization
      • Local Response Normalization (LRN)
      • Pooling
      • PReLU
      • Resampling
      • Shuffle
      • Softmax
      • Sum
      • Reorder
      • Reduction
    • Memory Formats
      • Memory Format Propagation
      • Sparse memory formats
      • Grouped Memory Format for Variable-Size Batching
      • Host-Side Scalars Support
    • Caching
      • Primitive Cache
      • Persistent Cache
  • Graph API
    • Programming Model
      • Basic Concepts
      • Low Precision
    • Supported Operations
      • Abs
      • AbsBackward
      • Add
      • AvgPool
      • AvgPoolBackward
      • BatchNormForwardTraining
      • BatchNormInference
      • BatchNormTrainingBackward
      • BiasAdd
      • BiasAddBackward
      • Clamp
      • ClampBackward
      • Concat
      • Convolution
      • ConvolutionBackwardData
      • ConvolutionBackwardWeights
      • ConvTranspose
      • ConvTransposeBackwardData
      • ConvTransposeBackwardWeights
      • Dequantize
      • Divide
      • Dropout
      • DynamicDequantize
      • DynamicQuantize
      • Elu
      • EluBackward
      • End
      • Exp
      • GELU
      • GELUBackward
      • GenIndex
      • GreaterEqual
      • GroupNorm
      • HardSigmoid
      • HardSigmoidBackward
      • HardSwish
      • HardSwishBackward
      • Interpolate
      • InterpolateBackward
      • LayerNorm
      • LayerNormBackward
      • LeakyReLU
      • Log
      • LogSoftmax
      • LogSoftmaxBackward
      • MatMul
      • Maximum
      • MaxPool
      • MaxPoolBackward
      • Minimum
      • Mish
      • MishBackward
      • Multiply
      • Pow
      • PReLU
      • PReLUBackward
      • Quantize
      • Reciprocal
      • ReduceL1
      • ReduceL2
      • ReduceMax
      • ReduceMean
      • ReduceMin
      • ReduceProd
      • ReduceSum
      • ReLU
      • ReLUBackward
      • Reorder
      • RMSNorm
      • Round
      • Select
      • Sigmoid
      • SigmoidBackward
      • SoftMax
      • SoftMaxBackward
      • SoftPlus
      • SoftPlusBackward
      • Sqrt
      • SqrtBackward
      • Square
      • SquaredDifference
      • StaticReshape
      • StaticTranspose
      • Subtract
      • Tanh
      • TanhBackward
      • TypeCast
      • Wildcard
    • Fusion Patterns
      • Gated Multi-Layer Perceptron (Gated-MLP)
      • Grouped Query Attention (GQA)
      • SDPA with Compressed Key and Value
      • Scaled Dot-Product Attention (SDPA)
      • Quantized SDPA
      • MatMul
      • Quantized MatMul
      • Convolution
      • Quantized Convolution
      • ConvTranspose
      • Quantized ConvTranspose
      • Binary
      • Unary
      • Interpolate
      • Reduction
      • Pool
      • Norm
      • SoftMax
    • Scratchpad Management
    • Graph Dump
    • Constant Tensor Cache
  • ukernel API
    • Basic Concepts
    • Batch-Reduce General Matrix Multiplication
    • Data transformation
    • BRGeMM ukernel example
  • Performance Profiling and Inspection
    • Verbose Mode
    • Configuring oneDNN for Benchmarking
    • Benchmarking Performance
    • Profiling oneDNN Performance
    • Inspecting JIT Code
    • Performance Profiling Example
    • CPU Dispatcher Control
    • CPU ISA Hints
    • Verbose Message Catalogue
  • Advanced Topics
    • Nuances of int8 Computations
    • Using Threadpool-based Threading
    • Interoperability with DPC++, OpenCL, and Level Zero
      • OpenCL Interoperability
      • DPC++ Interoperability
      • Level Zero Interoperability
    • Experimental features

API Reference

  • C++ API
    • Primitives
      • Common
        • enum dnnl::normalization_flags
        • enum dnnl::query
        • struct dnnl::primitive
        • struct dnnl::primitive_desc
        • struct dnnl::primitive_desc_base
      • Attributes
        • enum dnnl::algorithm
        • enum dnnl::prop_kind
        • enum dnnl::quantization_mode
        • enum dnnl::rounding_mode
        • enum dnnl::scratchpad_mode
        • struct dnnl::post_ops
        • struct dnnl::primitive_attr
      • RNN
        • enum dnnl::rnn_direction
        • enum dnnl::rnn_flags
        • struct dnnl::augru_backward
        • struct dnnl::augru_forward
        • struct dnnl::gru_backward
        • struct dnnl::gru_forward
        • struct dnnl::lbr_augru_backward
        • struct dnnl::lbr_augru_forward
        • struct dnnl::lbr_gru_backward
        • struct dnnl::lbr_gru_forward
        • struct dnnl::lstm_backward
        • struct dnnl::lstm_forward
        • struct dnnl::rnn_primitive_desc_base
        • struct dnnl::vanilla_rnn_backward
        • struct dnnl::vanilla_rnn_forward
      • Reorder
        • struct dnnl::reorder
      • Concat
        • struct dnnl::concat
      • Sum
        • struct dnnl::sum
      • Convolution
        • struct dnnl::convolution_backward_data
        • struct dnnl::convolution_backward_weights
        • struct dnnl::convolution_forward
      • Deconvolution
        • struct dnnl::deconvolution_backward_data
        • struct dnnl::deconvolution_backward_weights
        • struct dnnl::deconvolution_forward
      • LRN
        • struct dnnl::lrn_backward
        • struct dnnl::lrn_forward
      • Eltwise
        • struct dnnl::eltwise_backward
        • struct dnnl::eltwise_forward
      • Softmax
        • struct dnnl::softmax_backward
        • struct dnnl::softmax_forward
      • Batch Normalization
        • struct dnnl::batch_normalization_backward
        • struct dnnl::batch_normalization_forward
      • Group Normalization
        • struct dnnl::group_normalization_backward
        • struct dnnl::group_normalization_forward
      • Layer Normalization
        • struct dnnl::layer_normalization_backward
        • struct dnnl::layer_normalization_forward
      • Inner Product
        • struct dnnl::inner_product_backward_data
        • struct dnnl::inner_product_backward_weights
        • struct dnnl::inner_product_forward
      • Shuffle
        • struct dnnl::shuffle_backward
        • struct dnnl::shuffle_forward
      • Binary
        • struct dnnl::binary
      • Matrix Multiplication
        • struct dnnl::matmul
      • Resampling
        • struct dnnl::resampling_backward
        • struct dnnl::resampling_forward
      • Pooling
        • struct dnnl::pooling_backward
        • struct dnnl::pooling_forward
      • PReLU
        • struct dnnl::prelu_backward
        • struct dnnl::prelu_forward
      • Reduction
        • struct dnnl::reduction
    • Memory
      • struct dnnl::memory
        • enum dnnl::memory::data_type
        • enum dnnl::memory::format_kind
        • enum dnnl::memory::format_tag
        • enum dnnl::memory::sparse_encoding
        • struct dnnl::memory::desc
    • Service
      • enum dnnl::cpu_isa
      • enum dnnl::cpu_isa_hints
      • enum dnnl::status
    • Profiling
      • enum dnnl::profiling_data_kind
    • Primitive Cache
    • BLAS functions
    • Common API
      • Utilities
        • struct dnnl::error
        • template struct dnnl::handle
        • template struct dnnl::handle_traits
      • Engine
        • struct dnnl::engine
      • Stream
        • struct dnnl::stream
      • Floating-point Math Mode
        • enum dnnl::fpmath_mode
      • Accumulation Mode
        • enum dnnl::accumulation_mode
    • Graph API
      • Allocator
        • class dnnl::graph::allocator
      • Engine
      • Logical Tensor
        • enum dnnl_graph_layout_type_t
        • enum dnnl_graph_tensor_property_t
        • struct dnnl_graph_logical_tensor_t
        • class dnnl::graph::logical_tensor
      • Tensor
        • class dnnl::graph::tensor
      • Op
        • enum dnnl_graph_op_attr_t
        • enum dnnl_graph_op_kind_t
        • class dnnl::graph::op
      • Partition
        • enum dnnl_graph_partition_policy_t
        • class dnnl::graph::partition
      • Compiled Partition
        • struct dnnl_graph_inplace_pair_t
        • class dnnl::graph::compiled_partition
      • Graph
        • class dnnl::graph::graph
      • Compiled Partition Cache
      • Constant Tensor Cache
      • Dump Mode
        • enum dnnl_graph_dump_mode_t
        • enum dnnl::graph::graph_dump_mode
      • Utilities
      • Status
        • enum dnnl::graph::status
      • Runtime interoperability API
        • OpenCL interoperability API
        • SYCL interoperability API
      • namespace dnnl::graph
    • Runtime interoperability API
      • OpenCL interoperability API
        • namespace dnnl::ocl_interop
      • SYCL interoperability API
        • namespace dnnl::sycl_interop
      • Threadpool interoperability API
        • namespace dnnl::threadpool_interop
      • Level Zero interoperability API
        • namespace dnnl::ze_interop
    • Ukernels
      • ukernel utils
        • enum dnnl::ukernel::pack_type
        • struct dnnl::ukernel::attr_params
      • BRGeMM ukernel
        • struct dnnl::ukernel::brgemm
      • Transform ukernel
        • struct dnnl::ukernel::transform
      • namespace dnnl::ukernel
  • C API
    • Primitives
      • Common
        • enum dnnl_alg_kind_t
        • enum dnnl_normalization_flags_t
        • enum dnnl_primitive_kind_t
        • enum dnnl_prop_kind_t
        • enum dnnl_query_t
        • struct dnnl_exec_arg_t
        • struct dnnl_primitive
        • struct dnnl_primitive_desc
      • Attributes
        • enum dnnl_quantization_mode_t
        • enum dnnl_rounding_mode_t
        • enum dnnl_scratchpad_mode_t
        • struct dnnl_post_ops
        • struct dnnl_primitive_attr
      • Reorder
      • Concat
      • Sum
      • Binary
      • Convolution
      • Deconvolution
      • Shuffle
      • Eltwise
      • Softmax
      • Pooling
      • PReLU
      • LRN
      • Batch Normalization
      • Group Normalization
      • Layer Normalization
      • Inner Product
      • RNN
        • enum dnnl_rnn_direction_t
        • enum dnnl_rnn_flags_t
      • Matrix Multiplication
      • Resampling
      • Reduction
    • Primitive Cache
    • Profiling
    • BLAS functions
    • Common API
      • Engine
        • enum dnnl_engine_kind_t
        • struct dnnl_engine
      • Stream
        • enum dnnl_stream_flags_t
        • struct dnnl_stream
      • Floating-point Math Mode
        • enum dnnl_fpmath_mode_t
      • Service
        • enum dnnl_cpu_isa_hints_t
        • enum dnnl_cpu_isa_t
        • struct dnnl_version_t
      • Utilities
        • enum dnnl_status_t
      • Data types
        • enum dnnl_data_type_t
      • Accumulation Mode
        • enum dnnl_accumulation_mode_t
      • Memory
        • enum dnnl_format_kind_t
        • enum dnnl_format_tag_t
        • enum dnnl_profiling_data_kind_t
        • enum dnnl_sparse_encoding_t
        • struct dnnl_memory
        • struct dnnl_memory_desc
    • Runtime interoperability API
      • OpenCL interoperability API
        • enum dnnl_ocl_interop_memory_kind_t
      • SYCL interoperability API
        • enum dnnl_sycl_interop_memory_kind_t
      • Threadpool interoperability API
      • Level Zero interoperability API
    • Ukernels
      • BRGeMM ukernel
        • struct dnnl_brgemm
      • Transform ukernel
        • struct dnnl_transform
      • enum dnnl_pack_type_t
      • struct dnnl_ukernel_attr_params
  • Repository
  • Open issue
  • .rst

Caching

Caching#

  • Primitive Cache
  • Persistent Cache

previous

Host-Side Scalars Support

next

Primitive Cache

© Copyright 2016-2026 Intel Corporation.

oneDNN is licensed under Apache License Version 2.0. Refer to the LICENSE file for the full license text and copyright notice.
Legal Information