Classes | Macros | Typedefs | Enumerations
dnnl_types.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


struct  dnnl_blocking_desc_t
struct  dnnl_wino_desc_t
 Description of tensor of weights for winograd 2x3 convolution. More...
struct  dnnl_rnn_packed_desc_t
 Description of tensor of packed weights for rnn. More...
struct  dnnl_memory_extra_desc_t
 Description of extra information stored in memory. More...
struct  dnnl_memory_desc_t
struct  dnnl_convolution_desc_t
 A descriptor of a convolution operation. More...
struct  dnnl_shuffle_desc_t
 A descriptor of a shuffle operation. More...
struct  dnnl_eltwise_desc_t
 A descriptor of a element-wise operation. More...
struct  dnnl_softmax_desc_t
 A descriptor of a Softmax operation. More...
struct  dnnl_pooling_desc_t
 A descriptor of a pooling operation. More...
struct  dnnl_lrn_desc_t
 A descriptor of a Local Response Normalization (LRN) operation. More...
struct  dnnl_batch_normalization_desc_t
 A descriptor of a Batch Normalization operation. More...
struct  dnnl_layer_normalization_desc_t
 A descriptor of a Layer Normalization operation. More...
struct  dnnl_inner_product_desc_t
 A descriptor of an inner product operation. More...
struct  dnnl_rnn_desc_t
 A descriptor for an RNN operation. More...
struct  dnnl_binary_desc_t
 A descriptor of a binary operation. More...
struct  dnnl_matmul_desc_t
struct  dnnl_resampling_desc_t
 A descriptor of resampling operation. More...
struct  dnnl_exec_arg_t
struct  dnnl_version_t


#define DNNL_MAX_NDIMS   12
#define DNNL_RNN_MAX_N_PARTS   4
#define DNNL_MEMORY_ALLOCATE   ((void *)(size_t)-1)
#define DNNL_ARG_SRC_0   1
 Source argument #0. More...
#define DNNL_ARG_SRC_1   2
 Source argument #1. More...
#define DNNL_ARG_SRC_2   3
 Source argument #2. More...
#define DNNL_ARG_DST_0   17
 Destination argument #0. More...
 A special mnemonic for RNN output vector. An alias for DNNL_ARG_DST_0. More...
#define DNNL_ARG_DST_1   18
 Destination argument #1. More...
#define DNNL_ARG_DST_2   19
 Destination argument #2. More...
#define DNNL_ARG_WEIGHTS_0   33
 Weights argument #0. More...
#define DNNL_ARG_WEIGHTS_1   34
 Weights argument #1. More...
#define DNNL_ARG_WEIGHTS_2   35
 Weights argument #2. More...
#define DNNL_ARG_WEIGHTS_3   36
 Weights argument #3. More...
#define DNNL_ARG_BIAS   41
 Bias tensor argument. More...
#define DNNL_ARG_MEAN   49
 Mean values tensor argument. More...
#define DNNL_ARG_VARIANCE   50
 Variance values tensor argument. More...
 Scratchpad (temporary storage) tensor argument. More...
#define DNNL_ARG_DIFF_SRC_0   129
 Gradient (diff) of the source argument #0. More...
#define DNNL_ARG_DIFF_SRC_1   130
 Gradient (diff) of the source argument #1. More...
#define DNNL_ARG_DIFF_SRC_2   131
 Gradient (diff) of the source argument #2. More...
#define DNNL_ARG_DIFF_DST_0   145
 Gradient (diff) of the destination argument #0. More...
#define DNNL_ARG_DIFF_DST_1   146
 Gradient (diff) of the destination argument #1. More...
#define DNNL_ARG_DIFF_DST_2   147
 Gradient (diff) of the destination argument #2. More...
#define DNNL_ARG_DIFF_WEIGHTS_0   161
 Gradient (diff) of the weights argument #0. More...
#define DNNL_ARG_DIFF_WEIGHTS_1   162
 Gradient (diff) of the weights argument #1. More...
#define DNNL_ARG_DIFF_WEIGHTS_2   163
 Gradient (diff) of the weights argument #2. More...
#define DNNL_ARG_DIFF_WEIGHTS_3   164
 Gradient (diff) of the weights argument #3. More...
#define DNNL_ARG_DIFF_BIAS   169
 Gradient (diff) of the bias tensor argument. More...
 Output scaling factors provided at execution time. More...
#define DNNL_ARG_MULTIPLE_SRC   1024
#define DNNL_ARG_MULTIPLE_DST   2048
 Zero points provided at execution time. More...
#define DNNL_ARG_ATTR_POST_OP_DW   8192
#define DNNL_RUNTIME_NONE   0u
 No runtime (disabled) More...
#define DNNL_RUNTIME_SEQ   1u
 Sequential runtime (CPU only) More...
#define DNNL_RUNTIME_OMP   2u
 OpenMP runtime (CPU only) More...
#define DNNL_RUNTIME_TBB   4u
 TBB runtime (CPU only) More...
 Threadpool runtime (CPU only) More...
#define DNNL_RUNTIME_OCL   256u
 OpenCL runtime. More...
 Disable profiling completely. More...
 Enable VTune Amplifier integration. More...
 Enable Linux perf integration via perfmap files. More...
 Enable Linux perf integration via jitdump files. More...
 Enable Linux perf integration (both jitdump and perfmap) More...


typedef int64_t dnnl_dim_t
 A type to describe tensor dimension. More...
typedef dnnl_dim_t dnnl_dims_t[DNNL_MAX_NDIMS]
 A type to describe tensor dimensions. More...
typedef struct dnnl_memorydnnl_memory_t
 A memory handle. More...
typedef const struct dnnl_memoryconst_dnnl_memory_t
 A constant memory handle. More...
typedef void * dnnl_op_desc_t
 A pointer to any of the operation descriptors. More...
typedef const void * const_dnnl_op_desc_t
 A pointer to any of the operation descriptors (constant variant). More...
typedef dnnl_convolution_desc_t dnnl_deconvolution_desc_t
 A descriptor of a deconvolution operation. More...
typedef dnnl_softmax_desc_t dnnl_logsoftmax_desc_t
typedef struct dnnl_enginednnl_engine_t
 An engine handle. More...
typedef struct dnnl_primitive_desc_iteratordnnl_primitive_desc_iterator_t
 A primitive descriptor iterator handle. More...
typedef const struct dnnl_primitive_desc_iteratorconst_dnnl_primitive_desc_iterator_t
 A constant primitive descriptor iterator handle. More...
typedef struct dnnl_primitive_descdnnl_primitive_desc_t
 A primitive descriptor handle. More...
typedef const struct dnnl_primitive_descconst_dnnl_primitive_desc_t
 A constant primitive descriptor handle. More...
typedef struct dnnl_primitive_attrdnnl_primitive_attr_t
 A primitive descriptor attributes handle that controls primitive behavior. More...
typedef const struct dnnl_primitive_attrconst_dnnl_primitive_attr_t
 A constant primitive descriptor attributes handle. More...
typedef struct dnnl_post_opsdnnl_post_ops_t
 A post operation chain handle. More...
typedef const struct dnnl_post_opsconst_dnnl_post_ops_t
 A constant post operation chain handle. More...
typedef struct dnnl_primitivednnl_primitive_t
 A primitive handle. More...
typedef const struct dnnl_primitiveconst_dnnl_primitive_t
 A constant primitive handle. More...
typedef struct dnnl_streamdnnl_stream_t
 An execution stream handle. More...
typedef const struct dnnl_streamconst_dnnl_stream_t
 A constant execution stream handle. More...
typedef struct dnnl_stream_attr * dnnl_stream_attr_t
 An execution stream attributes handle. More...
typedef const struct dnnl_stream_attr * const_dnnl_stream_attr_t
 A constant execution stream attributes handle. More...


enum  dnnl_status_t {
  dnnl_success = 0, dnnl_out_of_memory = 1, dnnl_invalid_arguments = 2, dnnl_unimplemented = 3,
  dnnl_iterator_ends = 4, dnnl_runtime_error = 5, dnnl_not_required = 6
 Status values returned by the library functions. More...
enum  dnnl_data_type_t {
  dnnl_data_type_undef = 0, dnnl_f16 = 1, dnnl_bf16 = 2, dnnl_f32 = 3,
  dnnl_s32 = 4, dnnl_s8 = 5, dnnl_u8 = 6
 Data type specification. More...
enum  dnnl_format_kind_t {
  dnnl_format_kind_undef = 0, dnnl_format_kind_any, dnnl_blocked, dnnl_format_kind_wino,
 Memory format kind. More...
enum  dnnl_format_tag_t {
  dnnl_format_tag_undef = 0, dnnl_format_tag_any, dnnl_a, dnnl_ab,
  dnnl_abc, dnnl_abcd, dnnl_abcde, dnnl_abcdef,
  dnnl_abdc, dnnl_abdec, dnnl_acb, dnnl_acbde,
  dnnl_acbdef, dnnl_acdb, dnnl_acdeb, dnnl_ba,
  dnnl_bac, dnnl_bacd, dnnl_bacde, dnnl_bca,
  dnnl_bcda, dnnl_bcdea, dnnl_cba, dnnl_cdba,
  dnnl_dcab, dnnl_cdeba, dnnl_decab, dnnl_defcab,
  dnnl_Abc16a, dnnl_ABc16a16b, dnnl_ABc32a32b, dnnl_ABc4a4b,
  dnnl_aBc16b, dnnl_ABc16b16a, dnnl_Abc4a, dnnl_aBc32b,
  dnnl_aBc4b, dnnl_ABc4b16a4b, dnnl_ABc2b8a4b, dnnl_ABc16b16a4b,
  dnnl_ABc16b16a2b, dnnl_ABc4b4a, dnnl_ABc8a16b2a, dnnl_ABc8a8b,
  dnnl_ABc8a4b, dnnl_aBc8b, dnnl_ABc8b16a2b, dnnl_BAc8a16b2a,
  dnnl_ABc8b8a, dnnl_Abcd16a, dnnl_Abcd8a, dnnl_ABcd16a16b,
  dnnl_Abcd32a, dnnl_ABcd32a32b, dnnl_aBcd16b, dnnl_ABcd16b16a,
  dnnl_aBCd16b16c, dnnl_aBCd16c16b, dnnl_Abcd4a, dnnl_aBcd32b,
  dnnl_aBcd4b, dnnl_ABcd4b16a4b, dnnl_ABcd16b16a4b, dnnl_ABcd16b16a2b,
  dnnl_ABcd4b4a, dnnl_ABcd4a4b, dnnl_aBCd2c4b2c, dnnl_aBCd4b8c2b,
  dnnl_aBCd4c16b4c, dnnl_aBCd2c8b4c, dnnl_aBCd16c16b4c, dnnl_aBCd16c16b2c,
  dnnl_aBCd4c4b, dnnl_aBCd4b4c, dnnl_ABcd8a16b2a, dnnl_ABcd2b8a4b,
  dnnl_ABcd8a8b, dnnl_ABcd8a4b, dnnl_aBcd8b, dnnl_aBCd4c8b2c,
  dnnl_ABcd8b16a2b, dnnl_aBCd8b16c2b, dnnl_BAcd8a16b2a, dnnl_ABcd8b8a,
  dnnl_aBCd8b8c, dnnl_aBCd8b4c, dnnl_aBCd8c16b2c, dnnl_ABcde8a16b2a,
  dnnl_aCBd8b16c2b, dnnl_aBCd8c8b, dnnl_Abcde16a, dnnl_Abcde32a,
  dnnl_ABcde16a16b, dnnl_BAcde8a16b2a, dnnl_aBCd2b4c2b, dnnl_ABcde4b16a4b,
  dnnl_ABcde2b8a4b, dnnl_aBcde16b, dnnl_ABcde16b16a, dnnl_aBCde16b16c,
  dnnl_aBCde16c16b, dnnl_aBCde2c8b4c, dnnl_Abcde4a, dnnl_aBcde32b,
  dnnl_aBcde4b, dnnl_ABcde4b4a, dnnl_ABcde4a4b, dnnl_aBCde4b4c,
  dnnl_aBCde2c4b2c, dnnl_aBCde4b8c2b, dnnl_aBCde4c16b4c, dnnl_aBCde16c16b4c,
  dnnl_aBCde16c16b2c, dnnl_aBCde4c4b, dnnl_Abcde8a, dnnl_ABcde8a8b,
  dnnl_ABcde8a4b, dnnl_BAcde16b16a, dnnl_aBcde8b, dnnl_ABcde8b16a2b,
  dnnl_aBCde8b16c2b, dnnl_aBCde4c8b2c, dnnl_aCBde8b16c2b, dnnl_ABcde8b8a,
  dnnl_ABcde32a32b, dnnl_aBCde8b8c, dnnl_aBCde8b4c, dnnl_ABc4a8b8a4b,
  dnnl_ABcd4a8b8a4b, dnnl_ABcde4a8b8a4b, dnnl_BAc4b8a8b4a, dnnl_BAcd4b8a8b4a,
  dnnl_BAcde4b8a8b4a, dnnl_ABcd2a8b8a2b, dnnl_aBCd4b8c8b4c, dnnl_aBCde4b8c8b4c,
  dnnl_aBCde2b8c8b2c, dnnl_aBCde8c16b2c, dnnl_aBCde8c8b, dnnl_aBCde2b4c2b,
  dnnl_aBcdef16b, dnnl_aBCdef16b16c, dnnl_aBCdef16c16b, dnnl_aBCdef4c16b4c,
  dnnl_aBCdef2c8b4c, dnnl_aBCdef4c8b2c, dnnl_aBCdef2b4c2b, dnnl_aBcdef4b,
  dnnl_aBCdef4c4b, dnnl_aBCdef4b4c, dnnl_aBCdef2c4b2c, dnnl_aBCdef4b8c2b,
  dnnl_aBCdef8b8c, dnnl_aBCdef8b4c, dnnl_aBCdef8c16b2c, dnnl_aBCdef4b8c8b4c,
  dnnl_aBCdef8b16c2b, dnnl_aCBdef8b16c2b, dnnl_aBCdef8c8b, dnnl_aBdc16b,
  dnnl_aBdC16b2c, dnnl_aBdC16b4c, dnnl_aBdc4b, dnnl_aBdc8b,
  dnnl_aBdec16b, dnnl_aBdeC16b2c, dnnl_aBdeC16b4c, dnnl_aBdec32b,
  dnnl_aBdec4b, dnnl_aBdec8b, dnnl_aBdefc16b, dnnl_aBdefC16b2c,
  dnnl_aCBdef16c16b, dnnl_aBdefc4b, dnnl_aBdefc8b, dnnl_Abcdef16a,
  dnnl_Abcdef32a, dnnl_Acb16a, dnnl_AcB16a2b, dnnl_AcB16a4b,
  dnnl_Acb4a, dnnl_Acb8a, dnnl_aCBd16b16c, dnnl_aCBd16c16b,
  dnnl_aCBde16b16c, dnnl_aCBde16c16b, dnnl_Acdb16a, dnnl_AcdB16a2b,
  dnnl_AcdB16a4b, dnnl_Acdb32a, dnnl_Acdb4a, dnnl_Acdb8a,
  dnnl_Acdeb16a, dnnl_AcdeB16a2b, dnnl_Acdeb4a, dnnl_Acdeb8a,
  dnnl_BAc16a16b, dnnl_BAc16b16a, dnnl_BAcd16a16b, dnnl_BAcd16b16a,
  dnnl_aCBd4c8b8c4b, dnnl_aCBde4c8b8c4b, dnnl_aCBdef4c8b8c4b, dnnl_BAcde16a16b,
  dnnl_aCBdef16b16c, dnnl_format_tag_last, dnnl_x = dnnl_a, dnnl_nc = dnnl_ab,
  dnnl_cn = dnnl_ba, dnnl_tn = dnnl_ab, dnnl_nt = dnnl_ba, dnnl_ncw = dnnl_abc,
  dnnl_nwc = dnnl_acb, dnnl_nchw = dnnl_abcd, dnnl_nhwc = dnnl_acdb, dnnl_chwn = dnnl_bcda,
  dnnl_ncdhw = dnnl_abcde, dnnl_ndhwc = dnnl_acdeb, dnnl_oi = dnnl_ab, dnnl_io = dnnl_ba,
  dnnl_oiw = dnnl_abc, dnnl_owi = dnnl_acb, dnnl_wio = dnnl_cba, dnnl_iwo = dnnl_bca,
  dnnl_oihw = dnnl_abcd, dnnl_hwio = dnnl_cdba, dnnl_ohwi = dnnl_acdb, dnnl_ihwo = dnnl_bcda,
  dnnl_iohw = dnnl_bacd, dnnl_oidhw = dnnl_abcde, dnnl_iodhw = dnnl_bacde, dnnl_dhwio = dnnl_cdeba,
  dnnl_odhwi = dnnl_acdeb, dnnl_idhwo = dnnl_bcdea, dnnl_goiw = dnnl_abcd, dnnl_wigo = dnnl_dcab,
  dnnl_goihw = dnnl_abcde, dnnl_hwigo = dnnl_decab, dnnl_giohw = dnnl_acbde, dnnl_goidhw = dnnl_abcdef,
  dnnl_giodhw = dnnl_acbdef, dnnl_dhwigo = dnnl_defcab, dnnl_tnc = dnnl_abc, dnnl_ntc = dnnl_bac,
  dnnl_ldnc = dnnl_abcd, dnnl_ldigo = dnnl_abcde, dnnl_ldgoi = dnnl_abdec, dnnl_ldio = dnnl_abcd,
  dnnl_ldoi = dnnl_abdc, dnnl_ldgo = dnnl_abcd, dnnl_nCdhw32c = dnnl_aBcde32b, dnnl_nCdhw16c = dnnl_aBcde16b,
  dnnl_nCdhw4c = dnnl_aBcde4b, dnnl_nCdhw8c = dnnl_aBcde8b, dnnl_nChw32c = dnnl_aBcd32b, dnnl_nChw16c = dnnl_aBcd16b,
  dnnl_nChw4c = dnnl_aBcd4b, dnnl_nChw8c = dnnl_aBcd8b, dnnl_nCw32c = dnnl_aBc32b, dnnl_nCw16c = dnnl_aBc16b,
  dnnl_nCw4c = dnnl_aBc4b, dnnl_nCw8c = dnnl_aBc8b, dnnl_NCw16n16c = dnnl_ABc16a16b, dnnl_NCdhw16n16c = dnnl_ABcde16a16b,
  dnnl_NChw16n16c = dnnl_ABcd16a16b, dnnl_NCw32n32c = dnnl_ABc32a32b, dnnl_NChw32n32c = dnnl_ABcd32a32b, dnnl_NCdhw32n32c = dnnl_ABcde32a32b,
  dnnl_IOw16o16i = dnnl_BAc16a16b, dnnl_IOw16i16o = dnnl_BAc16b16a, dnnl_OIw16i16o = dnnl_ABc16b16a, dnnl_OIw16o16i = dnnl_ABc16a16b,
  dnnl_Oiw16o = dnnl_Abc16a, dnnl_OIw4i16o4i = dnnl_ABc4b16a4b, dnnl_OIw2i8o4i = dnnl_ABc2b8a4b, dnnl_OIw16i16o4i = dnnl_ABc16b16a4b,
  dnnl_OIw16i16o2i = dnnl_ABc16b16a2b, dnnl_OIw4i4o = dnnl_ABc4b4a, dnnl_OIw4o4i = dnnl_ABc4a4b, dnnl_Oiw4o = dnnl_Abc4a,
  dnnl_OIw8i16o2i = dnnl_ABc8b16a2b, dnnl_OIw8i8o = dnnl_ABc8b8a, dnnl_OIw8o16i2o = dnnl_ABc8a16b2a, dnnl_IOw8o16i2o = dnnl_BAc8a16b2a,
  dnnl_OIw8o8i = dnnl_ABc8a8b, dnnl_OIw8o4i = dnnl_ABc8a4b, dnnl_Owi16o = dnnl_Acb16a, dnnl_OwI16o2i = dnnl_AcB16a2b,
  dnnl_OwI16o4i = dnnl_AcB16a4b, dnnl_Owi4o = dnnl_Acb4a, dnnl_Owi8o = dnnl_Acb8a, dnnl_IOhw16i16o = dnnl_BAcd16b16a,
  dnnl_IOhw16o16i = dnnl_BAcd16a16b, dnnl_Ohwi16o = dnnl_Acdb16a, dnnl_OhwI16o2i = dnnl_AcdB16a2b, dnnl_OhwI16o4i = dnnl_AcdB16a4b,
  dnnl_Ohwi32o = dnnl_Acdb32a, dnnl_Ohwi4o = dnnl_Acdb4a, dnnl_Ohwi8o = dnnl_Acdb8a, dnnl_OIhw16i16o = dnnl_ABcd16b16a,
  dnnl_OIhw16o16i = dnnl_ABcd16a16b, dnnl_Oihw16o = dnnl_Abcd16a, dnnl_OIhw4i16o4i = dnnl_ABcd4b16a4b, dnnl_OIhw16i16o4i = dnnl_ABcd16b16a4b,
  dnnl_OIhw16i16o2i = dnnl_ABcd16b16a2b, dnnl_OIhw4i4o = dnnl_ABcd4b4a, dnnl_OIhw4o4i = dnnl_ABcd4a4b, dnnl_Oihw4o = dnnl_Abcd4a,
  dnnl_OIhw8i16o2i = dnnl_ABcd8b16a2b, dnnl_OIhw8i8o = dnnl_ABcd8b8a, dnnl_OIhw8o16i2o = dnnl_ABcd8a16b2a, dnnl_OIhw2i8o4i = dnnl_ABcd2b8a4b,
  dnnl_IOhw8o16i2o = dnnl_BAcd8a16b2a, dnnl_OIhw8o8i = dnnl_ABcd8a8b, dnnl_OIhw8o4i = dnnl_ABcd8a4b, dnnl_Odhwi16o = dnnl_Acdeb16a,
  dnnl_OdhwI16o2i = dnnl_AcdeB16a2b, dnnl_Odhwi4o = dnnl_Acdeb4a, dnnl_Odhwi8o = dnnl_Acdeb8a, dnnl_OIdhw16i16o = dnnl_ABcde16b16a,
  dnnl_OIdhw16o16i = dnnl_ABcde16a16b, dnnl_Oidhw16o = dnnl_Abcde16a, dnnl_OIdhw4i4o = dnnl_ABcde4b4a, dnnl_OIdhw4o4i = dnnl_ABcde4a4b,
  dnnl_Oidhw4o = dnnl_Abcde4a, dnnl_OIdhw8i16o2i = dnnl_ABcde8b16a2b, dnnl_OIdhw8i8o = dnnl_ABcde8b8a, dnnl_OIdhw8o16i2o = dnnl_ABcde8a16b2a,
  dnnl_IOdhw8o16i2o = dnnl_BAcde8a16b2a, dnnl_OIdhw4i16o4i = dnnl_ABcde4b16a4b, dnnl_OIdhw2i8o4i = dnnl_ABcde2b8a4b, dnnl_OIdhw8o8i = dnnl_ABcde8a8b,
  dnnl_OIdhw8o4i = dnnl_ABcde8a4b, dnnl_IOdhw16i16o = dnnl_BAcde16b16a, dnnl_OIdhw4o8i8o4i = dnnl_ABcde4a8b8a4b, dnnl_IOdhw16o16i = dnnl_BAcde16a16b,
  dnnl_Goiw16g = dnnl_Abcd16a, dnnl_Goiw8g = dnnl_Abcd8a, dnnl_gIOw16o16i = dnnl_aCBd16b16c, dnnl_gIOw16i16o = dnnl_aCBd16c16b,
  dnnl_gOIw16i16o = dnnl_aBCd16c16b, dnnl_gOIw16o16i = dnnl_aBCd16b16c, dnnl_gOiw16o = dnnl_aBcd16b, dnnl_gOIw4i16o4i = dnnl_aBCd4c16b4c,
  dnnl_gOIw2i8o4i = dnnl_aBCd2c8b4c, dnnl_gOIw16i16o4i = dnnl_aBCd16c16b4c, dnnl_gOIw16i16o2i = dnnl_aBCd16c16b2c, dnnl_gOIw4i4o = dnnl_aBCd4c4b,
  dnnl_gOIw4o4i = dnnl_aBCd4b4c, dnnl_gOiw4o = dnnl_aBcd4b, dnnl_gOIw8i16o2i = dnnl_aBCd8c16b2c, dnnl_gOIw8i8o = dnnl_aBCd8c8b,
  dnnl_gOIw8o16i2o = dnnl_aBCd8b16c2b, dnnl_gIOw8o16i2o = dnnl_aCBd8b16c2b, dnnl_gOIw8o8i = dnnl_aBCd8b8c, dnnl_gOIw8o4i = dnnl_aBCd8b4c,
  dnnl_gOwi16o = dnnl_aBdc16b, dnnl_gOwI16o2i = dnnl_aBdC16b2c, dnnl_gOwI16o4i = dnnl_aBdC16b4c, dnnl_gOwi4o = dnnl_aBdc4b,
  dnnl_gOwi8o = dnnl_aBdc8b, dnnl_Goiw32g = dnnl_Abcd32a, dnnl_gOIw2i4o2i = dnnl_aBCd2c4b2c, dnnl_gOIw2o4i2o = dnnl_aBCd2b4c2b,
  dnnl_gOIw4i8o2i = dnnl_aBCd4c8b2c, dnnl_gOIw4o8i2o = dnnl_aBCd4b8c2b, dnnl_gIOhw16i16o = dnnl_aCBde16c16b, dnnl_gIOhw16o16i = dnnl_aCBde16b16c,
  dnnl_gOhwi16o = dnnl_aBdec16b, dnnl_gOhwI16o2i = dnnl_aBdeC16b2c, dnnl_gOhwI16o4i = dnnl_aBdeC16b4c, dnnl_gOhwi32o = dnnl_aBdec32b,
  dnnl_gOhwi4o = dnnl_aBdec4b, dnnl_gOhwi8o = dnnl_aBdec8b, dnnl_Goihw16g = dnnl_Abcde16a, dnnl_gOIhw16i16o = dnnl_aBCde16c16b,
  dnnl_gOIhw16o16i = dnnl_aBCde16b16c, dnnl_gOihw16o = dnnl_aBcde16b, dnnl_gOIhw2i8o4i = dnnl_aBCde2c8b4c, dnnl_gOIhw4i16o4i = dnnl_aBCde4c16b4c,
  dnnl_gOIhw16i16o4i = dnnl_aBCde16c16b4c, dnnl_gOIhw16i16o2i = dnnl_aBCde16c16b2c, dnnl_gOIhw4i4o = dnnl_aBCde4c4b, dnnl_gOIhw4o4i = dnnl_aBCde4b4c,
  dnnl_gOihw4o = dnnl_aBcde4b, dnnl_Goihw8g = dnnl_Abcde8a, dnnl_gOIhw8i16o2i = dnnl_aBCde8c16b2c, dnnl_gOIhw8i8o = dnnl_aBCde8c8b,
  dnnl_gOIhw8o16i2o = dnnl_aBCde8b16c2b, dnnl_gIOhw8o16i2o = dnnl_aCBde8b16c2b, dnnl_gOIhw8o8i = dnnl_aBCde8b8c, dnnl_gOIhw8o4i = dnnl_aBCde8b4c,
  dnnl_Goihw32g = dnnl_Abcde32a, dnnl_OIw4o8i8o4i = dnnl_ABc4a8b8a4b, dnnl_OIhw4o8i8o4i = dnnl_ABcd4a8b8a4b, dnnl_IOw4i8o8i4o = dnnl_BAc4b8a8b4a,
  dnnl_IOhw4i8o8i4o = dnnl_BAcd4b8a8b4a, dnnl_IOdhw4i8o8i4o = dnnl_BAcde4b8a8b4a, dnnl_OIhw2o8i8o2i = dnnl_ABcd2a8b8a2b, dnnl_gOIw4o8i8o4i = dnnl_aBCd4b8c8b4c,
  dnnl_gOIhw4o8i8o4i = dnnl_aBCde4b8c8b4c, dnnl_gOIdhw4o8i8o4i = dnnl_aBCdef4b8c8b4c, dnnl_gIOw4i8o8i4o = dnnl_aCBd4c8b8c4b, dnnl_gIOhw4i8o8i4o = dnnl_aCBde4c8b8c4b,
  dnnl_gIOdhw4i8o8i4o = dnnl_aCBdef4c8b8c4b, dnnl_gOIhw2o8i8o2i = dnnl_aBCde2b8c8b2c, dnnl_gOIhw2i4o2i = dnnl_aBCde2c4b2c, dnnl_gOIhw2o4i2o = dnnl_aBCde2b4c2b,
  dnnl_gOIhw4i8o2i = dnnl_aBCde4c8b2c, dnnl_gOIhw4o8i2o = dnnl_aBCde4b8c2b, dnnl_gIOdhw16i16o = dnnl_aCBdef16c16b, dnnl_gIOdhw16o16i = dnnl_aCBdef16b16c,
  dnnl_gOdhwi16o = dnnl_aBdefc16b, dnnl_gOdhwI16o2i = dnnl_aBdefC16b2c, dnnl_gOdhwi4o = dnnl_aBdefc4b, dnnl_gOdhwi8o = dnnl_aBdefc8b,
  dnnl_gOIdhw16i16o = dnnl_aBCdef16c16b, dnnl_gOIdhw4i16o4i = dnnl_aBCdef4c16b4c, dnnl_gOIdhw2i8o4i = dnnl_aBCdef2c8b4c, dnnl_gOIdhw16o16i = dnnl_aBCdef16b16c,
  dnnl_gOidhw16o = dnnl_aBcdef16b, dnnl_gOIdhw4i4o = dnnl_aBCdef4c4b, dnnl_gOIdhw4o4i = dnnl_aBCdef4b4c, dnnl_gOidhw4o = dnnl_aBcdef4b,
  dnnl_gOIdhw8i16o2i = dnnl_aBCdef8c16b2c, dnnl_gOIdhw8i8o = dnnl_aBCdef8c8b, dnnl_gOIdhw8o16i2o = dnnl_aBCdef8b16c2b, dnnl_gIOdhw8o16i2o = dnnl_aCBdef8b16c2b,
  dnnl_gOIdhw8o8i = dnnl_aBCdef8b8c, dnnl_gOIdhw8o4i = dnnl_aBCdef8b4c, dnnl_Goidhw16g = dnnl_Abcdef16a, dnnl_Goidhw32g = dnnl_Abcdef32a,
  dnnl_gOIdhw2i4o2i = dnnl_aBCdef2c4b2c, dnnl_gOIdhw4i8o2i = dnnl_aBCdef4c8b2c, dnnl_gOIdhw2o4i2o = dnnl_aBCdef2b4c2b, dnnl_gOIdhw4o8i2o = dnnl_aBCdef4b8c2b
enum  dnnl_prop_kind_t {
  dnnl_prop_kind_undef = 0, dnnl_forward_training = 64, dnnl_forward_inference = 96, dnnl_forward_scoring = dnnl_forward_inference,
  dnnl_forward = dnnl_forward_training, dnnl_backward = 128, dnnl_backward_data = 160, dnnl_backward_weights = 192,
  dnnl_backward_bias = 193
 Kinds of propagation. More...
enum  dnnl_primitive_kind_t {
  dnnl_undefined_primitive, dnnl_reorder, dnnl_shuffle, dnnl_concat,
  dnnl_sum, dnnl_convolution, dnnl_deconvolution, dnnl_eltwise,
  dnnl_softmax, dnnl_pooling, dnnl_lrn, dnnl_batch_normalization,
  dnnl_layer_normalization, dnnl_inner_product, dnnl_rnn, dnnl_gemm,
  dnnl_binary, dnnl_logsoftmax, dnnl_matmul, dnnl_resampling,
  dnnl_primitive_kind_max = 0x7fff
enum  dnnl_alg_kind_t {
  dnnl_alg_kind_undef, dnnl_convolution_direct = 0x1, dnnl_convolution_winograd = 0x2, dnnl_convolution_auto = 0x3,
  dnnl_deconvolution_direct = 0xa, dnnl_deconvolution_winograd = 0xb, dnnl_eltwise_relu = 0x1f, dnnl_eltwise_tanh = 0x2f,
  dnnl_eltwise_elu = 0x3f, dnnl_eltwise_square = 0x4f, dnnl_eltwise_abs = 0x5f, dnnl_eltwise_sqrt = 0x6f,
  dnnl_eltwise_linear = 0x7f, dnnl_eltwise_bounded_relu = 0x8f, dnnl_eltwise_soft_relu = 0x9f, dnnl_eltwise_logistic = 0xaf,
  dnnl_eltwise_exp = 0xbf, dnnl_eltwise_gelu_tanh = 0xcf, dnnl_eltwise_gelu = dnnl_eltwise_gelu_tanh, dnnl_eltwise_swish = 0xdf,
  dnnl_eltwise_log = 0xef, dnnl_eltwise_clip = 0xff, dnnl_eltwise_pow = 0x20, dnnl_eltwise_gelu_erf = 0x30,
  dnnl_eltwise_round = 0x40, dnnl_eltwise_relu_use_dst_for_bwd = 0x100, dnnl_eltwise_tanh_use_dst_for_bwd = 0x101, dnnl_eltwise_elu_use_dst_for_bwd = 0x102,
  dnnl_eltwise_sqrt_use_dst_for_bwd = 0x103, dnnl_eltwise_logistic_use_dst_for_bwd = 0x104, dnnl_eltwise_exp_use_dst_for_bwd = 0x105, dnnl_pooling_max = 0x1ff,
  dnnl_pooling_avg_include_padding = 0x2ff, dnnl_pooling_avg_exclude_padding = 0x3ff, dnnl_pooling_avg = dnnl_pooling_avg_exclude_padding, dnnl_lrn_across_channels = 0xaff,
  dnnl_lrn_within_channel = 0xbff, dnnl_vanilla_rnn = 0x1fff, dnnl_vanilla_lstm = 0x2fff, dnnl_vanilla_gru = 0x3fff,
  dnnl_lbr_gru = 0x4fff, dnnl_binary_add = 0x1fff0, dnnl_binary_mul = 0x1fff1, dnnl_binary_max = 0x1fff2,
  dnnl_binary_min = 0x1fff3, dnnl_resampling_nearest = 0x2fff0, dnnl_resampling_linear = 0x2fff1
 Kinds of algorithms. More...
enum  dnnl_normalization_flags_t { dnnl_normalization_flags_none = 0x0U, dnnl_use_global_stats = 0x1U, dnnl_use_scaleshift = 0x2U, dnnl_fuse_norm_relu = 0x4U }
 Flags for normalization primitives. More...
enum  dnnl_wino_memory_format_t {
  dnnl_wino_undef = 0, dnnl_wino_wei_aaOIoi, dnnl_wino_wei_aaOio, dnnl_wino_wei_aaOBiOo,
 Winograd-specific formats. More...
enum  dnnl_rnn_packed_memory_format_t { dnnl_packed_format_undef = 0, dnnl_ldigo_p, dnnl_ldgoi_p }
enum  dnnl_memory_extra_flags_t { dnnl_memory_extra_flag_none = 0x0U, dnnl_memory_extra_flag_compensation_conv_s8s8 = 0x1U, dnnl_memory_extra_flag_scale_adjust = 0x2U, dnnl_memory_extra_flag_gpu_rnn_u8s8_compensation = 0x4U }
 Flags for memory special features. More...
enum  dnnl_rnn_flags_t { dnnl_rnn_flags_undef = 0x0 }
 Flags for RNN cell. More...
enum  dnnl_rnn_direction_t {
  dnnl_unidirectional_left2right, dnnl_unidirectional_right2left, dnnl_bidirectional_concat, dnnl_bidirectional_sum,
  dnnl_unidirectional = dnnl_unidirectional_left2right
 A direction of RNN primitive execution. More...
enum  dnnl_engine_kind_t { dnnl_any_engine, dnnl_cpu, dnnl_gpu }
 Kinds of engines. More...
enum  dnnl_scratchpad_mode_t { dnnl_scratchpad_mode_library, dnnl_scratchpad_mode_user }
 Scratchpad mode. More...
enum  dnnl_query_t {
  dnnl_query_undef = 0, dnnl_query_engine, dnnl_query_primitive_kind, dnnl_query_num_of_inputs_s32,
  dnnl_query_num_of_outputs_s32, dnnl_query_time_estimate_f64, dnnl_query_memory_consumption_s64, dnnl_query_scratchpad_engine,
  dnnl_query_impl_info_str, dnnl_query_reorder_src_engine, dnnl_query_reorder_dst_engine, dnnl_query_prop_kind,
  dnnl_query_some_d = 64, dnnl_query_op_d, dnnl_query_convolution_d, dnnl_query_deconvolution_d,
  dnnl_query_shuffle_d, dnnl_query_eltwise_d, dnnl_query_softmax_d, dnnl_query_pooling_d,
  dnnl_query_lrn_d, dnnl_query_batch_normalization_d, dnnl_query_layer_normalization_d, dnnl_query_inner_product_d,
  dnnl_query_rnn_d, dnnl_query_gemm_d, dnnl_query_binary_d, dnnl_query_logsoftmax_d,
  dnnl_query_matmul_d, dnnl_query_resampling_d, dnnl_query_some_md = 128, dnnl_query_src_md,
  dnnl_query_diff_src_md, dnnl_query_weights_md, dnnl_query_diff_weights_md, dnnl_query_dst_md,
  dnnl_query_diff_dst_md, dnnl_query_workspace_md, dnnl_query_scratchpad_md, dnnl_query_exec_arg_md = 255,
  dnnl_query_max = 0x7fff
enum  dnnl_stream_flags_t { dnnl_stream_default_order = 0x1U, dnnl_stream_in_order = 0x2U, dnnl_stream_out_of_order = 0x4U, dnnl_stream_default_flags = dnnl_stream_default_order }
 Stream flags. More...
enum  dnnl_cpu_isa_t {
  dnnl_cpu_isa_all = 0x0, dnnl_cpu_isa_sse41 = 0x1, dnnl_cpu_isa_avx = 0x3, dnnl_cpu_isa_avx2 = 0x7,
  dnnl_cpu_isa_avx512_mic = 0xf, dnnl_cpu_isa_avx512_mic_4ops = 0x1f, dnnl_cpu_isa_avx512_core = 0x27, dnnl_cpu_isa_avx512_core_vnni = 0x67,
  dnnl_cpu_isa_avx512_core_bf16 = 0xe7, dnnl_cpu_isa_avx512_core_amx = 0x3e7
 CPU instruction set flags. More...

Detailed Description

C API types definitions