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 class 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.

Returns

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).

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.

Returns

SYCL event object for the specified primitive execution.

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.

Returns

The engine of the primitive descriptor.

const char *impl_info_str() const#

Returns implementation name.

Returns

The implementation name.

memory::dim query_s64(query what) const#

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

Parameters

what – The value to query.

Returns

The result of the 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.

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.

Returns

The requested memory descriptor.

Returns

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

memory::desc src_desc(int idx) const#

Returns a source memory descriptor.

Parameters

idx – Source index.

Returns

Source memory descriptor.

Returns

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

memory::desc dst_desc(int idx) const#

Returns a destination memory descriptor.

Parameters

idx – Destination index.

Returns

Destination memory descriptor.

Returns

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

memory::desc weights_desc(int idx) const#

Returns a weights memory descriptor.

Parameters

idx – Weights index.

Returns

Weights memory descriptor.

Returns

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

memory::desc diff_src_desc(int idx) const#

Returns a diff source memory descriptor.

Parameters

idx – Diff source index.

Returns

Diff source memory descriptor.

Returns

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

memory::desc diff_dst_desc(int idx) const#

Returns a diff destination memory descriptor.

Parameters

idx – Diff destination index.

Returns

Diff destination memory descriptor.

Returns

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

memory::desc diff_weights_desc(int idx) const#

Returns a diff weights memory descriptor.

Parameters

idx – Diff weights index.

Returns

Diff weights memory descriptor.

Returns

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

memory::desc src_desc() const#

Returns a source memory descriptor.

Returns

Source memory descriptor.

Returns

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

memory::desc dst_desc() const#

Returns a destination memory descriptor.

Returns

Destination memory descriptor.

Returns

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

memory::desc weights_desc() const#

Returns a weights memory descriptor.

Returns

Weights memory descriptor.

Returns

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.

Returns

Diff source memory descriptor.

Returns

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.

Returns

Diff destination memory descriptor.

Returns

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.

Returns

Diff weights memory descriptor.

Returns

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

memory::desc workspace_desc() const#

Returns the workspace memory descriptor.

Returns

Workspace memory descriptor.

Returns

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

memory::desc scratchpad_desc() const#

Returns the scratchpad memory descriptor.

Returns

scratchpad memory descriptor.

Returns

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.

Returns

The engine on which the scratchpad memory is located.

primitive_attr get_primitive_attr() const#

Returns the primitive attributes.

Returns

The primitive attributes.

dnnl::primitive::kind get_kind() const#

Returns the kind of the primitive descriptor.

Returns

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.

Returns

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.

Returns

Source layer memory descriptor.

memory::desc src_iter_desc() const#

Returns source iteration memory descriptor.

Returns

Source iteration memory descriptor.

Returns

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.

Returns

Source recurrent cell state memory descriptor.

memory::desc weights_layer_desc() const#

Returns weights layer memory descriptor.

Returns

Weights layer memory descriptor.

memory::desc weights_iter_desc() const#

Returns weights iteration memory descriptor.

Returns

Weights iteration memory descriptor.

memory::desc weights_peephole_desc() const#

Returns weights peephole memory descriptor.

Returns

Weights peephole memory descriptor.

memory::desc weights_projection_desc() const#

Returns weights projection memory descriptor.

Returns

Weights projection memory descriptor.

memory::desc bias_desc() const#

Returns bias memory descriptor.

Returns

Bias memory descriptor.

Returns

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

memory::desc dst_layer_desc() const#

Returns destination layer memory descriptor.

Returns

Destination layer memory descriptor.

memory::desc dst_iter_desc() const#

Returns destination iteration memory descriptor.

Returns

Destination iteration memory descriptor.

Returns

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.

Returns

Destination recurrent cell state memory descriptor.

memory::desc diff_src_layer_desc() const#

Returns diff source layer memory descriptor.

Returns

Diff source layer memory descriptor.

memory::desc diff_src_iter_desc() const#

Returns diff source iteration memory descriptor.

Returns

Diff source iteration memory descriptor.

Returns

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.

Returns

Diff source recurrent cell state memory descriptor.

memory::desc diff_weights_layer_desc() const#

Returns diff weights layer memory descriptor.

Returns

Diff weights layer memory descriptor.

memory::desc diff_weights_iter_desc() const#

Returns diff weights iteration memory descriptor.

Returns

Diff weights iteration memory descriptor.

memory::desc diff_weights_peephole_desc() const#

Returns diff weights peephole memory descriptor.

Returns

Diff weights peephole memory descriptor.

memory::desc diff_weights_projection_desc() const#

Returns diff weights projection memory descriptor.

Returns

Diff weights projection memory descriptor.

memory::desc diff_bias_desc() const#

Returns diff bias memory descriptor.

Returns

Diff bias memory descriptor.

Returns

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.

Returns

Diff destination layer memory descriptor.

memory::desc diff_dst_iter_desc() const#

Returns diff destination iteration memory descriptor.

Returns

Diff destination iteration memory descriptor.

Returns

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.

Returns

Diff destination recurrent cell state memory descriptor.

Common Enumerations#

enum class 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 class 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 class dnnl::normalization_flags : unsigned#

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.