mxnet
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.

Classes

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
 

Macros

#define DNNL_MAX_NDIMS   12
 
#define DNNL_RUNTIME_DIM_VAL   INT64_MIN
 
#define DNNL_RUNTIME_SIZE_VAL   ((size_t)DNNL_RUNTIME_DIM_VAL)
 
#define DNNL_RUNTIME_F32_VAL   (DNNL_RUNTIME_F32_VAL_REP.f)
 
#define DNNL_RUNTIME_S32_VAL   DNNL_RUNTIME_S32_VAL_REP
 
#define DNNL_RNN_MAX_N_PARTS   4
 
#define DNNL_MEMORY_NONE   (NULL)
 
#define DNNL_MEMORY_ALLOCATE   ((void *)(size_t)-1)
 
#define DNNL_ARG_SRC_0   1
 Source argument #0. More...
 
#define DNNL_ARG_SRC   DNNL_ARG_SRC_0
 
#define DNNL_ARG_SRC_LAYER   DNNL_ARG_SRC_0
 
#define DNNL_ARG_FROM   DNNL_ARG_SRC_0
 
#define DNNL_ARG_SRC_1   2
 Source argument #1. More...
 
#define DNNL_ARG_SRC_ITER   DNNL_ARG_SRC_1
 
#define DNNL_ARG_SRC_2   3
 Source argument #2. More...
 
#define DNNL_ARG_SRC_ITER_C   DNNL_ARG_SRC_2
 
#define DNNL_ARG_DST_0   17
 Destination argument #0. More...
 
#define DNNL_ARG_DST   DNNL_ARG_DST_0
 
#define DNNL_ARG_TO   DNNL_ARG_DST_0
 
#define DNNL_ARG_DST_LAYER   DNNL_ARG_DST_0
 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_ITER   DNNL_ARG_DST_1
 
#define DNNL_ARG_DST_2   19
 Destination argument #2. More...
 
#define DNNL_ARG_DST_ITER_C   DNNL_ARG_DST_2
 
#define DNNL_ARG_WEIGHTS_0   33
 Weights argument #0. More...
 
#define DNNL_ARG_WEIGHTS   DNNL_ARG_WEIGHTS_0
 
#define DNNL_ARG_SCALE_SHIFT   DNNL_ARG_WEIGHTS_0
 
#define DNNL_ARG_WEIGHTS_LAYER   DNNL_ARG_WEIGHTS_0
 
#define DNNL_ARG_WEIGHTS_1   34
 Weights argument #1. More...
 
#define DNNL_ARG_WEIGHTS_ITER   DNNL_ARG_WEIGHTS_1
 
#define DNNL_ARG_WEIGHTS_2   35
 Weights argument #2. More...
 
#define DNNL_ARG_WEIGHTS_PEEPHOLE   DNNL_ARG_WEIGHTS_2
 
#define DNNL_ARG_WEIGHTS_3   36
 Weights argument #3. More...
 
#define DNNL_ARG_WEIGHTS_PROJECTION   DNNL_ARG_WEIGHTS_3
 
#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...
 
#define DNNL_ARG_WORKSPACE   64
 
#define DNNL_ARG_SCRATCHPAD   80
 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   DNNL_ARG_DIFF_SRC_0
 
#define DNNL_ARG_DIFF_SRC_LAYER   DNNL_ARG_DIFF_SRC_0
 
#define DNNL_ARG_DIFF_SRC_1   130
 Gradient (diff) of the source argument #1. More...
 
#define DNNL_ARG_DIFF_SRC_ITER   DNNL_ARG_DIFF_SRC_1
 
#define DNNL_ARG_DIFF_SRC_2   131
 Gradient (diff) of the source argument #2. More...
 
#define DNNL_ARG_DIFF_SRC_ITER_C   DNNL_ARG_DIFF_SRC_2
 
#define DNNL_ARG_DIFF_DST_0   145
 Gradient (diff) of the destination argument #0. More...
 
#define DNNL_ARG_DIFF_DST   DNNL_ARG_DIFF_DST_0
 
#define DNNL_ARG_DIFF_DST_LAYER   DNNL_ARG_DIFF_DST_0
 
#define DNNL_ARG_DIFF_DST_1   146
 Gradient (diff) of the destination argument #1. More...
 
#define DNNL_ARG_DIFF_DST_ITER   DNNL_ARG_DIFF_DST_1
 
#define DNNL_ARG_DIFF_DST_2   147
 Gradient (diff) of the destination argument #2. More...
 
#define DNNL_ARG_DIFF_DST_ITER_C   DNNL_ARG_DIFF_DST_2
 
#define DNNL_ARG_DIFF_WEIGHTS_0   161
 Gradient (diff) of the weights argument #0. More...
 
#define DNNL_ARG_DIFF_WEIGHTS   DNNL_ARG_DIFF_WEIGHTS_0
 
#define DNNL_ARG_DIFF_SCALE_SHIFT   DNNL_ARG_DIFF_WEIGHTS_0
 
#define DNNL_ARG_DIFF_WEIGHTS_LAYER   DNNL_ARG_DIFF_WEIGHTS_0
 
#define DNNL_ARG_DIFF_WEIGHTS_1   162
 Gradient (diff) of the weights argument #1. More...
 
#define DNNL_ARG_DIFF_WEIGHTS_ITER   DNNL_ARG_DIFF_WEIGHTS_1
 
#define DNNL_ARG_DIFF_WEIGHTS_2   163
 Gradient (diff) of the weights argument #2. More...
 
#define DNNL_ARG_DIFF_WEIGHTS_PEEPHOLE   DNNL_ARG_DIFF_WEIGHTS_2
 
#define DNNL_ARG_DIFF_WEIGHTS_3   164
 Gradient (diff) of the weights argument #3. More...
 
#define DNNL_ARG_DIFF_WEIGHTS_PROJECTION   DNNL_ARG_DIFF_WEIGHTS_3
 
#define DNNL_ARG_DIFF_BIAS   169
 Gradient (diff) of the bias tensor argument. More...
 
#define DNNL_ARG_ATTR_OUTPUT_SCALES   513
 Output scaling factors provided at execution time. More...
 
#define DNNL_ARG_MULTIPLE_SRC   1024
 
#define DNNL_ARG_MULTIPLE_DST   2048
 
#define DNNL_ARG_ATTR_ZERO_POINTS   4096
 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...
 
#define DNNL_RUNTIME_THREADPOOL   8u
 Threadpool runtime (CPU only) More...
 
#define DNNL_RUNTIME_OCL   256u
 OpenCL runtime. More...
 
#define DNNL_JIT_PROFILE_NONE   0u
 Disable profiling completely. More...
 
#define DNNL_JIT_PROFILE_VTUNE   1u
 Enable VTune Amplifier integration. More...
 
#define DNNL_JIT_PROFILE_LINUX_PERFMAP   2u
 Enable Linux perf integration via perfmap files. More...
 
#define DNNL_JIT_PROFILE_LINUX_JITDUMP   4u
 Enable Linux perf integration via jitdump files. More...
 
#define DNNL_JIT_PROFILE_LINUX_JITDUMP_USE_TSC   8u
 
#define DNNL_JIT_PROFILE_LINUX_PERF   (DNNL_JIT_PROFILE_LINUX_JITDUMP | DNNL_JIT_PROFILE_LINUX_PERFMAP)
 Enable Linux perf integration (both jitdump and perfmap) More...
 

Typedefs

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...
 

Enumerations

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,
  dnnl_format_kind_rnn_packed
}
 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,
  dnnl_wino_wei_OBaaIBOIio
}
 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