Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)  0.10
Performance library for Deep Learning
Enumerations
Generic

Enumerations

enum  mkldnn_status_t {
  mkldnn_success = 0, mkldnn_out_of_memory = 1, mkldnn_try_again = 2, mkldnn_invalid_arguments = 3,
  mkldnn_not_ready = 4, mkldnn_unimplemented = 5, mkldnn_iterator_ends = 6, mkldnn_runtime_error = 7,
  mkldnn_not_required = 8
}
 Status values returned by Intel(R) MKL-DNN functions. More...
 
enum  mkldnn_data_type_t {
  mkldnn_data_type_undef = 0, mkldnn_f32 = 1, mkldnn_s32 = 2, mkldnn_s16 = 4,
  mkldnn_s8 = 5, mkldnn_u8 = 6
}
 Data type specification. More...
 
enum  mkldnn_memory_format_t {
  mkldnn_format_undef = 0, mkldnn_any, mkldnn_blocked, mkldnn_x,
  mkldnn_nc, mkldnn_nchw, mkldnn_nhwc, mkldnn_chwn,
  mkldnn_nChw8c, mkldnn_nChw16c, mkldnn_oi, mkldnn_io,
  mkldnn_oihw, mkldnn_ihwo, mkldnn_hwio, mkldnn_OIhw8i8o,
  mkldnn_OIhw16i16o, mkldnn_OIhw8i16o2i, mkldnn_OIhw8o16i2o, mkldnn_OIhw8o8i,
  mkldnn_OIhw16o16i, mkldnn_Oihw8o, mkldnn_Oihw16o, mkldnn_Ohwi8o,
  mkldnn_Ohwi16o, mkldnn_OhIw16o4i, mkldnn_goihw, mkldnn_gOIhw8i8o,
  mkldnn_gOIhw16i16o, mkldnn_gOIhw8i16o2i, mkldnn_gOIhw8o16i2o, mkldnn_gOIhw8o8i,
  mkldnn_gOIhw16o16i, mkldnn_gOihw8o, mkldnn_gOihw16o, mkldnn_gOhwi8o,
  mkldnn_gOhwi16o, mkldnn_gOhIw16o4i, mkldnn_oIhw8i = mkldnn_nChw8c, mkldnn_oIhw16i = mkldnn_nChw16c
}
 Memory format specification. More...
 
enum  mkldnn_padding_kind_t { mkldnn_padding_zero }
 Kinds of padding. More...
 
enum  mkldnn_prop_kind_t {
  mkldnn_prop_kind_undef = 0, mkldnn_forward_training = 64, mkldnn_forward_inference = 96, mkldnn_forward_scoring = mkldnn_forward_inference,
  mkldnn_forward = mkldnn_forward_training, mkldnn_backward = 128, mkldnn_backward_data = 160, mkldnn_backward_weights = 192,
  mkldnn_backward_bias = 193
}
 Kinds of propagation. More...
 
enum  mkldnn_primitive_kind_t {
  mkldnn_undefined_primitive, mkldnn_memory, mkldnn_view, mkldnn_reorder,
  mkldnn_concat, mkldnn_concat_inplace, mkldnn_sum, mkldnn_convolution,
  mkldnn_eltwise, mkldnn_relu = mkldnn_eltwise, mkldnn_softmax, mkldnn_pooling,
  mkldnn_lrn, mkldnn_batch_normalization, mkldnn_inner_product, mkldnn_convolution_relu
}
 Kinds of primitives. More...
 
enum  mkldnn_alg_kind_t {
  mkldnn_convolution_direct = 1, mkldnn_convolution_winograd = 2, mkldnn_eltwise_relu = 8, mkldnn_eltwise_tanh = 9,
  mkldnn_eltwise_elu = 10, mkldnn_pooling_max = 34, mkldnn_pooling_avg_include_padding = 40, mkldnn_pooling_avg_exclude_padding = 41,
  mkldnn_pooling_avg = mkldnn_pooling_avg_exclude_padding, mkldnn_lrn_across_channels = 65, mkldnn_lrn_within_channel = 66
}
 Kinds of algorithms. More...
 
enum  mkldnn_batch_normalization_flag_t { mkldnn_use_global_stats = 0x1U, mkldnn_use_scaleshift = 0x2U, mkldnn_omit_stats = mkldnn_use_global_stats }
 Flags for batch-normalization primititve. More...
 

Detailed Description

Enumeration Type Documentation

◆ mkldnn_alg_kind_t

Kinds of algorithms.

Enumerator
mkldnn_convolution_direct 

Direct convolution.

mkldnn_convolution_winograd 

Winograd convolution.

mkldnn_eltwise_relu 

Eltwise: ReLU.

mkldnn_eltwise_tanh 

Eltwise: hyperbolic tangent non-linearity (tanh)

mkldnn_eltwise_elu 

Eltwise: parametric exponential linear unit (elu)

mkldnn_pooling_max 

Max pooling.

mkldnn_pooling_avg_include_padding 

Average pooling include padding.

mkldnn_pooling_avg_exclude_padding 

Average pooling exclude padding.

mkldnn_pooling_avg 
mkldnn_lrn_across_channels 

Local response normalization (LRN) across multiple channels.

mkldnn_lrn_within_channel 

LRN within a single channel.

◆ mkldnn_batch_normalization_flag_t

Flags for batch-normalization primititve.

Enumerator
mkldnn_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
mkldnn_use_scaleshift 

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_backward) compute diff wrt to scale and shift (hence one extra output used)

If no specified:

mkldnn_omit_stats 

Omit statistics.

Warning
: deprecated, use mkldnn_use_global_stats instead

For time being had an affect on backward propagation only which allowed skipping some computations (the same semantics as mkldnn_use_global_stats)

◆ mkldnn_data_type_t

Data type specification.

Enumerator
mkldnn_data_type_undef 

Undefined data type, used for empty memory descriptors.

mkldnn_f32 

32-bit/single-precision floating point.

mkldnn_s32 

32-bit signed integer.

mkldnn_s16 

16-bit signed integer.

mkldnn_s8 

8-bit signed integer.

mkldnn_u8 

8-bit unsigned integer.

◆ mkldnn_memory_format_t

Memory format specification.

Intel(R) MKL-DNN uses the following notation for memory format names:

  • 'n' denotes the mini-batch dimension
  • 'c' denotes a channels dimension
  • When there are multiple channel dimensions (for example, in convolution weights tensor), 'i' and 'o' denote dimensions of input and output channels
  • 'h' and 'w' denote spatial width and height
  • Upper-case letters indicate that the data is laid out in blocks for a particular dimension. In such cases, the format name contains both upper- and lower-case letters for that dimension with lower-case letter preceded by the block size. For example: 'mkldnn_nChw8c' describes a format where the outermost dimension is mini-batch, followed by the channel block number, followed by the spatial height and width, and finally followed by 8-element channel blocks.
Note
Channel designations can be different. For example: both the 'mkldnn_nc' and 'mkldnn_io' formats can be used to describe a 2D tensor.
Enumerator
mkldnn_format_undef 

Undefined memory format, used for empty memory descriptors.

mkldnn_any 

Unspecified format.

The primitive selects a format automatically.

mkldnn_blocked 

A tensor in a generic format described by the stride and blocking values in each dimension.

See mkldnn_blocking_desc_t for more information.

mkldnn_x 

1D data tensor.

mkldnn_nc 

2D data tensor.

mkldnn_nchw 

4D data tensor in the nchw format typically used in Caffe.

mkldnn_nhwc 

4D data tensor in the nhwc format typically used in TensorFlow.

mkldnn_chwn 

4D data tensor in the chwn format typically used in Neon.

mkldnn_nChw8c 

4D data tensor in the nchw format with channels data laid out in memory in 8-element blocks.

mkldnn_nChw16c 

4D data tensor in the nchw format with channels data laid out in memory in 16-element blocks.

mkldnn_oi 

2D weights tensor in the format (input channels, output channels).

mkldnn_io 

2D weights tensor in the format (input channels, output channels).

mkldnn_oihw 

4D weights tensor in the format (input channels, output channels, width, height).

mkldnn_ihwo 

4D weights tensor in the format (input channels, height, width, output channels).

mkldnn_hwio 

4D weights tensor in the format (height, width, input channels, output channels).

mkldnn_OIhw8i8o 

4D weights tensor in the oihw format with both input and output channels data laid out in memory in 8-element blocks.

mkldnn_OIhw16i16o 

4D weights tensor in the oihw format with both input and output channels data laid out in memory in 16-element blocks.

mkldnn_OIhw8i16o2i 

4D weights tensor in the oihw format with output channels data laid out in memory in 16-element blocks and input channels data laid out in memory in 8-element blocks blocked by pairs.

mkldnn_OIhw8o16i2o 

4D weights tensor in the oihw format with input channels data laid out in memory in 16-element blocks and output channels data laid out in memory in 8-element blocks blocked by pairs.

mkldnn_OIhw8o8i 

4D weights tensor in the oihw format with both input and output channels data laid out in memory in 8-element blocks.

mkldnn_OIhw16o16i 

4D weights tensor in the oihw format with both input and output channels data laid out in memory in 16-element blocks.

mkldnn_Oihw8o 

4D weights tensor in the format (output channels, input channels, height, width) with output channels data laid out in memory in 8-element blocks.

mkldnn_Oihw16o 

4D weights tensor in the format (output channels, input channels, height, width) with output channels data laid out in memory in 16-element blocks.

mkldnn_Ohwi8o 

4D weights tensor in the format (output channels, width, height, input channels) with output channels data laid out in memory in 8-element blocks.

mkldnn_Ohwi16o 

4D weights tensor in the format (output channels, width, height, input channels) with output channels data laid out in memory in 16-element blocks.

mkldnn_OhIw16o4i 

4D weights tensor in the oihw format with both input and output channels data laid out in memory in 16-element and 4-element blocks.

mkldnn_goihw 

5D weights tensor in the oihw format with extra outer dimension for groups.

mkldnn_gOIhw8i8o 

5D weights tensor in the blocked version of goihw format with both input and output channels data laid out in memory in 8-element blocks.

mkldnn_gOIhw16i16o 

5D weights tensor in the blocked version of goihw format with both input and output channels data laid out in memory in 16-element blocks.

mkldnn_gOIhw8i16o2i 

5D weights tensor in the oihw format with output channels data laid out in memory in 16-element blocks and input channels data laid out in memory in 8-element blocks blocked by pairs.

mkldnn_gOIhw8o16i2o 

5D weights tensor in the oihw format with input channels data laid out in memory in 16-element blocks and output channels data laid out in memory in 8-element blocks blocked by pairs.

mkldnn_gOIhw8o8i 

5D weights tensor in the blocked version of goihw format with both input and output channels data laid out in memory in 8-element blocks.

mkldnn_gOIhw16o16i 

5D weights tensor in the blocked version of goihw format with both input and output channels data laid out in memory in 16-element blocks.

mkldnn_gOihw8o 

5D weights tensor in the blocked version of goihw format with output channels data laid out in memory in 8-element blocks.

mkldnn_gOihw16o 

5D weights tensor in the blocked version of goihw format with output channels data laid out in memory in 16-element blocks.

mkldnn_gOhwi8o 

5D weights tensor in the blocked version of goihw format with output channels data laid out in memory in 8-element blocks.

mkldnn_gOhwi16o 

5D weights tensor in the blocked version of goihw format with output channels data laid out in memory in 16-element blocks.

mkldnn_gOhIw16o4i 

5D weights tensor in the goihw format with both input and output channels data laid out in memory in 16-element and 4-element blocks.

mkldnn_oIhw8i 

4D weights tensor in the oihw format with input channels data laid out in memory in 8-element blocks.

mkldnn_oIhw16i 

4D weights tensor in the oihw format with input channels data laid out in memory in 16-element blocks.

◆ mkldnn_padding_kind_t

Kinds of padding.

Define how to interpret the data in padding regions.

Enumerator
mkldnn_padding_zero 

The data in padding regions is zero.

◆ mkldnn_primitive_kind_t

Kinds of primitives.

Used to implement a way to extend the library with new primitives without changing the ABI.

Enumerator
mkldnn_undefined_primitive 

Undefined primitive (XXX: why do we have it?).

mkldnn_memory 

A memory primitive.

mkldnn_view 

A view primitive.

mkldnn_reorder 

A reorder primitive.

mkldnn_concat 

A (out-of-place) concat primitive.

mkldnn_concat_inplace 

A (in-place) concat primitive.

mkldnn_sum 

A sum primitive.

mkldnn_convolution 

A convolution primitive.

mkldnn_eltwise 

An element-wise primitive.

mkldnn_relu 

A ReLU primitive,.

Deprecated:
.
mkldnn_softmax 

A Softmax primitive.

mkldnn_pooling 

A pooling primitive.

mkldnn_lrn 

An LRN primitive.

mkldnn_batch_normalization 

An batch normalization primitive.

mkldnn_inner_product 

An inner product primitive.

mkldnn_convolution_relu 

A convolution primitive merged with relu.

◆ mkldnn_prop_kind_t

Kinds of propagation.

Enumerator
mkldnn_prop_kind_undef 

Undefined propagation type.

mkldnn_forward_training 

Forward data propagation (training mode).

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

mkldnn_forward_inference 

Forward data propagation (inference mode).

In this mode primitives only perform computations that are necessary for inference and omit computations that are only necessary for backward propagation.

mkldnn_forward_scoring 

Forward data propagation (alias for mkldnn_forward_inference)

mkldnn_forward 

Forward data propagation (alias for mkldnn_forward_training)

mkldnn_backward 

Backward propagation (with respect to all parameters.

mkldnn_backward_data 

Backward data propagation.

mkldnn_backward_weights 

Backward weights propagation.

mkldnn_backward_bias 

Backward bias propagation.

◆ mkldnn_status_t

Status values returned by Intel(R) MKL-DNN functions.

Enumerator
mkldnn_success 

The operation was successful.

mkldnn_out_of_memory 

The operation failed due to an out-of-memory condition.

mkldnn_try_again 

The operation failed and should be retried.

mkldnn_invalid_arguments 

The operation failed because of incorrect function arguments.

mkldnn_not_ready 

The operation failed because a primitive was not ready for execution.

mkldnn_unimplemented 

The operation failed because requested functionality is not implemented.

mkldnn_iterator_ends 

Primitive iterator passed over last primitive descriptor.

mkldnn_runtime_error 

Primitive or engine failed on execution.

mkldnn_not_required 

Queried element is not required for given primitive.