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

C API types definitions. More...

Go to the source code of this file.

Classes

struct  mkldnn_version_t
 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_extra_desc_t
 Description of extra information stored in memory. 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_desc_t
 A descriptor for an RNN operation. More...
 
struct  mkldnn_exec_arg_t
 An auxiliary structure to specify primitive's inputs/outputs at execution. More...
 

Macros

#define MKLDNN_MAX_NDIMS   12
 Maximum number of dimensions a tensor can have. More...
 
#define MKLDNN_RNN_MAX_N_PARTS   4
 Maximum number of parts of RNN weights tensor that require separate computation. More...
 

Typedefs

typedef int64_t mkldnn_dim_t
 A type to describe tensor dimension.
 
typedef mkldnn_dim_t mkldnn_dims_t[MKLDNN_MAX_NDIMS]
 A type to describe tensor dimensions.
 
typedef struct mkldnn_memorymkldnn_memory_t
 A memory handle.
 
typedef const struct mkldnn_memoryconst_mkldnn_memory_t
 A constant memory handle.
 
typedef void * mkldnn_op_desc_t
 A pointer to any of the operation descriptors.
 
typedef const void * const_mkldnn_op_desc_t
 A pointer to any of the operation descriptors (constant variant).
 
typedef mkldnn_convolution_desc_t mkldnn_deconvolution_desc_t
 A descriptor of a deconvolution operation.
 
typedef struct mkldnn_enginemkldnn_engine_t
 An engine handle.
 
typedef struct mkldnn_primitive_desc_iteratormkldnn_primitive_desc_iterator_t
 A primitive descriptor iterator handle.
 
typedef const struct mkldnn_primitive_desc_iteratorconst_mkldnn_primitive_desc_iterator_t
 A constant primitive descriptor iterator handle.
 
typedef struct mkldnn_primitive_descmkldnn_primitive_desc_t
 A primitive descriptor handle.
 
typedef const struct mkldnn_primitive_descconst_mkldnn_primitive_desc_t
 A constant primitive descriptor handle.
 
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.
 
typedef struct mkldnn_post_opsmkldnn_post_ops_t
 A post operation chain handle.
 
typedef const struct mkldnn_post_opsconst_mkldnn_post_ops_t
 A constant post operation chain handle.
 
typedef struct mkldnn_primitivemkldnn_primitive_t
 A primitive handle.
 
typedef const struct mkldnn_primitiveconst_mkldnn_primitive_t
 A constant primitive handle.
 
typedef struct mkldnn_streammkldnn_stream_t
 An execution stream handle.
 
typedef const struct mkldnn_streamconst_mkldnn_stream_t
 A constant execution stream handle.
 

Enumerations

enum  mkldnn_status_t {
  mkldnn_success = 0, mkldnn_out_of_memory = 1, mkldnn_invalid_arguments = 2, mkldnn_unimplemented = 3,
  mkldnn_iterator_ends = 4, mkldnn_runtime_error = 5, mkldnn_not_required = 6
}
 Status values returned by the library functions. More...
 
enum  mkldnn_data_type_t {
  mkldnn_data_type_undef = 0, mkldnn_f16 = 1, mkldnn_bf16 = 2, mkldnn_f32 = 3,
  mkldnn_s32 = 4, mkldnn_s8 = 5, mkldnn_u8 = 6
}
 Data type specification. More...
 
enum  mkldnn_format_kind_t {
  mkldnn_format_kind_undef = 0, mkldnn_format_kind_any, mkldnn_blocked, mkldnn_format_kind_wino,
  mkldnn_format_kind_rnn_packed
}
 Memory format kind. More...
 
enum  mkldnn_format_tag_t {
  mkldnn_format_tag_undef = 0, mkldnn_format_tag_any, mkldnn_a, mkldnn_ab,
  mkldnn_abc, mkldnn_abcd, mkldnn_abcde, mkldnn_abcdef,
  mkldnn_abdec, mkldnn_acb, mkldnn_acbde, mkldnn_acdb,
  mkldnn_acdeb, mkldnn_ba, mkldnn_bac, mkldnn_bacd,
  mkldnn_bca, mkldnn_bcda, mkldnn_bcdea, mkldnn_cba,
  mkldnn_cdba, mkldnn_cdeba, mkldnn_decab , mkldnn_aBc16b ,
  mkldnn_aBc4b , mkldnn_aBc8b , mkldnn_aBcd16b , mkldnn_aBcd4b ,
  mkldnn_aBcd8b , mkldnn_ABcd8b8a , mkldnn_aBcde16b , mkldnn_aBcde4b ,
  mkldnn_aBcde8b , mkldnn_aBcdef16b , mkldnn_aBcdef4b , mkldnn_format_tag_last,
  mkldnn_x = mkldnn_a, mkldnn_nc = mkldnn_ab, mkldnn_cn = mkldnn_ba, mkldnn_ncw = mkldnn_abc,
  mkldnn_nwc = mkldnn_acb, mkldnn_nchw = mkldnn_abcd, mkldnn_nhwc = mkldnn_acdb, mkldnn_chwn = mkldnn_bcda,
  mkldnn_ncdhw = mkldnn_abcde, mkldnn_ndhwc = mkldnn_acdeb, mkldnn_oi = mkldnn_ab, mkldnn_io = mkldnn_ba,
  mkldnn_oiw = mkldnn_abc, mkldnn_owi = mkldnn_acb, mkldnn_wio = mkldnn_cba, mkldnn_iwo = mkldnn_bca,
  mkldnn_oihw = mkldnn_abcd, mkldnn_hwio = mkldnn_cdba, mkldnn_ohwi = mkldnn_acdb, mkldnn_ihwo = mkldnn_bcda,
  mkldnn_iohw = mkldnn_bacd, mkldnn_oidhw = mkldnn_abcde, mkldnn_dhwio = mkldnn_cdeba, mkldnn_odhwi = mkldnn_acdeb,
  mkldnn_idhwo = mkldnn_bcdea, mkldnn_goiw = mkldnn_abcd, mkldnn_goihw = mkldnn_abcde, mkldnn_hwigo = mkldnn_decab,
  mkldnn_giohw = mkldnn_acbde, mkldnn_goidhw = mkldnn_abcdef, mkldnn_tnc = mkldnn_abc, mkldnn_ntc = mkldnn_bac,
  mkldnn_ldnc = mkldnn_abcd, mkldnn_ldigo = mkldnn_abcde, mkldnn_ldgoi = mkldnn_abdec, mkldnn_ldgo = mkldnn_abcd,
  mkldnn_nCdhw16c = mkldnn_aBcde16b, mkldnn_nCdhw4c = mkldnn_aBcde4b, mkldnn_nCdhw8c = mkldnn_aBcde8b, mkldnn_nChw16c = mkldnn_aBcd16b,
  mkldnn_nChw4c = mkldnn_aBcd4b, mkldnn_nChw8c = mkldnn_aBcd8b, mkldnn_nCw16c = mkldnn_aBc16b, mkldnn_nCw4c = mkldnn_aBc4b,
  mkldnn_nCw8c = mkldnn_aBc8b
}
 Memory format tag specification. 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_reorder, mkldnn_shuffle, mkldnn_concat,
  mkldnn_sum, mkldnn_convolution, mkldnn_deconvolution, mkldnn_eltwise,
  mkldnn_softmax, mkldnn_pooling, mkldnn_lrn, mkldnn_batch_normalization,
  mkldnn_inner_product, mkldnn_rnn, mkldnn_gemm
}
 Kinds of primitives. More...
 
enum  mkldnn_alg_kind_t { ,
  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_lrn_across_channels = 0xaff, mkldnn_lrn_within_channel = 0xbff, mkldnn_vanilla_rnn = 0x1fff, mkldnn_vanilla_lstm = 0x2fff,
  mkldnn_vanilla_gru = 0x3fff, mkldnn_lbr_gru = 0x4fff
}
 Kinds of algorithms. More...
 
enum  mkldnn_normalization_flags_t { mkldnn_use_global_stats = 0x1U, mkldnn_use_scaleshift = 0x2U, mkldnn_fuse_norm_relu = 0x4U }
 Flags for batch normalization primitive. 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
}
 Winograd-specific formats. More...
 
enum  mkldnn_memory_extra_flags_t { , mkldnn_memory_extra_flag_compensation_conv_s8s8 = 0x1U }
 Flags for memory special features. More...
 
enum  mkldnn_rnn_flags_t
 Flags for RNN cell.
 
enum  mkldnn_rnn_direction_t { mkldnn_unidirectional_left2right, mkldnn_unidirectional_right2left, mkldnn_bidirectional_concat, mkldnn_bidirectional_sum }
 A direction of RNN primitive execution. More...
 
enum  mkldnn_engine_kind_t { mkldnn_any_engine, mkldnn_cpu, mkldnn_gpu }
 Kinds of engines. More...
 
enum  mkldnn_scratchpad_mode_t { mkldnn_scratchpad_mode_library, mkldnn_scratchpad_mode_user }
 Scratchpad mode. 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_scratchpad_engine,
  mkldnn_query_impl_info_str, mkldnn_query_some_d = 64, mkldnn_query_op_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_gemm_d, mkldnn_query_some_md = 128, mkldnn_query_src_md,
  mkldnn_query_diff_src_md, mkldnn_query_weights_md, mkldnn_query_diff_weights_md, mkldnn_query_dst_md,
  mkldnn_query_diff_dst_md, mkldnn_query_workspace_md, mkldnn_query_scratchpad_md
}
 Primitive descriptor query specification. More...
 
enum  mkldnn_stream_flags_t { mkldnn_stream_default_order = 0x1U, mkldnn_stream_in_order = 0x2U, mkldnn_stream_out_of_order = 0x4U, mkldnn_stream_default_flags = mkldnn_stream_default_order }
 Stream flags. More...
 

Detailed Description

C API types definitions.