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

C API

C API#

Primitives
Common
Attributes
Reorder
Concat
Sum
Binary
Convolution
Deconvolution
Shuffle
Eltwise
Softmax
Pooling
PReLU
LRN
Batch Normalization
Group Normalization
Layer Normalization
Inner Product
RNN
Matrix Multiplication
Resampling
Reduction
Primitive Cache
Profiling
BLAS functions
Common API
Engine
Stream
Floating-point Math Mode
Service
Utilities
Data types
Accumulation Mode
Memory
Runtime interoperability API
OpenCL interoperability API
SYCL interoperability API
Threadpool interoperability API
Level Zero interoperability API
Ukernels
BRGeMM ukernel
Transform ukernel

previous

namespace dnnl::ukernel

next

Primitives

© 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