Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)  1.0.4
Performance library for Deep Learning
Enumerations
Common data types and enumerations

A proxy to Types in C API. More...

Enumerations

enum  mkldnn::scratchpad_mode { mkldnn::scratchpad_mode::library = mkldnn_scratchpad_mode_library, mkldnn::scratchpad_mode::user = mkldnn_scratchpad_mode_user }
 Scratchpad mode. More...
 
enum  mkldnn::prop_kind {
  mkldnn::prop_kind::forward_training = mkldnn_forward_training, mkldnn::prop_kind::forward_inference = mkldnn_forward_inference, mkldnn::prop_kind::forward_scoring = mkldnn_forward_scoring, mkldnn::prop_kind::forward = mkldnn_forward,
  mkldnn::prop_kind::backward = mkldnn_backward, mkldnn::prop_kind::backward_data = mkldnn_backward_data, mkldnn::prop_kind::backward_weights = mkldnn_backward_weights, mkldnn::prop_kind::backward_bias = mkldnn_backward_bias
}
 Propagation kind. More...
 
enum  mkldnn::algorithm { ,
  mkldnn::algorithm::convolution_auto = mkldnn_convolution_auto, mkldnn::algorithm::convolution_direct = mkldnn_convolution_direct, mkldnn::algorithm::convolution_winograd = mkldnn_convolution_winograd, mkldnn::algorithm::deconvolution_direct = mkldnn_deconvolution_direct,
  mkldnn::algorithm::deconvolution_winograd = mkldnn_deconvolution_winograd, mkldnn::algorithm::eltwise_relu = mkldnn_eltwise_relu, mkldnn::algorithm::eltwise_tanh = mkldnn_eltwise_tanh, mkldnn::algorithm::eltwise_elu = mkldnn_eltwise_elu,
  mkldnn::algorithm::eltwise_square = mkldnn_eltwise_square, mkldnn::algorithm::eltwise_abs = mkldnn_eltwise_abs, mkldnn::algorithm::eltwise_sqrt = mkldnn_eltwise_sqrt, mkldnn::algorithm::eltwise_linear = mkldnn_eltwise_linear,
  mkldnn::algorithm::eltwise_bounded_relu = mkldnn_eltwise_bounded_relu, mkldnn::algorithm::eltwise_soft_relu = mkldnn_eltwise_soft_relu, mkldnn::algorithm::eltwise_logistic = mkldnn_eltwise_logistic, mkldnn::algorithm::eltwise_exp = mkldnn_eltwise_exp,
  mkldnn::algorithm::eltwise_gelu = mkldnn_eltwise_gelu, mkldnn::algorithm::lrn_across_channels = mkldnn_lrn_across_channels, mkldnn::algorithm::lrn_within_channel = mkldnn_lrn_within_channel, mkldnn::algorithm::pooling_max = mkldnn_pooling_max,
  mkldnn::algorithm::pooling_avg = mkldnn_pooling_avg, mkldnn::algorithm::pooling_avg_include_padding = mkldnn_pooling_avg_include_padding, mkldnn::algorithm::pooling_avg_exclude_padding = mkldnn_pooling_avg_exclude_padding, mkldnn::algorithm::vanilla_rnn = mkldnn_vanilla_rnn,
  mkldnn::algorithm::vanilla_lstm = mkldnn_vanilla_lstm, mkldnn::algorithm::vanilla_gru = mkldnn_vanilla_gru, mkldnn::algorithm::lbr_gru = mkldnn_lbr_gru
}
 Kinds of algorithms. More...
 
enum  mkldnn::normalization_flags : unsigned { mkldnn::normalization_flags::use_global_stats = mkldnn_use_global_stats, mkldnn::normalization_flags::use_scale_shift = mkldnn_use_scaleshift, mkldnn::normalization_flags::fuse_norm_relu = mkldnn_fuse_norm_relu }
 Flags for batch normalization primitive. More...
 
enum  mkldnn::query {
  mkldnn::query::undef = mkldnn_query_undef, mkldnn::query::engine = mkldnn_query_engine, mkldnn::query::primitive_kind = mkldnn_query_primitive_kind, mkldnn::query::num_of_inputs_s32 = mkldnn_query_num_of_inputs_s32,
  mkldnn::query::num_of_outputs_s32 = mkldnn_query_num_of_outputs_s32, mkldnn::query::time_estimate_f64 = mkldnn_query_time_estimate_f64, mkldnn::query::memory_consumption_s64 = mkldnn_query_memory_consumption_s64, mkldnn::query::scratchpad_engine = mkldnn_query_scratchpad_engine,
  mkldnn::query::impl_info_str = mkldnn_query_impl_info_str, mkldnn::query::op_d = mkldnn_query_op_d, mkldnn::query::convolution_d = mkldnn_query_convolution_d, mkldnn::query::deconvolution_d = mkldnn_query_deconvolution_d,
  mkldnn::query::shuffle_d = mkldnn_query_shuffle_d, mkldnn::query::eltwise_d = mkldnn_query_eltwise_d, mkldnn::query::softmax_d = mkldnn_query_softmax_d, mkldnn::query::pooling_d = mkldnn_query_pooling_d,
  mkldnn::query::lrn_d = mkldnn_query_lrn_d, mkldnn::query::batch_normalization_d = mkldnn_query_batch_normalization_d, mkldnn::query::inner_product_d = mkldnn_query_inner_product_d, mkldnn::query::rnn_d = mkldnn_query_rnn_d,
  mkldnn::query::src_md = mkldnn_query_src_md, mkldnn::query::diff_src_md = mkldnn_query_diff_src_md, mkldnn::query::weights_md = mkldnn_query_weights_md, mkldnn::query::diff_weights_md = mkldnn_query_diff_weights_md,
  mkldnn::query::dst_md = mkldnn_query_dst_md, mkldnn::query::diff_dst_md = mkldnn_query_diff_dst_md, mkldnn::query::workspace_md = mkldnn_query_workspace_md, mkldnn::query::scratchpad_md = mkldnn_query_scratchpad_md
}
 Primitive descriptor query specification. More...
 

Detailed Description

A proxy to Types in C API.

Enumeration Type Documentation

◆ scratchpad_mode

Scratchpad mode.

Enumerator
library 

The library manages scratchpad (default)

user 

A user shall query and provide the scratchpad memory to primitives.

◆ prop_kind

enum mkldnn::prop_kind
strong

Propagation kind.

Enumerator
forward_training 

Forward data propagation (training mode).

In this mode primitives perform computations necessary for subsequent backward propagation.

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.

forward_scoring 

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

forward 

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

backward 

Backward propagation (with respect to all parameters).

backward_data 

Backward data propagation.

backward_weights 

Backward weights propagation.

backward_bias 

Backward bias propagation.

◆ algorithm

enum mkldnn::algorithm
strong

Kinds of algorithms.

Enumerator
convolution_auto 

Convolution algorithm(either direct or Winograd) is chosen just in time.

convolution_direct 

Direct convolution.

convolution_winograd 

Winograd convolution.

deconvolution_direct 

Direct deconvolution.

deconvolution_winograd 

Winograd deconvolution.

eltwise_relu 

Eltwise: ReLU.

eltwise_tanh 

Eltwise: hyperbolic tangent non-linearity (tanh)

eltwise_elu 

Eltwise: parametric exponential linear unit (elu)

eltwise_square 

Eltwise: square.

eltwise_abs 

Eltwise: abs.

eltwise_sqrt 

Eltwise: square root.

eltwise_linear 

Eltwise: linear.

eltwise_bounded_relu 

Eltwise: bounded_relu.

eltwise_soft_relu 

Eltwise: soft_relu.

eltwise_logistic 

Eltwise: logistic.

eltwise_exp 

Eltwise: exponent.

eltwise_gelu 

Eltwise: gelu.

lrn_across_channels 

Local response normalization (LRN) across multiple channels.

lrn_within_channel 

LRN within a single channel.

pooling_max 

Max pooling.

pooling_avg 

Average pooling exclude padding, alias for mkldnn::algorithm::pooling_avg_include_padding.

pooling_avg_include_padding 

Average pooling include padding.

pooling_avg_exclude_padding 

Average pooling exclude padding.

vanilla_rnn 

RNN cell.

vanilla_lstm 

LSTM cell.

vanilla_gru 

GRU cell.

lbr_gru 

GRU cell with linear before reset.

Modification of original GRU cell. Differs from mkldnn_vanilla_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})) \]

Primitive expects 4 biases on input: \([b_{u}, b_{r}, b_{c_x}, b_{c_h}]\)

◆ normalization_flags

enum mkldnn::normalization_flags : unsigned
strong

Flags for batch normalization primitive.

Enumerator
use_global_stats 

Use global statistics.

If specified

  • on forward propagation use mean and variance provided by user (input)
  • on backward propagation reduces the amount of computations, since mean and variance are considered as constants

If not specified:

  • on forward propagation mean and variance are computed and stored in output
  • on backward propagation compute full derivative wrt to data
use_scale_shift 

Use scale and shift parameters.

If specified:

  • on forward propagation use scale and shift (aka scale and bias) for the batch normalization results
  • on backward propagation (for prop_kind == mkldnn::prop_kind::backward) compute diff wrt to scale and shift (hence one extra output used)

If not specified:

fuse_norm_relu 

Fuse with ReLU.

If specified:

  • on inference this option behaves the same as if the primitive were fused with ReLU via post ops API
  • on training primitive requires workspace (required to be able to perform backward pass)

◆ query

enum mkldnn::query
strong

Primitive descriptor query specification.

In general should be used from C++ API since required queries are directly implemented as class members (for instance, a query for source memory descriptor).

For more information see mkldnn_query_t.

Enumerator
undef 

no query

engine 

execution engine

primitive_kind 

primitive kind

num_of_inputs_s32 

number of inputs expected

num_of_outputs_s32 

number of outputs expected

time_estimate_f64 

runtime estimation (seconds), unimplemented

memory_consumption_s64 

memory consumption (bytes)

extra (scratch) memory, additional to all inputs and outputs memory

See also
Primitive Attributes: Scratchpad
scratchpad_engine 

scratchpad engine

engine to be used for creating scratchpad memory

impl_info_str 

implementation name

op_d 

op descriptor

convolution_d 

convolution descriptor

deconvolution_d 

deconvolution descriptor

shuffle_d 

shuffle descriptor

eltwise_d 

eltwise descriptor

softmax_d 

softmax descriptor

pooling_d 

pooling descriptor

lrn_d 

lrn descriptor

batch_normalization_d 

batch normalization descriptor

inner_product_d 

inner product descriptor

rnn_d 

rnn descriptor

src_md 

source memory desc

diff_src_md 

source gradient memory desc

weights_md 

weights memory descriptor desc

diff_weights_md 

weights grad. memory desc

dst_md 

destination memory desc

diff_dst_md 

destination grad. memory desc

workspace_md 

workspace memory desc

scratchpad_md 

scratchpad memory desc