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::augru_backward, dnnl::augru_forward, 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_augru_backward, dnnl::lbr_augru_forward, dnnl::lbr_gru_backward, dnnl::lbr_gru_forward, dnnl::lrn_backward, dnnl::lrn_forward, dnnl::lstm_backward, dnnl::lstm_forward, dnnl::matmul, dnnl::pooling_backward, dnnl::pooling_forward, dnnl::prelu_backward, dnnl::prelu_forward, dnnl::reduction, 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 prelu#
A PReLU 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 matmul#
A matmul (matrix multiplication) primitive.
-
enumerator resampling#
A resampling primitive.
-
enumerator undef#
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.
-
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 asDNNL_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.
-
enum class kind#
-
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 asDNNL_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 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::dims get_strides() const#
Returns strides.
- Returns
Strides.
- Returns
An empty dnnl::memory::dims if the primitive does not have a strides parameter.
-
memory::dims get_dilations() const#
Returns dilations.
- Returns
Dilations.
- Returns
An empty dnnl::memory::dims if the primitive does not have a dilations parameter.
-
memory::dims get_padding_l() const#
Returns a left padding.
- Returns
A left padding.
- Returns
An empty dnnl::memory::dims if the primitive does not have a left padding parameter.
-
memory::dims get_padding_r() const#
Returns a right padding.
- Returns
A right padding.
- Returns
An empty dnnl::memory::dims if the primitive does not have a right padding parameter.
-
float get_epsilon() const#
Returns an epsilon.
- Returns
An epsilon.
- Returns
Zero if the primitive does not have an epsilon parameter.
-
template<typename T = unsigned>
T get_flags() const# Returns flags.
- Template Parameters
T – Flags enumeration type.
- Returns
Flags.
- Returns
Zero if the primitive does not have a flags parameter.
-
dnnl::algorithm get_algorithm() const#
Returns an algorithm kind.
- Returns
An algorithm kind.
- Returns
dnnl::algorithm::undef if the primitive does not have an algorithm parameter.
-
float get_alpha() const#
Returns an alpha.
- Returns
An alpha.
- Returns
Zero if the primitive does not have an alpha parameter.
-
float get_beta() const#
Returns a beta.
- Returns
A beta.
- Returns
Zero if the primitive does not have a beta parameter.
-
int get_axis() const#
Returns an axis.
- Returns
An axis.
- Returns
A negative number if the primitive does not have an axis parameter.
-
memory::dim get_local_size() const#
Returns an LRN local size parameter.
- Returns
An LRN local size parameter.
- Returns
Zero if the primitive does not have an LRN local size parameter.
-
float get_k() const#
Returns an LRN K parameter.
- Returns
An LRN K parameter.
- Returns
Zero if the primitive does not have an LRN K parameter.
-
float get_p() const#
Returns a reduction P parameter.
- Returns
A reduction P parameter.
- Returns
Zero if the primitive does not have a reduction P parameter.
-
std::vector<float> get_factors() const#
Returns a resampling factors parameters.
- Returns
A vector of factors.
- Returns
An empty vector if the primitive does not have a resampling factors parameter.
-
dnnl::algorithm get_cell_kind() const#
Returns an RNN cell kind parameter.
- Returns
An RNN cell kind parameter.
- Returns
dnnl::algorithm::undef if the primitive does not have an RNN cell kind parameter.
-
dnnl::rnn_direction get_direction() const#
Returns an RNN direction parameter.
- Returns
An RNN direction parameter.
- Returns
dnnl::rnn_direction::undef if the primitive does not have an RNN direction parameter.
-
dnnl::algorithm get_activation_kind() const#
Returns an RNN activation kind parameter.
- Returns
An RNN activation kind parameter.
- Returns
dnnl::algorithm::undef if the primitive does not have an RNN activation kind parameter.
-
memory::dims get_kernel() const#
Returns a pooling kernel parameter.
- Returns
A pooling kernel parameter.
- Returns
An empty dnnl::memory::dims if the primitive does not have a pooling kernel parameter.
-
memory::dim get_group_size() const#
Returns a shuffle group size parameter.
- Returns
A shuffle group size parameter.
- Returns
Zero if the primitive does not have a shuffle group size parameter.
-
dnnl::prop_kind get_prop_kind() const#
Returns a propagation kind.
- Returns
A propagation kind.
- Returns
dnnl::prop_kind::undef if the primitive does not have a propagation parameter.
-
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 bias_desc() const#
Returns the bias memory descriptor.
- Returns
The bias memory descriptor.
- Returns
A zero memory descriptor of the primitive does not have a bias parameter.
-
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.
-
primitive_desc_base()#
It is further derived from to provide base class for all primitives.
-
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::lrn_backward::primitive_desc, dnnl::lrn_forward::primitive_desc, dnnl::matmul::primitive_desc, dnnl::pooling_backward::primitive_desc, dnnl::pooling_forward::primitive_desc, dnnl::prelu_backward::primitive_desc, dnnl::prelu_forward::primitive_desc, dnnl::reduction::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
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::augru_backward::primitive_desc, dnnl::augru_forward::primitive_desc, dnnl::gru_backward::primitive_desc, dnnl::gru_forward::primitive_desc, dnnl::lbr_augru_backward::primitive_desc, dnnl::lbr_augru_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 augru_attention_desc() const#
Returns AUGRU attention memory descriptor.
- Returns
AUGRU attention 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_augru_attention_desc() const#
Returns diff AUGRU attention memory descriptor.
- Returns
Diff AUGRU attention 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.
-
rnn_primitive_desc_base()#
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.
-
enumerator undef#
-
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_abs#
Elementwise: abs.
-
enumerator eltwise_bounded_relu#
Elementwise: bounded_relu.
-
enumerator eltwise_clip#
Elementwise: clip.
-
enumerator eltwise_clip_use_dst_for_bwd#
Elementwise: clip (dst for backward)
-
enumerator eltwise_elu#
Elementwise: exponential linear unit (ELU)
-
enumerator eltwise_elu_use_dst_for_bwd#
Elementwise: exponential linear unit (ELU) (dst for backward)
-
enumerator eltwise_exp#
Elementwise: exponent.
-
enumerator eltwise_exp_use_dst_for_bwd#
Elementwise: exponent (dst for backward)
-
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_hardswish#
Elementwise: hardswish.
-
enumerator eltwise_hardsigmoid#
Elementwise: hardsigmoid.
-
enumerator eltwise_linear#
Elementwise: linear.
-
enumerator eltwise_log#
Elementwise: natural logarithm.
-
enumerator eltwise_logistic#
Elementwise: logistic.
-
enumerator eltwise_logistic_use_dst_for_bwd#
Elementwise: logistic (dst for backward)
-
enumerator eltwise_mish#
Elementwise: mish.
-
enumerator eltwise_pow#
Elementwise: pow.
-
enumerator eltwise_relu#
Elementwise: rectified linear unit (ReLU)
-
enumerator eltwise_relu_use_dst_for_bwd#
Elementwise: rectified linear unit (ReLU) (dst for backward)
-
enumerator eltwise_round#
Elementwise: round.
-
enumerator eltwise_soft_relu#
Elementwise: soft_relu.
-
enumerator eltwise_sqrt#
Elementwise: square root.
-
enumerator eltwise_sqrt_use_dst_for_bwd#
Elementwise: square root (dst for backward)
-
enumerator eltwise_square#
Elementwise: square.
-
enumerator eltwise_swish#
Elementwise: swish ( \(x \cdot sigmoid(a \cdot x)\))
-
enumerator eltwise_tanh#
Elementwise: hyperbolic tangent non-linearity (tanh)
-
enumerator eltwise_tanh_use_dst_for_bwd#
Elementwise: hyperbolic tangent non-linearity (tanh) (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 binary_div#
Binary div.
-
enumerator binary_sub#
Binary sub.
-
enumerator binary_ge#
Binary greater than or equal.
-
enumerator binary_gt#
Binary greater than.
-
enumerator binary_le#
Binary less than or equal.
-
enumerator binary_lt#
Binary less than.
-
enumerator binary_eq#
Binary equal.
-
enumerator binary_ne#
Binary not equal.
-
enumerator resampling_nearest#
Nearest Neighbor resampling method.
-
enumerator resampling_linear#
Linear (Bilinear, Trilinear) resampling method.
-
enumerator reduction_max#
Reduction using max operation.
-
enumerator reduction_min#
Reduction using min operation.
-
enumerator reduction_sum#
Reduction using sum operation.
-
enumerator reduction_mul#
Reduction using mul operation.
-
enumerator reduction_mean#
Reduction using mean operation.
-
enumerator reduction_norm_lp_max#
Reduction using norm_lp_max operation.
-
enumerator reduction_norm_lp_sum#
Reduction using norm_lp_sum operation.
-
enumerator reduction_norm_lp_power_p_max#
Reduction using norm_lp_power_p_max operation.
-
enumerator reduction_norm_lp_power_p_sum#
Reduction using norm_lp_power_p_sum operation.
-
enumerator softmax_accurate#
Softmax, numerically stable.
-
enumerator softmax_log#
LogSoftmax, numerically stable.
-
enumerator undef#
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#
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 use_shift#
-
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.
-
enumerator none#
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#
Scale values argument of normalization primitives.
-
DNNL_ARG_SHIFT#
Shift values argument of normalization primitives.
-
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#
Scale gradient argument of normalization primitives.
-
DNNL_ARG_DIFF_SHIFT#
Shift gradient argument of normalization primitives.
-
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_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_SCALES#
Scaling factors provided at execution time.
-
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.