Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)  0.21.0
Performance library for Deep Learning
Classes | Macros | Typedefs | Enumerations
mkldnn_types.h File Reference

Go to the source code of this file.

Classes

struct  mkldnn_version_t
 Intel(R) MKL-DNN Version type. More...
 
struct  mkldnn_blocking_desc_t
 Generic description of blocked data layout for most memory formats. More...
 
struct  mkldnn_wino_desc_t
 Description of tensor of weights for winograd 2x3 convolution. More...
 
struct  mkldnn_rnn_packed_desc_t
 Description of tensor of packed weights for rnn. More...
 
struct  mkldnn_memory_desc_t
 Memory descriptor. More...
 
struct  mkldnn_convolution_desc_t
 A descriptor of a convolution operation. More...
 
struct  mkldnn_shuffle_desc_t
 A descriptor of a shuffle operation. More...
 
struct  mkldnn_eltwise_desc_t
 A descriptor of a element-wise operation. More...
 
struct  mkldnn_softmax_desc_t
 A descriptor of a Softmax operation. More...
 
struct  mkldnn_pooling_desc_t
 A descriptor of a pooling operation. More...
 
struct  mkldnn_lrn_desc_t
 A descriptor of a Local Response Normalization (LRN) operation. More...
 
struct  mkldnn_batch_normalization_desc_t
 A descriptor of a Batch Normalization operation. More...
 
struct  mkldnn_inner_product_desc_t
 A descriptor of an inner product operation. More...
 
struct  mkldnn_rnn_cell_desc_t
 
struct  mkldnn_rnn_desc_t
 A descriptor for an RNN operation. More...
 
struct  mkldnn_primitive_at_t
 A wrapper structure to specify a particular output of a primitive. More...
 

Macros

#define TENSOR_MAX_DIMS   12
 Maximum number of dimensions a tensor can have. More...
 
#define MKLDNN_RNN_MAX_N_PARTS   4
 

Typedefs

typedef uint16_t mkldnn_bfloat16_t
 
typedef int mkldnn_dims_t[TENSOR_MAX_DIMS]
 A type to describe tensor dimensions. More...
 
typedef ptrdiff_t mkldnn_strides_t[TENSOR_MAX_DIMS]
 A type to describe strides within a tensor. More...
 
typedef void * mkldnn_op_desc_t
 A pointer to any of the operation descriptors. More...
 
typedef const void * const_mkldnn_op_desc_t
 A pointer to any of the operation descriptors (constant variant). More...
 
typedef mkldnn_convolution_desc_t mkldnn_deconvolution_desc_t
 A descriptor of a deconvolution operation. More...
 
typedef struct mkldnn_enginemkldnn_engine_t
 An engine handle. More...
 
typedef struct mkldnn_primitive_desc_iteratormkldnn_primitive_desc_iterator_t
 A primitive descriptor iterator handle. More...
 
typedef const struct mkldnn_primitive_desc_iteratorconst_mkldnn_primitive_desc_iterator_t
 A constant primitive descriptor iterator handle. More...
 
typedef struct mkldnn_primitive_descmkldnn_primitive_desc_t
 A primitive descriptor handle. More...
 
typedef const struct mkldnn_primitive_descconst_mkldnn_primitive_desc_t
 A constant primitive descriptor handle. More...
 
typedef struct mkldnn_primitive_attrmkldnn_primitive_attr_t
 A primitive descriptor attributes handle that controls primitive behavior. More...
 
typedef const struct mkldnn_primitive_attrconst_mkldnn_primitive_attr_t
 A constant primitive descriptor attributes handle. More...
 
typedef struct mkldnn_post_opsmkldnn_post_ops_t
 A post operation chain handle. More...
 
typedef const struct mkldnn_post_opsconst_mkldnn_post_ops_t
 A constant post operation chain handle. More...
 
typedef struct mkldnn_primitivemkldnn_primitive_t
 A primitive handle. More...
 
typedef const struct mkldnn_primitiveconst_mkldnn_primitive_t
 A constant primitive handle. More...
 
typedef struct mkldnn_streammkldnn_stream_t
 An execution stream handle. More...
 
typedef const struct mkldnn_streamconst_mkldnn_stream_t
 A constant execution stream handle. More...
 

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, mkldnn_bf16 = 7
}
 Data type specification. More...
 
enum  mkldnn_round_mode_t { mkldnn_round_nearest = 1, mkldnn_round_down = 2 }
 Rounding mode. More...
 
enum  mkldnn_memory_format_t {
  mkldnn_format_undef = 0, mkldnn_any, mkldnn_blocked, mkldnn_x,
  mkldnn_nc, mkldnn_ncw, mkldnn_nwc, mkldnn_nchw,
  mkldnn_nhwc, mkldnn_chwn, mkldnn_ncdhw, mkldnn_ndhwc,
  mkldnn_oi, mkldnn_io, mkldnn_oiw, mkldnn_owi,
  mkldnn_wio, mkldnn_oihw, mkldnn_hwio, mkldnn_ohwi,
  mkldnn_ihwo, mkldnn_iohw, mkldnn_oidhw, mkldnn_dhwio,
  mkldnn_odhwi, mkldnn_goiw, mkldnn_goihw, mkldnn_hwigo,
  mkldnn_giohw, mkldnn_goidhw, mkldnn_ntc, mkldnn_tnc,
  mkldnn_ldsnc, mkldnn_ldigo, mkldnn_ldgoi, mkldnn_ldgo,
  mkldnn_nCw4c, mkldnn_nCw8c, mkldnn_nCw16c, mkldnn_nChw4c,
  mkldnn_nChw8c, mkldnn_nChw16c, mkldnn_nCdhw4c, mkldnn_nCdhw8c,
  mkldnn_nCdhw16c, mkldnn_Owi4o, mkldnn_OIw4i4o, mkldnn_Owi8o,
  mkldnn_OIw8i8o, mkldnn_OIw8o8i, mkldnn_OIw16i16o, mkldnn_OIw16o16i,
  mkldnn_Oiw4o, mkldnn_Oiw16o, mkldnn_Owi16o, mkldnn_OIw8i16o2i,
  mkldnn_OIw8o16i2o, mkldnn_IOw8o16i2o, mkldnn_IOw16o16i, mkldnn_OIw4i16o4i,
  mkldnn_OIw4i16o4i_s8s8, mkldnn_hwio_s8s8, mkldnn_oIhw8i, mkldnn_oIhw16i,
  mkldnn_OIhw4i4o, mkldnn_OIhw8i8o, mkldnn_OIhw16i16o, mkldnn_OIhw4i16o4i,
  mkldnn_OIhw4i16o4i_s8s8, mkldnn_OIhw8i16o2i, mkldnn_IOhw8i16o2i, mkldnn_OIhw8o16i2o,
  mkldnn_IOhw8o16i2o, mkldnn_OIhw8o8i, mkldnn_OIhw16o16i, mkldnn_IOhw16o16i,
  mkldnn_Oihw8o, mkldnn_Oihw4o, mkldnn_Oihw16o, mkldnn_Ohwi8o,
  mkldnn_Ohwi4o, mkldnn_Ohwi16o, mkldnn_OhIw16o4i, mkldnn_oIdhw8i,
  mkldnn_oIdhw16i, mkldnn_OIdhw4i4o, mkldnn_Odhwi4o, mkldnn_OIdhw8i8o,
  mkldnn_OIdhw8o8i, mkldnn_Odhwi8o, mkldnn_OIdhw16i16o, mkldnn_OIdhw16o16i,
  mkldnn_Oidhw4o, mkldnn_Oidhw16o, mkldnn_Odhwi16o, mkldnn_OIdhw8i16o2i,
  mkldnn_OIdhw8o16i2o, mkldnn_IOdhw8o16i2o, mkldnn_gOwi4o, mkldnn_gOIw4i4o,
  mkldnn_gOwi8o, mkldnn_gOIw8o8i, mkldnn_gOIw8i8o, mkldnn_gOIw16i16o,
  mkldnn_gOIw16o16i, mkldnn_gOiw4o, mkldnn_gOiw16o, mkldnn_gOwi16o,
  mkldnn_gOIw8i16o2i, mkldnn_gOIw8o16i2o, mkldnn_gIOw8o16i2o, mkldnn_gIOw16o16i,
  mkldnn_gOIw4i16o4i, mkldnn_gOIw4i16o4i_s8s8, mkldnn_Goiw16g, mkldnn_Goiw16g_s8s8,
  mkldnn_hwigo_s8s8, mkldnn_gOIhw4i4o, mkldnn_gOIhw8i8o, mkldnn_gOIhw16i16o,
  mkldnn_gOIhw4i16o4i, mkldnn_gOIhw4i16o4i_s8s8, mkldnn_gOIhw2i8o4i, mkldnn_gOIhw2i8o4i_s8s8,
  mkldnn_gOIhw8i16o2i, mkldnn_gIOhw8i16o2i, mkldnn_gOIhw8o16i2o, mkldnn_gIOhw8o16i2o,
  mkldnn_gOIhw4o4i, mkldnn_gOIhw4o4i_s8s8, mkldnn_gOIhw8o8i, mkldnn_gOIhw16o16i,
  mkldnn_gIOhw16o16i, mkldnn_gOihw8o, mkldnn_gOihw4o, mkldnn_gOihw16o,
  mkldnn_gOhwi8o, mkldnn_gOhwi4o, mkldnn_gOhwi16o, mkldnn_Goihw8g,
  mkldnn_Goihw16g, mkldnn_Goihw16g_s8s8, mkldnn_gOhIw16o4i, mkldnn_gOIdhw4i4o,
  mkldnn_gOdhwi4o, mkldnn_gOIdhw8i8o, mkldnn_gOIdhw8o8i, mkldnn_gOdhwi8o,
  mkldnn_gOIdhw8i16o2i, mkldnn_gOIdhw8o16i2o, mkldnn_gIOdhw8o16i2o, mkldnn_gOIdhw16i16o,
  mkldnn_gOIdhw16o16i, mkldnn_gOidhw4o, mkldnn_gOidhw16o, mkldnn_gOdhwi16o,
  mkldnn_wino_fmt, mkldnn_rnn_packed, mkldnn_format_last
}
 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_shuffle, mkldnn_concat, mkldnn_concat_inplace, mkldnn_sum,
  mkldnn_convolution, mkldnn_deconvolution, mkldnn_eltwise, mkldnn_softmax,
  mkldnn_pooling, mkldnn_lrn, mkldnn_batch_normalization, mkldnn_inner_product,
  mkldnn_rnn
}
 Kinds of primitives. More...
 
enum  mkldnn_alg_kind_t {
  mkldnn_alg_kind_undef, mkldnn_convolution_direct = 0x1, mkldnn_convolution_winograd = 0x2, mkldnn_convolution_auto = 0x3,
  mkldnn_deconvolution_direct = 0xa, mkldnn_deconvolution_winograd = 0xb, mkldnn_eltwise_relu = 0x1f, mkldnn_eltwise_tanh = 0x2f,
  mkldnn_eltwise_elu = 0x3f, mkldnn_eltwise_square = 0x4f, mkldnn_eltwise_abs = 0x5f, mkldnn_eltwise_sqrt = 0x6f,
  mkldnn_eltwise_linear = 0x7f, mkldnn_eltwise_bounded_relu = 0x8f, mkldnn_eltwise_soft_relu = 0x9f, mkldnn_eltwise_logistic = 0xaf,
  mkldnn_eltwise_exp = 0xbf, mkldnn_eltwise_gelu = 0xcf, mkldnn_pooling_max = 0x1ff, mkldnn_pooling_avg_include_padding = 0x2ff,
  mkldnn_pooling_avg_exclude_padding = 0x3ff, mkldnn_pooling_avg = mkldnn_pooling_avg_exclude_padding, mkldnn_lrn_across_channels = 0xaff, mkldnn_lrn_within_channel = 0xbff,
  mkldnn_vanilla_rnn = 0x1fff, mkldnn_vanilla_lstm = 0x2fff, mkldnn_vanilla_gru = 0x3fff, mkldnn_gru_linear_before_reset = 0x4fff
}
 Kinds of algorithms. More...
 
enum  mkldnn_batch_normalization_flag_t { mkldnn_use_global_stats = 0x1U, mkldnn_use_scaleshift = 0x2U, mkldnn_fuse_bn_relu = 0x4U }
 Flags for batch-normalization primititve. More...
 
enum  mkldnn_wino_memory_format_t {
  mkldnn_wino_undef = 0, mkldnn_wino_wei_aaOIoi, mkldnn_wino_wei_aaOio, mkldnn_wino_wei_aaOBiOo,
  mkldnn_wino_wei_OBaaIBOIio
}
 
enum  mkldnn_rnn_packed_memory_format_t { mkldnn_packed_format_undef = 0, mkldnn_ldigo_p, mkldnn_ldgoi_p }
 
enum  mkldnn_rnn_cell_flags_t { mkldnn_rnn_cell_with_relu = 0x1U, mkldnn_rnn_cell_with_clipping = 0x2U }
 Flags for RNN cell. More...
 
enum  mkldnn_rnn_direction_t {
  mkldnn_unidirectional_left2right, mkldnn_unidirectional_right2left, mkldnn_bidirectional_concat, mkldnn_bidirectional_sum,
  mkldnn_unidirectional = mkldnn_unidirectional_left2right
}
 A direction of RNN primitive execution. More...
 
enum  mkldnn_engine_kind_t { mkldnn_any_engine, mkldnn_cpu }
 Kinds of engines. More...
 
enum  mkldnn_query_t {
  mkldnn_query_undef = 0, mkldnn_query_engine, mkldnn_query_primitive_kind, mkldnn_query_num_of_inputs_s32,
  mkldnn_query_num_of_outputs_s32, mkldnn_query_time_estimate_f64, mkldnn_query_memory_consumption_s64, mkldnn_query_impl_info_str,
  mkldnn_query_some_d = 64, mkldnn_query_op_d, mkldnn_query_memory_d, mkldnn_query_convolution_d,
  mkldnn_query_deconvolution_d, mkldnn_query_shuffle_d, mkldnn_query_eltwise_d, mkldnn_query_softmax_d,
  mkldnn_query_pooling_d, mkldnn_query_lrn_d, mkldnn_query_batch_normalization_d, mkldnn_query_inner_product_d,
  mkldnn_query_rnn_d, mkldnn_query_some_pd = 128, mkldnn_query_input_pd, mkldnn_query_output_pd,
  mkldnn_query_src_pd, mkldnn_query_diff_src_pd, mkldnn_query_weights_pd, mkldnn_query_diff_weights_pd,
  mkldnn_query_dst_pd, mkldnn_query_diff_dst_pd, mkldnn_query_workspace_pd
}
 Primitive descriptor query specification. More...
 
enum  mkldnn_stream_kind_t { mkldnn_any_stream, mkldnn_eager, mkldnn_lazy }
 Kinds of streams. More...
 

Typedef Documentation

◆ mkldnn_bfloat16_t

typedef uint16_t mkldnn_bfloat16_t