Common Definitions

This section lists common types and definitions used by all or multiple primitives.

Base Class for Primitives

struct dnnl::primitive

Base class for all computational primitives.

Subclassed by dnnl::batch_normalization_backward, dnnl::batch_normalization_forward, dnnl::binary, dnnl::concat, dnnl::convolution_backward_data, dnnl::convolution_backward_weights, dnnl::convolution_forward, dnnl::deconvolution_backward_data, dnnl::deconvolution_backward_weights, dnnl::deconvolution_forward, dnnl::eltwise_backward, dnnl::eltwise_forward, dnnl::gru_backward, dnnl::gru_forward, dnnl::inner_product_backward_data, dnnl::inner_product_backward_weights, dnnl::inner_product_forward, dnnl::layer_normalization_backward, dnnl::layer_normalization_forward, dnnl::lbr_gru_backward, dnnl::lbr_gru_forward, dnnl::logsoftmax_backward, dnnl::logsoftmax_forward, dnnl::lrn_backward, dnnl::lrn_forward, dnnl::lstm_backward, dnnl::lstm_forward, dnnl::matmul, dnnl::pooling_backward, dnnl::pooling_forward, dnnl::reorder, dnnl::resampling_backward, dnnl::resampling_forward, dnnl::shuffle_backward, dnnl::shuffle_forward, dnnl::softmax_backward, dnnl::softmax_forward, dnnl::sum, dnnl::vanilla_rnn_backward, dnnl::vanilla_rnn_forward

Public Types

enum kind

Kinds of primitives supported by the library.

Values:

enumerator undef

Undefined primitive.

enumerator reorder

A reorder primitive.

enumerator shuffle

A shuffle primitive.

enumerator concat

A (out-of-place) tensor concatenation primitive.

enumerator sum

A summation primitive.

enumerator convolution

A convolution primitive.

enumerator deconvolution

A deconvolution primitive.

enumerator eltwise

An element-wise primitive.

enumerator softmax

A softmax primitive.

enumerator pooling

A pooling primitive.

enumerator lrn

An LRN primitive.

enumerator batch_normalization

A batch normalization primitive.

enumerator layer_normalization

A layer normalization primitive.

enumerator inner_product

An inner product primitive.

enumerator rnn

An RNN primitive.

enumerator binary

A binary primitive.

enumerator logsoftmax

A logsoftmax primitive.

enumerator matmul

A matmul (matrix multiplication) primitive.

enumerator resampling

A resampling primitive.

Public Functions

primitive()

Default constructor. Constructs an empty object.

primitive(const primitive_desc_base &pd)

Constructs a primitive from a primitive descriptor.

Parameters
  • pd: Primitive descriptor.

inline kind get_kind() const

Returns the kind of the primitive.

Return

The primitive kind.

void execute(const stream &astream, const std::unordered_map<int, memory> &args) const

Executes computations specified by the primitive in a specified stream.

Arguments are passed via an arguments map containing <index, memory object> pairs. The index must be one of the DNNL_ARG_* values such as DNNL_ARG_SRC, and the memory must have a memory descriptor matching the one returned by dnnl::primitive_desc_base::query_md(query::exec_arg_md, index) unless using dynamic shapes (see DNNL_RUNTIME_DIM_VAL).

Parameters
  • astream: Stream object. The stream must belong to the same engine as the primitive.

  • args: Arguments map.

primitive &operator=(const primitive &rhs)

Assignment operator.

cl::sycl::event dnnl::sycl_interop::execute(const primitive &aprimitive, const stream &astream, const std::unordered_map<int, memory> &args, const std::vector<cl::sycl::event> &dependencies = {})

Executes computations using a specified primitive object in a specified stream.

Arguments are passed via an arguments map containing <index, memory object> pairs. The index must be one of the DNNL_ARG_* values such as DNNL_ARG_SRC, and the memory must have a memory descriptor matching the one returned by dnnl::primitive_desc_base::query_md(query::exec_arg_md, index) unless using dynamic shapes (see DNNL_RUNTIME_DIM_VAL).

Return

SYCL event object for the specified primitive execution.

Parameters
  • aprimitive: Primitive to be executed.

  • astream: Stream object. The stream must belong to the same engine as the primitive.

  • args: Arguments map.

  • dependencies: Vector of SYCL events that the execution depends on.

Base Class for Primitives Descriptors

There is no common base class for operation descriptors because they are very different between different primitives. However, there is a common base class for primitive descriptors.

struct dnnl::primitive_desc_base

Base class for all primitive descriptors.

Subclassed by dnnl::concat::primitive_desc, dnnl::primitive_desc, dnnl::reorder::primitive_desc, dnnl::sum::primitive_desc

Public Functions

primitive_desc_base()

Default constructor. Produces an empty object.

engine get_engine() const

Returns the engine of the primitive descriptor.

Return

The engine of the primitive descriptor.

const char *impl_info_str() const

Returns implementation name.

Return

The implementation name.

memory::dim query_s64(query what) const

Returns a memory::dim value (same as int64_t).

Return

The result of the query.

Parameters
  • what: The value to query.

memory::desc query_md(query what, int idx = 0) const

Returns a memory descriptor.

Note

There are also convenience methods dnnl::primitive_desc_base::src_desc(), dnnl::primitive_desc_base::dst_desc(), and others.

Return

The requested memory descriptor.

Return

A zero memory descriptor if the primitive does not have a parameter of the specified kind or index.

Parameters
  • what: The kind of parameter to query; can be dnnl::query::src_md, dnnl::query::dst_md, etc.

  • idx: Index of the parameter. For example, convolution bias can be queried with what = dnnl::query::weights_md and idx = 1.

memory::desc src_desc(int idx) const

Returns a source memory descriptor.

Return

Source memory descriptor.

Return

A zero memory descriptor if the primitive does not have a source parameter with index pdx.

Parameters
  • idx: Source index.

memory::desc dst_desc(int idx) const

Returns a destination memory descriptor.

Return

Destination memory descriptor.

Return

A zero memory descriptor if the primitive does not have a destination parameter with index pdx.

Parameters
  • idx: Destination index.

memory::desc weights_desc(int idx) const

Returns a weights memory descriptor.

Return

Weights memory descriptor.

Return

A zero memory descriptor if the primitive does not have a weights parameter with index pdx.

Parameters
  • idx: Weights index.

memory::desc diff_src_desc(int idx) const

Returns a diff source memory descriptor.

Return

Diff source memory descriptor.

Return

A zero memory descriptor if the primitive does not have a diff source parameter with index pdx.

Parameters
  • idx: Diff source index.

memory::desc diff_dst_desc(int idx) const

Returns a diff destination memory descriptor.

Return

Diff destination memory descriptor.

Return

A zero memory descriptor if the primitive does not have a diff destination parameter with index pdx.

Parameters
  • idx: Diff destination index.

memory::desc diff_weights_desc(int idx) const

Returns a diff weights memory descriptor.

Return

Diff weights memory descriptor.

Return

A zero memory descriptor if the primitive does not have a diff weights parameter with index pdx.

Parameters
  • idx: Diff weights index.

memory::desc src_desc() const

Returns a source memory descriptor.

Return

Source memory descriptor.

Return

A zero memory descriptor if the primitive does not have a source parameter.

memory::desc dst_desc() const

Returns a destination memory descriptor.

Return

Destination memory descriptor.

Return

A zero memory descriptor if the primitive does not have a destination parameter.

memory::desc weights_desc() const

Returns a weights memory descriptor.

Return

Weights memory descriptor.

Return

A zero memory descriptor if the primitive does not have a weights parameter.

memory::desc diff_src_desc() const

Returns a diff source memory descriptor.

Return

Diff source memory descriptor.

Return

A zero memory descriptor if the primitive does not have a diff source memory with.

memory::desc diff_dst_desc() const

Returns a diff destination memory descriptor.

Return

Diff destination memory descriptor.

Return

A zero memory descriptor if the primitive does not have a diff destination parameter.

memory::desc diff_weights_desc() const

Returns a diff weights memory descriptor.

Return

Diff weights memory descriptor.

Return

A zero memory descriptor if the primitive does not have a diff weights parameter.

memory::desc workspace_desc() const

Returns the workspace memory descriptor.

Return

Workspace memory descriptor.

Return

A zero memory descriptor if the primitive does not require workspace parameter.

memory::desc scratchpad_desc() const

Returns the scratchpad memory descriptor.

Return

scratchpad memory descriptor.

Return

A zero memory descriptor if the primitive does not require scratchpad parameter.

engine scratchpad_engine() const

Returns the engine on which the scratchpad memory is located.

Return

The engine on which the scratchpad memory is located.

primitive_attr get_primitive_attr() const

Returns the primitive attributes.

Return

The primitive attributes.

dnnl::primitive::kind get_kind() const

Returns the kind of the primitive descriptor.

Return

The kind of the primitive descriptor.

It is further derived from to provide base class for all primitives that have operation descriptors.

struct dnnl::primitive_desc : public dnnl::primitive_desc_base

A base class for descriptors of all primitives that have an operation descriptor and that support iteration over multiple implementations.

Subclassed by dnnl::batch_normalization_backward::primitive_desc, dnnl::batch_normalization_forward::primitive_desc, dnnl::binary::primitive_desc, dnnl::convolution_backward_data::primitive_desc, dnnl::convolution_backward_weights::primitive_desc, dnnl::convolution_forward::primitive_desc, dnnl::deconvolution_backward_data::primitive_desc, dnnl::deconvolution_backward_weights::primitive_desc, dnnl::deconvolution_forward::primitive_desc, dnnl::eltwise_backward::primitive_desc, dnnl::eltwise_forward::primitive_desc, dnnl::inner_product_backward_data::primitive_desc, dnnl::inner_product_backward_weights::primitive_desc, dnnl::inner_product_forward::primitive_desc, dnnl::layer_normalization_backward::primitive_desc, dnnl::layer_normalization_forward::primitive_desc, dnnl::logsoftmax_backward::primitive_desc, dnnl::logsoftmax_forward::primitive_desc, dnnl::lrn_backward::primitive_desc, dnnl::lrn_forward::primitive_desc, dnnl::matmul::primitive_desc, dnnl::pooling_backward::primitive_desc, dnnl::pooling_forward::primitive_desc, dnnl::resampling_backward::primitive_desc, dnnl::resampling_forward::primitive_desc, dnnl::rnn_primitive_desc_base, dnnl::shuffle_backward::primitive_desc, dnnl::shuffle_forward::primitive_desc, dnnl::softmax_backward::primitive_desc, dnnl::softmax_forward::primitive_desc

Public Functions

primitive_desc()

Default constructor. Produces an empty object.

bool next_impl()

Advances the primitive descriptor iterator to the next implementation.

Return

true on success, and false if the last implementation reached, in which case primitive descriptor is not modified.

The dnnl::reorder, dnnl::sum and dnnl::concat primitives also subclass dnnl::primitive_desc to implement their primitive descriptors.

RNN primitives further subclass the dnnl::primitive_desc_base to provide utility functions for frequently queried memory descriptors.

struct dnnl::rnn_primitive_desc_base : public dnnl::primitive_desc

Base class for primitive descriptors for RNN primitives.

Subclassed by dnnl::gru_backward::primitive_desc, dnnl::gru_forward::primitive_desc, dnnl::lbr_gru_backward::primitive_desc, dnnl::lbr_gru_forward::primitive_desc, dnnl::lstm_backward::primitive_desc, dnnl::lstm_forward::primitive_desc, dnnl::vanilla_rnn_backward::primitive_desc, dnnl::vanilla_rnn_forward::primitive_desc

Public Functions

rnn_primitive_desc_base()

Default constructor. Produces an empty object.

memory::desc src_layer_desc() const

Returns source layer memory descriptor.

Return

Source layer memory descriptor.

memory::desc src_iter_desc() const

Returns source iteration memory descriptor.

Return

Source iteration memory descriptor.

Return

A zero memory descriptor if the primitive does not have a source iteration parameter.

memory::desc src_iter_c_desc() const

Returns source recurrent cell state memory descriptor.

Return

Source recurrent cell state memory descriptor.

memory::desc weights_layer_desc() const

Returns weights layer memory descriptor.

Return

Weights layer memory descriptor.

memory::desc weights_iter_desc() const

Returns weights iteration memory descriptor.

Return

Weights iteration memory descriptor.

memory::desc weights_peephole_desc() const

Returns weights peephole memory descriptor.

Return

Weights peephole memory descriptor.

memory::desc weights_projection_desc() const

Returns weights projection memory descriptor.

Return

Weights projection memory descriptor.

memory::desc bias_desc() const

Returns bias memory descriptor.

Return

Bias memory descriptor.

Return

A zero memory descriptor if the primitive does not have a bias parameter.

memory::desc dst_layer_desc() const

Returns destination layer memory descriptor.

Return

Destination layer memory descriptor.

memory::desc dst_iter_desc() const

Returns destination iteration memory descriptor.

Return

Destination iteration memory descriptor.

Return

A zero memory descriptor if the primitive does not have a destination iteration parameter.

memory::desc dst_iter_c_desc() const

Returns destination recurrent cell state memory descriptor.

Return

Destination recurrent cell state memory descriptor.

memory::desc diff_src_layer_desc() const

Returns diff source layer memory descriptor.

Return

Diff source layer memory descriptor.

memory::desc diff_src_iter_desc() const

Returns diff source iteration memory descriptor.

Return

Diff source iteration memory descriptor.

Return

A zero memory descriptor if the primitive does not have a diff source iteration parameter.

memory::desc diff_src_iter_c_desc() const

Returns diff source recurrent cell state memory descriptor.

Return

Diff source recurrent cell state memory descriptor.

memory::desc diff_weights_layer_desc() const

Returns diff weights layer memory descriptor.

Return

Diff weights layer memory descriptor.

memory::desc diff_weights_iter_desc() const

Returns diff weights iteration memory descriptor.

Return

Diff weights iteration memory descriptor.

memory::desc diff_weights_peephole_desc() const

Returns diff weights peephole memory descriptor.

Return

Diff weights peephole memory descriptor.

memory::desc diff_weights_projection_desc() const

Returns diff weights projection memory descriptor.

Return

Diff weights projection memory descriptor.

memory::desc diff_bias_desc() const

Returns diff bias memory descriptor.

Return

Diff bias memory descriptor.

Return

A zero memory descriptor if the primitive does not have a diff bias parameter.

memory::desc diff_dst_layer_desc() const

Returns diff destination layer memory descriptor.

Return

Diff destination layer memory descriptor.

memory::desc diff_dst_iter_desc() const

Returns diff destination iteration memory descriptor.

Return

Diff destination iteration memory descriptor.

Return

A zero memory descriptor if the primitive does not have a diff destination iteration parameter.

memory::desc diff_dst_iter_c_desc() const

Returns diff destination recurrent cell state memory descriptor.

Return

Diff destination recurrent cell state memory descriptor.

Common Enumerations

enum dnnl::prop_kind

Propagation kind.

Values:

enumerator undef

Undefined propagation kind.

enumerator forward_training

Forward data propagation (training mode). In this mode, primitives perform computations necessary for subsequent backward propagation.

enumerator forward_inference

Forward data propagation (inference mode). In this mode, primitives perform only computations that are necessary for inference and omit computations that are necessary only for backward propagation.

enumerator forward_scoring

Forward data propagation, alias for dnnl::prop_kind::forward_inference.

enumerator forward

Forward data propagation, alias for dnnl::prop_kind::forward_training.

enumerator backward

Backward propagation (with respect to all parameters).

enumerator backward_data

Backward data propagation.

enumerator backward_weights

Backward weights propagation.

enumerator backward_bias

Backward bias propagation.

enum dnnl::algorithm

Kinds of algorithms.

Values:

enumerator undef

Undefined algorithm.

enumerator convolution_auto

Convolution algorithm that is chosen to be either direct or Winograd automatically

enumerator convolution_direct

Direct convolution.

enumerator convolution_winograd

Winograd convolution.

enumerator deconvolution_direct

Direct deconvolution.

enumerator deconvolution_winograd

Winograd deconvolution.

enumerator eltwise_relu

Elementwise: rectified linear unit (ReLU)

enumerator eltwise_tanh

Elementwise: hyperbolic tangent non-linearity (tanh)

enumerator eltwise_elu

Elementwise: exponential linear unit (ELU)

enumerator eltwise_square

Elementwise: square.

enumerator eltwise_abs

Elementwise: abs.

enumerator eltwise_sqrt

Elementwise: square root.

enumerator eltwise_swish

Elementwise: swish ( \(x \cdot sigmoid(a \cdot x)\))

enumerator eltwise_linear

Elementwise: linear.

enumerator eltwise_bounded_relu

Elementwise: bounded_relu.

enumerator eltwise_soft_relu

Elementwise: soft_relu.

enumerator eltwise_logistic

Elementwise: logistic.

enumerator eltwise_exp

Elementwise: exponent.

enumerator eltwise_gelu

Elementwise: gelu alias for dnnl::algorithm::eltwise_gelu_tanh

enumerator eltwise_gelu_tanh

Elementwise: tanh-based gelu.

enumerator eltwise_gelu_erf

Elementwise: erf-based gelu.

enumerator eltwise_log

Elementwise: natural logarithm.

enumerator eltwise_clip

Elementwise: clip.

enumerator eltwise_pow

Elementwise: pow.

enumerator eltwise_round

Elementwise: round.

enumerator eltwise_relu_use_dst_for_bwd

Elementwise: rectified linear unit (ReLU) (dst for backward)

enumerator eltwise_tanh_use_dst_for_bwd

Elementwise: hyperbolic tangent non-linearity (tanh) (dst for backward)

enumerator eltwise_elu_use_dst_for_bwd

Elementwise: exponential linear unit (ELU) (dst for backward)

enumerator eltwise_sqrt_use_dst_for_bwd

Elementwise: square root (dst for backward)

enumerator eltwise_logistic_use_dst_for_bwd

Elementwise: logistic (dst for backward)

enumerator eltwise_exp_use_dst_for_bwd

Elementwise: exponent (dst for backward)

enumerator lrn_across_channels

Local response normalization (LRN) across multiple channels.

enumerator lrn_within_channel

LRN within a single channel.

enumerator pooling_max

Max pooling.

enumerator pooling_avg

Average pooling exclude padding, alias for dnnl::algorithm::pooling_avg_include_padding

enumerator pooling_avg_include_padding

Average pooling include padding.

enumerator pooling_avg_exclude_padding

Average pooling exclude padding.

enumerator vanilla_rnn

RNN cell.

enumerator vanilla_lstm

LSTM cell.

enumerator vanilla_gru

GRU cell.

enumerator lbr_gru

GRU cell with linear before reset. Differs from original GRU in how the new memory gate is calculated: \(c_t = tanh(W_c*x_t + b_{c_x} + r_t*(U_c*h_{t-1}+b_{c_h})) \) LRB GRU expects 4 bias tensors on input: \([b_{u}, b_{r}, b_{c_x}, b_{c_h}]\)

enumerator binary_add

Binary add.

enumerator binary_mul

Binary mul.

enumerator binary_max

Binary max.

enumerator binary_min

Binary min.

enumerator resampling_nearest

Nearest Neighbor resampling method.

enumerator resampling_linear

Linear (Bilinear, Trilinear) resampling method.

Normalization Primitives Flags

enum dnnl::normalization_flags

Flags for normalization primitives (can be combined via ‘|’)

Values:

enumerator none

Use no normalization flags. If specified, the library computes mean and variance on forward propagation for training and inference, outputs them on forward propagation for training, and computes the respective derivatives on backward propagation.

enumerator use_global_stats

Use global statistics. If specified, the library uses mean and variance provided by the user as an input on forward propagation and does not compute their derivatives on backward propagation. Otherwise, the library computes mean and variance on forward propagation for training and inference, outputs them on forward propagation for training, and computes the respective derivatives on backward propagation.

enumerator use_scale_shift

Use scale and shift parameters. If specified, the user is expected to pass scale and shift as inputs on forward propagation. On backward propagation of type dnnl::prop_kind::backward, the library computes their derivatives. If not specified, the scale and shift parameters are not used by the library in any way.

enumerator fuse_norm_relu

Fuse normalization with ReLU. On training, normalization will require the workspace to implement backward propagation. On inference, the workspace is not required and behavior is the same as when normalization is fused with ReLU using the post-ops API.

Execution argument indices

DNNL_ARG_SRC_0

Source argument #0.

DNNL_ARG_SRC

A special mnemonic for source argument for primitives that have a single source. An alias for DNNL_ARG_SRC_0.

DNNL_ARG_SRC_LAYER

A special mnemonic for RNN input vector. An alias for DNNL_ARG_SRC_0.

DNNL_ARG_FROM

A special mnemonic for reorder source argument. An alias for DNNL_ARG_SRC_0.

DNNL_ARG_SRC_1

Source argument #1.

DNNL_ARG_SRC_ITER

A special mnemonic for RNN input recurrent hidden state vector. An alias for DNNL_ARG_SRC_1.

DNNL_ARG_SRC_2

Source argument #2.

DNNL_ARG_SRC_ITER_C

A special mnemonic for RNN input recurrent cell state vector. An alias for DNNL_ARG_SRC_2.

DNNL_ARG_DST_0

Destination argument #0.

DNNL_ARG_DST

A special mnemonic for destination argument for primitives that have a single destination. An alias for DNNL_ARG_DST_0.

DNNL_ARG_TO

A special mnemonic for reorder destination argument. An alias for DNNL_ARG_DST_0.

DNNL_ARG_DST_LAYER

A special mnemonic for RNN output vector. An alias for DNNL_ARG_DST_0.

DNNL_ARG_DST_1

Destination argument #1.

DNNL_ARG_DST_ITER

A special mnemonic for RNN input recurrent hidden state vector. An alias for DNNL_ARG_DST_1.

DNNL_ARG_DST_2

Destination argument #2.

DNNL_ARG_DST_ITER_C

A special mnemonic for LSTM output recurrent cell state vector. An alias for DNNL_ARG_DST_2.

DNNL_ARG_WEIGHTS_0

Weights argument #0.

DNNL_ARG_WEIGHTS

A special mnemonic for primitives that have a single weights argument. Alias for DNNL_ARG_WEIGHTS_0.

DNNL_ARG_SCALE_SHIFT

A special mnemonic for scale and shift argument of normalization primitives. Alias for DNNL_ARG_WEIGHTS_0.

DNNL_ARG_WEIGHTS_LAYER

A special mnemonic for RNN weights applied to the layer input. An alias for DNNL_ARG_WEIGHTS_0.

DNNL_ARG_WEIGHTS_1

Weights argument #1.

DNNL_ARG_WEIGHTS_ITER

A special mnemonic for RNN weights applied to the recurrent input. An alias for DNNL_ARG_WEIGHTS_1.

DNNL_ARG_BIAS

Bias tensor argument.

DNNL_ARG_MEAN

Mean values tensor argument.

DNNL_ARG_VARIANCE

Variance values tensor argument.

DNNL_ARG_WORKSPACE

Workspace tensor argument. Workspace is used to pass information from forward propagation to backward propagation computations.

DNNL_ARG_SCRATCHPAD

Scratchpad (temporary storage) tensor argument.

DNNL_ARG_DIFF_SRC_0

Gradient (diff) of the source argument #0.

DNNL_ARG_DIFF_SRC

A special mnemonic for primitives that have a single diff source argument. An alias for DNNL_ARG_DIFF_SRC_0.

DNNL_ARG_DIFF_SRC_LAYER

A special mnemonic for gradient (diff) of RNN input vector. An alias for DNNL_ARG_DIFF_SRC_0.

DNNL_ARG_DIFF_SRC_1

Gradient (diff) of the source argument #1.

DNNL_ARG_DIFF_SRC_ITER

A special mnemonic for gradient (diff) of RNN input recurrent hidden state vector. An alias for DNNL_ARG_DIFF_SRC_1.

DNNL_ARG_DIFF_SRC_2

Gradient (diff) of the source argument #2.

DNNL_ARG_DIFF_SRC_ITER_C

A special mnemonic for gradient (diff) of RNN input recurrent cell state vector. An alias for DNNL_ARG_DIFF_SRC_1.

DNNL_ARG_DIFF_DST_0

Gradient (diff) of the destination argument #0.

DNNL_ARG_DIFF_DST

A special mnemonic for primitives that have a single diff destination argument. An alias for DNNL_ARG_DIFF_DST_0.

DNNL_ARG_DIFF_DST_LAYER

A special mnemonic for gradient (diff) of RNN output vector. An alias for DNNL_ARG_DIFF_DST_0.

DNNL_ARG_DIFF_DST_1

Gradient (diff) of the destination argument #1.

DNNL_ARG_DIFF_DST_ITER

A special mnemonic for gradient (diff) of RNN input recurrent hidden state vector. An alias for DNNL_ARG_DIFF_DST_1.

DNNL_ARG_DIFF_DST_2

Gradient (diff) of the destination argument #2.

DNNL_ARG_DIFF_DST_ITER_C

A special mnemonic for gradient (diff) of RNN input recurrent cell state vector. An alias for DNNL_ARG_DIFF_DST_2.

DNNL_ARG_DIFF_WEIGHTS_0

Gradient (diff) of the weights argument #0.

DNNL_ARG_DIFF_WEIGHTS

A special mnemonic for primitives that have a single diff weights argument. Alias for DNNL_ARG_DIFF_WEIGHTS_0.

DNNL_ARG_DIFF_SCALE_SHIFT

A special mnemonic for diff of scale and shift argument of normalization primitives. Alias for DNNL_ARG_DIFF_WEIGHTS_0.

DNNL_ARG_DIFF_WEIGHTS_LAYER

A special mnemonic for diff of RNN weights applied to the layer input. An alias for DNNL_ARG_DIFF_WEIGHTS_0.

DNNL_ARG_DIFF_WEIGHTS_1

Gradient (diff) of the weights argument #1.

DNNL_ARG_DIFF_WEIGHTS_ITER

A special mnemonic for diff of RNN weights applied to the recurrent input. An alias for DNNL_ARG_DIFF_WEIGHTS_1.

DNNL_ARG_DIFF_BIAS

Gradient (diff) of the bias tensor argument.

DNNL_ARG_ATTR_OUTPUT_SCALES

Output scaling factors provided at execution time.

DNNL_ARG_MULTIPLE_SRC

Starting index for source arguments for primitives that take a variable number of source arguments.

DNNL_ARG_MULTIPLE_DST

Starting index for destination arguments for primitives that produce a variable number of destination arguments.

DNNL_ARG_ATTR_ZERO_POINTS

Zero points provided at execution time.

DNNL_RUNTIME_DIM_VAL

A wildcard value for dimensions that are unknown at a primitive creation time.

DNNL_RUNTIME_SIZE_VAL

A size_t counterpart of the DNNL_RUNTIME_DIM_VAL. For instance, this value is returned by dnnl::memory::desc::get_size() if either of the dimensions or strides equal to DNNL_RUNTIME_DIM_VAL.

DNNL_RUNTIME_F32_VAL

A wildcard value for floating point values that are unknown at a primitive creation time.

DNNL_RUNTIME_S32_VAL

A wildcard value for int32_t values that are unknown at a primitive creation time.