513 dnnl_NCw16n16c = dnnl_ABc16a16b,
514 dnnl_NCdhw16n16c = dnnl_ABcde16a16b,
515 dnnl_NChw16n16c = dnnl_ABcd16a16b,
516 dnnl_NChw32n32c = dnnl_ABcd32a32b,
519 dnnl_IOw16o16i = dnnl_BAc16a16b,
520 dnnl_IOw16i16o = dnnl_BAc16b16a,
521 dnnl_OIw16i16o = dnnl_ABc16b16a,
522 dnnl_OIw16o16i = dnnl_ABc16a16b,
523 dnnl_Oiw16o = dnnl_Abc16a,
524 dnnl_OIw4i16o4i = dnnl_ABc4b16a4b,
525 dnnl_OIw2i8o4i = dnnl_ABc2b8a4b,
526 dnnl_OIw4i4o = dnnl_ABc4b4a,
527 dnnl_OIw4o4i = dnnl_ABc4a4b,
528 dnnl_Oiw4o = dnnl_Abc4a,
529 dnnl_OIw8i16o2i = dnnl_ABc8b16a2b,
530 dnnl_OIw8i8o = dnnl_ABc8b8a,
531 dnnl_OIw8o16i2o = dnnl_ABc8a16b2a,
532 dnnl_IOw8o16i2o = dnnl_BAc8a16b2a,
533 dnnl_OIw8o8i = dnnl_ABc8a8b,
534 dnnl_Owi16o = dnnl_Acb16a,
535 dnnl_OwI16o2i = dnnl_AcB16a2b,
536 dnnl_Owi4o = dnnl_Acb4a,
537 dnnl_Owi8o = dnnl_Acb8a,
540 dnnl_IOhw16i16o = dnnl_BAcd16b16a,
541 dnnl_IOhw16o16i = dnnl_BAcd16a16b,
542 dnnl_Ohwi16o = dnnl_Acdb16a,
543 dnnl_OhwI16o2i = dnnl_AcdB16a2b,
544 dnnl_Ohwi32o = dnnl_Acdb32a,
545 dnnl_Ohwi4o = dnnl_Acdb4a,
546 dnnl_Ohwi8o = dnnl_Acdb8a,
547 dnnl_OIhw16i16o = dnnl_ABcd16b16a,
548 dnnl_OIhw16o16i = dnnl_ABcd16a16b,
549 dnnl_Oihw16o = dnnl_Abcd16a,
550 dnnl_OIhw4i16o4i = dnnl_ABcd4b16a4b,
551 dnnl_OIhw4i4o = dnnl_ABcd4b4a,
552 dnnl_OIhw4o4i = dnnl_ABcd4a4b,
553 dnnl_Oihw4o = dnnl_Abcd4a,
554 dnnl_OIhw8i16o2i = dnnl_ABcd8b16a2b,
556 dnnl_OIhw8o16i2o = dnnl_ABcd8a16b2a,
557 dnnl_OIhw2i8o4i = dnnl_ABcd2b8a4b,
558 dnnl_IOhw8o16i2o = dnnl_BAcd8a16b2a,
559 dnnl_OIhw8o8i = dnnl_ABcd8a8b,
562 dnnl_Odhwi16o = dnnl_Acdeb16a,
563 dnnl_OdhwI16o2i = dnnl_AcdeB16a2b,
564 dnnl_Odhwi4o = dnnl_Acdeb4a,
565 dnnl_Odhwi8o = dnnl_Acdeb8a,
566 dnnl_OIdhw16i16o = dnnl_ABcde16b16a,
567 dnnl_OIdhw16o16i = dnnl_ABcde16a16b,
568 dnnl_Oidhw16o = dnnl_Abcde16a,
569 dnnl_OIdhw4i4o = dnnl_ABcde4b4a,
570 dnnl_OIdhw4o4i = dnnl_ABcde4a4b,
571 dnnl_Oidhw4o = dnnl_Abcde4a,
572 dnnl_OIdhw8i16o2i = dnnl_ABcde8b16a2b,
573 dnnl_OIdhw8i8o = dnnl_ABcde8b8a,
574 dnnl_OIdhw8o16i2o = dnnl_ABcde8a16b2a,
575 dnnl_IOdhw8o16i2o = dnnl_BAcde8a16b2a,
578 dnnl_OIdhw8o8i = dnnl_ABcde8a8b,
579 dnnl_IOdhw16i16o = dnnl_BAcde16b16a,
580 dnnl_IOdhw16o16i = dnnl_BAcde16a16b,
583 dnnl_Goiw16g = dnnl_Abcd16a,
584 dnnl_Goiw8g = dnnl_Abcd8a,
585 dnnl_gIOw16o16i = dnnl_aCBd16b16c,
586 dnnl_gIOw16i16o = dnnl_aCBd16c16b,
587 dnnl_gOIw16i16o = dnnl_aBCd16c16b,
588 dnnl_gOIw16o16i = dnnl_aBCd16b16c,
590 dnnl_gOIw4i16o4i = dnnl_aBCd4c16b4c,
591 dnnl_gOIw2i8o4i = dnnl_aBCd2c8b4c,
592 dnnl_gOIw4i4o = dnnl_aBCd4c4b,
593 dnnl_gOIw4o4i = dnnl_aBCd4b4c,
595 dnnl_gOIw8i16o2i = dnnl_aBCd8c16b2c,
596 dnnl_gOIw8i8o = dnnl_aBCd8c8b,
597 dnnl_gOIw8o16i2o = dnnl_aBCd8b16c2b,
598 dnnl_gIOw8o16i2o = dnnl_aCBd8b16c2b,
599 dnnl_gOIw8o8i = dnnl_aBCd8b8c,
600 dnnl_gOwi16o = dnnl_aBdc16b,
601 dnnl_gOwI16o2i = dnnl_aBdC16b2c,
602 dnnl_gOwi4o = dnnl_aBdc4b,
603 dnnl_gOwi8o = dnnl_aBdc8b,
604 dnnl_gOIw2i4o2i = dnnl_aBCd2c4b2c,
606 dnnl_gOIw4i8o2i = dnnl_aBCd4c8b2c,
607 dnnl_gOIw4o8i2o = dnnl_aBCd4b8c2b,
610 dnnl_gIOhw16i16o = dnnl_aCBde16c16b,
611 dnnl_gIOhw16o16i = dnnl_aCBde16b16c,
612 dnnl_gOhwi16o = dnnl_aBdec16b,
613 dnnl_gOhwI16o2i = dnnl_aBdeC16b2c,
614 dnnl_gOhwi32o = dnnl_aBdec32b,
615 dnnl_gOhwi4o = dnnl_aBdec4b,
616 dnnl_gOhwi8o = dnnl_aBdec8b,
617 dnnl_Goihw16g = dnnl_Abcde16a,
618 dnnl_gOIhw16i16o = dnnl_aBCde16c16b,
619 dnnl_gOIhw16o16i = dnnl_aBCde16b16c,
621 dnnl_gOIhw2i8o4i = dnnl_aBCde2c8b4c,
622 dnnl_gOIhw4i16o4i = dnnl_aBCde4c16b4c,
623 dnnl_gOIhw4i4o = dnnl_aBCde4c4b,
624 dnnl_gOIhw4o4i = dnnl_aBCde4b4c,
626 dnnl_Goihw8g = dnnl_Abcde8a,
627 dnnl_gOIhw8i16o2i = dnnl_aBCde8c16b2c,
628 dnnl_gOIhw8i8o = dnnl_aBCde8c8b,
629 dnnl_gOIhw8o16i2o = dnnl_aBCde8b16c2b,
630 dnnl_gIOhw8o16i2o = dnnl_aCBde8b16c2b,
631 dnnl_gOIhw8o8i = dnnl_aBCde8b8c,
633 dnnl_OIhw4o8i8o4i = dnnl_ABcd4a8b8a4b,
634 dnnl_OIhw2o8i8o2i = dnnl_ABcd2a8b8a2b,
635 dnnl_gOIhw4o8i8o4i = dnnl_aBCde4b8c8b4c,
636 dnnl_gOIhw2o8i8o2i = dnnl_aBCde2b8c8b2c,
637 dnnl_gOIhw2i4o2i = dnnl_aBCde2c4b2c,
639 dnnl_gOIhw4i8o2i = dnnl_aBCde4c8b2c,
640 dnnl_gOIhw4o8i2o = dnnl_aBCde4b8c2b,
643 dnnl_gIOdhw16i16o = dnnl_aCBdef16c16b,
644 dnnl_gIOdhw16o16i = dnnl_aCBdef16b16c,
645 dnnl_gOdhwi16o = dnnl_aBdefc16b,
646 dnnl_gOdhwI16o2i = dnnl_aBdefC16b2c,
647 dnnl_gOdhwi4o = dnnl_aBdefc4b,
648 dnnl_gOdhwi8o = dnnl_aBdefc8b,
649 dnnl_gOIdhw16i16o = dnnl_aBCdef16c16b,
650 dnnl_gOIdhw4i16o4i = dnnl_aBCdef4c16b4c,
652 dnnl_gOIdhw16o16i = dnnl_aBCdef16b16c,
654 dnnl_gOIdhw4i4o = dnnl_aBCdef4c4b,
655 dnnl_gOIdhw4o4i = dnnl_aBCdef4b4c,
657 dnnl_gOIdhw8i16o2i = dnnl_aBCdef8c16b2c,
658 dnnl_gOIdhw8i8o = dnnl_aBCdef8c8b,
659 dnnl_gOIdhw8o16i2o = dnnl_aBCdef8b16c2b,
660 dnnl_gIOdhw8o16i2o = dnnl_aCBdef8b16c2b,
661 dnnl_gOIdhw8o8i = dnnl_aBCdef8b8c,
662 dnnl_Goidhw16g = dnnl_Abcdef16a,
663 dnnl_gOIdhw2i4o2i = dnnl_aBCdef2c4b2c,
664 dnnl_gOIdhw4i8o2i = dnnl_aBCdef4c8b2c,
666 dnnl_gOIdhw4o8i2o = dnnl_aBCdef4b8c2b,
912#define DNNL_MAX_NDIMS 12
916#define DNNL_RUNTIME_DIM_VAL INT64_MIN
921#define DNNL_RUNTIME_SIZE_VAL ((size_t)DNNL_RUNTIME_DIM_VAL)
928} DNNL_RUNTIME_F32_VAL_REP = {0x7fc000d0};
933#define DNNL_RUNTIME_F32_VAL (DNNL_RUNTIME_F32_VAL_REP.f)
936static const int DNNL_RUNTIME_S32_VAL_REP = INT32_MIN;
941#define DNNL_RUNTIME_S32_VAL DNNL_RUNTIME_S32_VAL_REP
995 dnnl_packed_format_undef = 0,
998} dnnl_rnn_packed_memory_format_t;
1002#define DNNL_RNN_MAX_N_PARTS 4
1006 dnnl_rnn_packed_memory_format_t format;
1013 size_t offset_compensation;
1020 dnnl_memory_extra_flag_none = 0x0U,
1029 dnnl_memory_extra_flag_scale_adjust = 0x2U,
1030 dnnl_memory_extra_flag_gpu_rnn_u8s8_compensation = 0x4U,
1109#define DNNL_MEMORY_NONE (NULL)
1110#define DNNL_MEMORY_ALLOCATE ((void *)(size_t)-1)
1663typedef const struct dnnl_engine *const_dnnl_engine_t;
1779#define DNNL_ARG_SRC_0 1
1782#define DNNL_ARG_SRC DNNL_ARG_SRC_0
1785#define DNNL_ARG_SRC_LAYER DNNL_ARG_SRC_0
1788#define DNNL_ARG_FROM DNNL_ARG_SRC_0
1791#define DNNL_ARG_SRC_1 2
1794#define DNNL_ARG_SRC_ITER DNNL_ARG_SRC_1
1797#define DNNL_ARG_SRC_2 3
1800#define DNNL_ARG_SRC_ITER_C DNNL_ARG_SRC_2
1803#define DNNL_ARG_DST_0 17
1806#define DNNL_ARG_DST DNNL_ARG_DST_0
1809#define DNNL_ARG_TO DNNL_ARG_DST_0
1811#define DNNL_ARG_DST_LAYER DNNL_ARG_DST_0
1814#define DNNL_ARG_DST_1 18
1817#define DNNL_ARG_DST_ITER DNNL_ARG_DST_1
1820#define DNNL_ARG_DST_2 19
1823#define DNNL_ARG_DST_ITER_C DNNL_ARG_DST_2
1826#define DNNL_ARG_WEIGHTS_0 33
1829#define DNNL_ARG_WEIGHTS DNNL_ARG_WEIGHTS_0
1832#define DNNL_ARG_SCALE_SHIFT DNNL_ARG_WEIGHTS_0
1835#define DNNL_ARG_WEIGHTS_LAYER DNNL_ARG_WEIGHTS_0
1838#define DNNL_ARG_WEIGHTS_1 34
1841#define DNNL_ARG_WEIGHTS_ITER DNNL_ARG_WEIGHTS_1
1844#define DNNL_ARG_WEIGHTS_2 35
1847#define DNNL_ARG_WEIGHTS_PEEPHOLE DNNL_ARG_WEIGHTS_2
1850#define DNNL_ARG_WEIGHTS_3 36
1853#define DNNL_ARG_WEIGHTS_PROJECTION DNNL_ARG_WEIGHTS_3
1856#define DNNL_ARG_BIAS 41
1859#define DNNL_ARG_MEAN 49
1861#define DNNL_ARG_VARIANCE 50
1865#define DNNL_ARG_WORKSPACE 64
1867#define DNNL_ARG_SCRATCHPAD 80
1870#define DNNL_ARG_DIFF_SRC_0 129
1873#define DNNL_ARG_DIFF_SRC DNNL_ARG_DIFF_SRC_0
1876#define DNNL_ARG_DIFF_SRC_LAYER DNNL_ARG_DIFF_SRC_0
1879#define DNNL_ARG_DIFF_SRC_1 130
1882#define DNNL_ARG_DIFF_SRC_ITER DNNL_ARG_DIFF_SRC_1
1885#define DNNL_ARG_DIFF_SRC_2 131
1888#define DNNL_ARG_DIFF_SRC_ITER_C DNNL_ARG_DIFF_SRC_2
1891#define DNNL_ARG_DIFF_DST_0 145
1894#define DNNL_ARG_DIFF_DST DNNL_ARG_DIFF_DST_0
1897#define DNNL_ARG_DIFF_DST_LAYER DNNL_ARG_DIFF_DST_0
1900#define DNNL_ARG_DIFF_DST_1 146
1903#define DNNL_ARG_DIFF_DST_ITER DNNL_ARG_DIFF_DST_1
1906#define DNNL_ARG_DIFF_DST_2 147
1909#define DNNL_ARG_DIFF_DST_ITER_C DNNL_ARG_DIFF_DST_2
1912#define DNNL_ARG_DIFF_WEIGHTS_0 161
1915#define DNNL_ARG_DIFF_WEIGHTS DNNL_ARG_DIFF_WEIGHTS_0
1918#define DNNL_ARG_DIFF_SCALE_SHIFT DNNL_ARG_DIFF_WEIGHTS_0
1921#define DNNL_ARG_DIFF_WEIGHTS_LAYER DNNL_ARG_DIFF_WEIGHTS_0
1924#define DNNL_ARG_DIFF_WEIGHTS_1 162
1927#define DNNL_ARG_DIFF_WEIGHTS_ITER DNNL_ARG_DIFF_WEIGHTS_1
1930#define DNNL_ARG_DIFF_WEIGHTS_2 163
1933#define DNNL_ARG_DIFF_WEIGHTS_PEEPHOLE DNNL_ARG_DIFF_WEIGHTS_2
1936#define DNNL_ARG_DIFF_WEIGHTS_3 164
1939#define DNNL_ARG_DIFF_WEIGHTS_PROJECTION DNNL_ARG_DIFF_WEIGHTS_3
1942#define DNNL_ARG_DIFF_BIAS 169
1945#define DNNL_ARG_ATTR_OUTPUT_SCALES 513
1949#define DNNL_ARG_MULTIPLE_SRC 1024
1952#define DNNL_ARG_MULTIPLE_DST 2048
1955#define DNNL_ARG_ATTR_ZERO_POINTS 4096
1959#define DNNL_ARG_ATTR_POST_OP_DW 8192
2089struct dnnl_stream_attr;
2101#define DNNL_RUNTIME_NONE 0u
2104#define DNNL_RUNTIME_SEQ 1u
2107#define DNNL_RUNTIME_OMP 2u
2110#define DNNL_RUNTIME_TBB 4u
2113#define DNNL_RUNTIME_THREADPOOL 8u
2116#define DNNL_RUNTIME_OCL 256u
2130#define DNNL_JIT_PROFILE_NONE 0u
2133#define DNNL_JIT_PROFILE_VTUNE 1u
2136#define DNNL_JIT_PROFILE_LINUX_PERFMAP 2u
2139#define DNNL_JIT_PROFILE_LINUX_JITDUMP 4u
2143#define DNNL_JIT_PROFILE_LINUX_JITDUMP_USE_TSC 8u
2146#define DNNL_JIT_PROFILE_LINUX_PERF \
2147 (DNNL_JIT_PROFILE_LINUX_JITDUMP | DNNL_JIT_PROFILE_LINUX_PERFMAP)
struct dnnl_primitive_attr * dnnl_primitive_attr_t
A primitive descriptor attributes handle that controls primitive behavior.
Definition dnnl_types.h:1734
struct dnnl_post_ops * dnnl_post_ops_t
A post operation chain handle.
Definition dnnl_types.h:1760
const struct dnnl_primitive_attr * const_dnnl_primitive_attr_t
A constant primitive descriptor attributes handle.
Definition dnnl_types.h:1737
const struct dnnl_post_ops * const_dnnl_post_ops_t
A constant post operation chain handle.
Definition dnnl_types.h:1763
dnnl_scratchpad_mode_t
Scratchpad mode.
Definition dnnl_types.h:1700
@ dnnl_scratchpad_mode_user
The user manages the scratchpad allocation by querying and providing the scratchpad memory to primiti...
Definition dnnl_types.h:1722
@ dnnl_scratchpad_mode_library
The library manages the scratchpad allocation according to the policy specified by the DNNL_ENABLE_CO...
Definition dnnl_types.h:1717
dnnl_convolution_desc_t dnnl_deconvolution_desc_t
A descriptor of a deconvolution operation.
Definition dnnl_types.h:1179
dnnl_engine_kind_t
Kinds of engines.
Definition dnnl_types.h:1646
struct dnnl_engine * dnnl_engine_t
An engine handle.
Definition dnnl_types.h:1659
@ dnnl_gpu
GPU engine.
Definition dnnl_types.h:1652
@ dnnl_cpu
CPU engine.
Definition dnnl_types.h:1650
@ dnnl_any_engine
An unspecified engine.
Definition dnnl_types.h:1648
dnnl_softmax_desc_t dnnl_logsoftmax_desc_t
A descriptor of a LogSoftmax operation.
Definition dnnl_types.h:1283
dnnl_data_type_t
Data type specification.
Definition dnnl_types.h:62
const struct dnnl_memory * const_dnnl_memory_t
A constant memory handle.
Definition dnnl_types.h:1107
#define DNNL_RNN_MAX_N_PARTS
Maximum number of parts of RNN weights tensor that require separate computation.
Definition dnnl_types.h:1002
dnnl_memory_extra_flags_t
Flags for memory special features.
Definition dnnl_types.h:1019
struct dnnl_memory * dnnl_memory_t
A memory handle.
Definition dnnl_types.h:1104
dnnl_format_tag_t
Memory format tag specification.
Definition dnnl_types.h:164
dnnl_dim_t dnnl_dims_t[DNNL_MAX_NDIMS]
A type to describe tensor dimensions.
Definition dnnl_types.h:947
int64_t dnnl_dim_t
A type to describe tensor dimension.
Definition dnnl_types.h:944
dnnl_format_kind_t
Memory format kind.
Definition dnnl_types.h:80
#define DNNL_MAX_NDIMS
Maximum number of dimensions a tensor can have.
Definition dnnl_types.h:912
dnnl_wino_memory_format_t
Winograd-specific formats.
Definition dnnl_types.h:968
@ dnnl_f16
16-bit/half-precision floating point.
Definition dnnl_types.h:66
@ dnnl_bf16
non-standard 16-bit (bfloat16 w/ 7 bit mantissa) floating point.
Definition dnnl_types.h:68
@ dnnl_f32
32-bit/single-precision floating point.
Definition dnnl_types.h:70
@ dnnl_data_type_undef
Undefined data type, used for empty memory descriptors.
Definition dnnl_types.h:64
@ dnnl_s8
8-bit signed integer.
Definition dnnl_types.h:74
@ dnnl_s32
32-bit signed integer.
Definition dnnl_types.h:72
@ dnnl_u8
8-bit unsigned integer.
Definition dnnl_types.h:76
@ dnnl_memory_extra_flag_compensation_conv_s8s8
Indicates the weights have an additional buffer, that depends on the compensation_mask.
Definition dnnl_types.h:1028
@ dnnl_hwigo
5D CNN weights tensor (incl. groups), an alias to dnnl_decab
Definition dnnl_types.h:437
@ dnnl_aBCdef2b4c2b
6D tensor blocked by 3rd dimension with block size 4
Definition dnnl_types.h:317
@ dnnl_acdeb
permuted 5D tensor
Definition dnnl_types.h:192
@ dnnl_oihw
4D CNN weights tensor, an alias to dnnl_abcd
Definition dnnl_types.h:412
@ dnnl_cn
2D CNN activations tensor, an alias to dnnl_ba
Definition dnnl_types.h:379
@ dnnl_iohw
4D CNN weights tensor, an alias to dnnl_bacd
Definition dnnl_types.h:420
@ dnnl_oidhw
5D CNN weights tensor, an alias to dnnl_abcde
Definition dnnl_types.h:422
@ dnnl_ab
plain 2D tensor
Definition dnnl_types.h:178
@ dnnl_ABcd8b8a
4D tensor blocked by 1st and 2nd dimension with block size 8
Definition dnnl_types.h:258
@ dnnl_cdba
permuted 4D tensor
Definition dnnl_types.h:200
@ dnnl_owi
3D CNN weights tensor, an alias to dnnl_acb
Definition dnnl_types.h:406
@ dnnl_aBcdef4b
6D tensor blocked by 2nd dimension with block size 4
Definition dnnl_types.h:319
@ dnnl_wigo
4D CNN weights tensor (incl. groups), an alias to dnnl_dcab
Definition dnnl_types.h:433
@ dnnl_tnc
3D RNN data tensor in the format (seq_length, batch, input channels).
Definition dnnl_types.h:448
@ dnnl_ldgo
4D RNN bias tensor in the format (num_layers, num_directions, num_gates, output_channels).
Definition dnnl_types.h:480
@ dnnl_ldio
4D LSTM projection tensor in the format (num_layers, num_directions, num_channels_in_hidden_state,...
Definition dnnl_types.h:470
@ dnnl_aBcd4b
4D tensor blocked by 2nd dimension with block size 4
Definition dnnl_types.h:238
@ dnnl_nCdhw16c
5D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcde16b
Definition dnnl_types.h:488
@ dnnl_abcde
plain 5D tensor
Definition dnnl_types.h:181
@ dnnl_decab
permuted 5D tensor
Definition dnnl_types.h:203
@ dnnl_bca
permuted 3D tensor
Definition dnnl_types.h:196
@ dnnl_aBcde4b
5D tensor blocked by 2nd dimension with block size 4
Definition dnnl_types.h:281
@ dnnl_aBc16b
3D tensor blocked by 2nd dimension with block size 16
Definition dnnl_types.h:212
@ dnnl_aBcdef16b
6D tensor blocked by 2nd dimension with block size 16
Definition dnnl_types.h:309
@ dnnl_giodhw
6D CNN weights tensor (incl. groups), an alias to dnnl_acbdef
Definition dnnl_types.h:443
@ dnnl_aBCde2b4c2b
5D tensor blocked by 3rd dimension with block size 4
Definition dnnl_types.h:307
@ dnnl_io
2D CNN weights tensor, an alias to dnnl_ba
Definition dnnl_types.h:402
@ dnnl_ldoi
4D LSTM projection tensor in the format (num_layers, num_directions, num_channels_in_recurrent_projec...
Definition dnnl_types.h:473
@ dnnl_aBc4b
3D tensor blocked by 2nd dimension with block size 4
Definition dnnl_types.h:216
@ dnnl_hwio
4D CNN weights tensor, an alias to dnnl_cdba
Definition dnnl_types.h:414
@ dnnl_ldnc
4D RNN states tensor in the format (num_layers, num_directions, batch, state channels).
Definition dnnl_types.h:453
@ dnnl_aBcd16b
4D tensor blocked by 2nd dimension with block size 16
Definition dnnl_types.h:232
@ dnnl_cba
permuted 3D tensor
Definition dnnl_types.h:199
@ dnnl_ntc
3D RNN data tensor in the format (batch, seq_length, input channels).
Definition dnnl_types.h:450
@ dnnl_ldgoi
5D RNN weights tensor in the format (num_layers, num_directions, num_gates, output_channels,...
Definition dnnl_types.h:467
@ dnnl_goidhw
6D CNN weights tensor (incl. groups), an alias to dnnl_abcdef
Definition dnnl_types.h:441
@ dnnl_ba
permuted 2D tensor
Definition dnnl_types.h:193
@ dnnl_ABcde2b8a4b
5D tensor blocked by 1st dimension with block size 8
Definition dnnl_types.h:272
@ dnnl_abcd
plain 4D tensor
Definition dnnl_types.h:180
@ dnnl_format_tag_undef
Undefined memory format tag.
Definition dnnl_types.h:166
@ dnnl_idhwo
5D CNN weights tensor, an alias to dnnl_bcdea
Definition dnnl_types.h:428
@ dnnl_nCdhw4c
5D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcde4b
Definition dnnl_types.h:491
@ dnnl_defcab
permuted 6D tensor
Definition dnnl_types.h:204
@ dnnl_abcdef
plain 6D tensor
Definition dnnl_types.h:182
@ dnnl_ohwi
4D CNN weights tensor, an alias to dnnl_acdb
Definition dnnl_types.h:416
@ dnnl_nChw8c
4D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcd8b
Definition dnnl_types.h:503
@ dnnl_iwo
3D CNN weights tensor, an alias to dnnl_bca
Definition dnnl_types.h:410
@ dnnl_a
plain 1D tensor
Definition dnnl_types.h:177
@ dnnl_goiw
4D CNN weights tensor (incl. groups), an alias to dnnl_abcd
Definition dnnl_types.h:431
@ dnnl_nt
2D RNN statistics tensor, an alias to dnnl_ba
Definition dnnl_types.h:383
@ dnnl_nChw4c
4D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcd4b
Definition dnnl_types.h:500
@ dnnl_dhwigo
6D CNN weights tensor (incl. groups), an alias to dnnl_defcab
Definition dnnl_types.h:445
@ dnnl_nchw
4D CNN activations tensor, an alias to dnnl_abcd
Definition dnnl_types.h:389
@ dnnl_acbdef
permuted 6D tensor
Definition dnnl_types.h:190
@ dnnl_acdb
permuted 4D tensor
Definition dnnl_types.h:191
@ dnnl_wio
3D CNN weights tensor, an alias to dnnl_cba
Definition dnnl_types.h:408
@ dnnl_aBcd8b
4D tensor blocked by 2nd dimension with block size 8
Definition dnnl_types.h:252
@ dnnl_ldigo
5D RNN weights tensor in the format (num_layers, num_directions, input_channels, num_gates,...
Definition dnnl_types.h:460
@ dnnl_aBc8b
3D tensor blocked by 2nd dimension with block size 8
Definition dnnl_types.h:223
@ dnnl_x
1D tensor, an alias to dnnl_a
Definition dnnl_types.h:375
@ dnnl_nwc
3D CNN activations tensor, an alias to dnnl_acb
Definition dnnl_types.h:387
@ dnnl_ndhwc
5D CNN activations tensor, an alias to dnnl_acdeb
Definition dnnl_types.h:397
@ dnnl_nCw4c
3D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBc4b
Definition dnnl_types.h:509
@ dnnl_aBcde8b
5D tensor blocked by 2nd dimension with block size 8
Definition dnnl_types.h:293
@ dnnl_nChw16c
4D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcd16b
Definition dnnl_types.h:497
@ dnnl_abdec
permuted 5D tensor
Definition dnnl_types.h:187
@ dnnl_chwn
4D CNN activations tensor, an alias to dnnl_bcda
Definition dnnl_types.h:393
@ dnnl_bacd
permuted 4D tensor
Definition dnnl_types.h:195
@ dnnl_ncw
3D CNN activations tensor, an alias to dnnl_abc
Definition dnnl_types.h:385
@ dnnl_nCdhw8c
5D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcde8b
Definition dnnl_types.h:494
@ dnnl_nc
2D CNN activations tensor, an alias to dnnl_ab
Definition dnnl_types.h:377
@ dnnl_tn
2D RNN statistics tensor, an alias to dnnl_ab
Definition dnnl_types.h:381
@ dnnl_bcda
permuted 4D tensor
Definition dnnl_types.h:197
@ dnnl_acbde
permuted 5D tensor
Definition dnnl_types.h:189
@ dnnl_aBCd2b4c2b
4D tensor blocked by 3rd dimension with block size 4
Definition dnnl_types.h:268
@ dnnl_bcdea
permuted 5D tensor
Definition dnnl_types.h:198
@ dnnl_aBcde16b
5D tensor blocked by 2nd dimension with block size 16
Definition dnnl_types.h:274
@ dnnl_nCw8c
3D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBc8b
Definition dnnl_types.h:512
@ dnnl_abdc
permuted 4D tensor
Definition dnnl_types.h:186
@ dnnl_ABcde4b16a4b
5D tensor blocked by 1st dimension with block size 16
Definition dnnl_types.h:270
@ dnnl_format_tag_last
Just a sentinel, not real memory format tag.
Definition dnnl_types.h:370
@ dnnl_odhwi
5D CNN weights tensor, an alias to dnnl_acdeb
Definition dnnl_types.h:426
@ dnnl_abc
plain 3D tensor
Definition dnnl_types.h:179
@ dnnl_bac
permuted 3D tensor
Definition dnnl_types.h:194
@ dnnl_ncdhw
5D CNN activations tensor, an alias to dnnl_abcde
Definition dnnl_types.h:395
@ dnnl_dhwio
5D CNN weights tensor, an alias to dnnl_cdeba
Definition dnnl_types.h:424
@ dnnl_nhwc
4D CNN activations tensor, an alias to dnnl_acdb
Definition dnnl_types.h:391
@ dnnl_oiw
3D CNN weights tensor, an alias to dnnl_abc
Definition dnnl_types.h:404
@ dnnl_dcab
permuted 4D tensor
Definition dnnl_types.h:201
@ dnnl_cdeba
permuted 5D tensor
Definition dnnl_types.h:202
@ dnnl_giohw
5D CNN weights tensor (incl. groups), an alias to dnnl_acbde
Definition dnnl_types.h:439
@ dnnl_goihw
5D CNN weights tensor (incl. groups), an alias to dnnl_abcde
Definition dnnl_types.h:435
@ dnnl_oi
2D CNN weights tensor, an alias to dnnl_ab
Definition dnnl_types.h:400
@ dnnl_ihwo
4D CNN weights tensor, an alias to dnnl_bcda
Definition dnnl_types.h:418
@ dnnl_acb
permuted 3D tensor
Definition dnnl_types.h:188
@ dnnl_nCw16c
3D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBc16b
Definition dnnl_types.h:506
@ dnnl_aBCdef2c8b4c
6D tensor blocked by 2nd dimension with block size 8
Definition dnnl_types.h:314
@ dnnl_format_tag_any
Undefined memory format tag.
Definition dnnl_types.h:169
@ dnnl_blocked
A tensor in a generic format described by the stride and blocking values in each dimension.
Definition dnnl_types.h:89
@ dnnl_format_kind_wino
Weights format used in 8bit Winograd convolution.
Definition dnnl_types.h:91
@ dnnl_format_kind_any
Unspecified format kind.
Definition dnnl_types.h:85
@ dnnl_format_kind_undef
Undefined memory format kind, used for empty memory descriptors.
Definition dnnl_types.h:82
@ dnnl_format_kind_rnn_packed
Packed weights format used in RNN.
Definition dnnl_types.h:93
@ dnnl_wino_wei_OBaaIBOIio
Internal weights format for 4x3 Winograd.
Definition dnnl_types.h:976
@ dnnl_wino_wei_aaOio
Internal weights format for 2x3 Winograd.
Definition dnnl_types.h:973
@ dnnl_wino_wei_aaOBiOo
Internal weights format for 2x3 Winograd.
Definition dnnl_types.h:974
@ dnnl_wino_undef
Undefined memory format, used for empty memory descriptors.
Definition dnnl_types.h:970
@ dnnl_wino_wei_aaOIoi
Internal weights format for 2x3 Winograd.
Definition dnnl_types.h:972
struct dnnl_primitive * dnnl_primitive_t
A primitive handle.
Definition dnnl_types.h:1774
struct dnnl_primitive_desc_iterator * dnnl_primitive_desc_iterator_t
A primitive descriptor iterator handle.
Definition dnnl_types.h:1678
dnnl_normalization_flags_t
Flags for normalization primitives.
Definition dnnl_types.h:852
const struct dnnl_primitive * const_dnnl_primitive_t
A constant primitive handle.
Definition dnnl_types.h:1776
const void * const_dnnl_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition dnnl_types.h:1122
void * dnnl_op_desc_t
A pointer to any of the operation descriptors.
Definition dnnl_types.h:1120
dnnl_alg_kind_t
Kinds of algorithms.
Definition dnnl_types.h:748
dnnl_primitive_kind_t
Kinds of primitives.
Definition dnnl_types.h:704
dnnl_query_t
Primitive descriptor query specification.
Definition dnnl_types.h:2002
struct dnnl_primitive_desc * dnnl_primitive_desc_t
A primitive descriptor handle.
Definition dnnl_types.h:1689
const struct dnnl_primitive_desc * const_dnnl_primitive_desc_t
A constant primitive descriptor handle.
Definition dnnl_types.h:1692
dnnl_prop_kind_t
Kinds of propagation.
Definition dnnl_types.h:677
const struct dnnl_primitive_desc_iterator * const_dnnl_primitive_desc_iterator_t
A constant primitive descriptor iterator handle.
Definition dnnl_types.h:1681
@ dnnl_fuse_norm_relu
Fuse with ReLU.
Definition dnnl_types.h:900
@ dnnl_normalization_flags_none
Use no normalization flags.
Definition dnnl_types.h:861
@ dnnl_use_scaleshift
Use scale and shift parameters.
Definition dnnl_types.h:887
@ dnnl_use_global_stats
Use global statistics.
Definition dnnl_types.h:874
@ dnnl_pooling_avg_exclude_padding
Average pooling exclude padding.
Definition dnnl_types.h:816
@ dnnl_eltwise_clip
Eltwise: clip.
Definition dnnl_types.h:794
@ dnnl_eltwise_tanh_use_dst_for_bwd
Eltwise: hyperbolic tangent non-linearity (tanh) (dst for backward)
Definition dnnl_types.h:802
@ dnnl_pooling_avg
Average pooling (alias for dnnl_pooling_avg_exclude_padding)
Definition dnnl_types.h:818
@ dnnl_eltwise_gelu_tanh
Eltwise: gelu.
Definition dnnl_types.h:786
@ dnnl_resampling_linear
Linear Resampling Method.
Definition dnnl_types.h:848
@ dnnl_eltwise_sqrt
Eltwise: square root.
Definition dnnl_types.h:771
@ dnnl_binary_min
Binary min.
Definition dnnl_types.h:844
@ dnnl_eltwise_abs
Eltwise: abs.
Definition dnnl_types.h:769
@ dnnl_eltwise_sqrt_use_dst_for_bwd
Eltwise: square root (dst for backward)
Definition dnnl_types.h:806
@ dnnl_eltwise_exp
Eltwise: exponent.
Definition dnnl_types.h:781
@ dnnl_eltwise_square
Eltwise: square.
Definition dnnl_types.h:767
@ dnnl_eltwise_gelu
Eltwise: tanh-based gelu (alias for dnnl_eltwise_gelu_tanh)
Definition dnnl_types.h:788
@ dnnl_convolution_winograd
Winograd convolution.
Definition dnnl_types.h:753
@ dnnl_lrn_across_channels
Local response normalization (LRN) across multiple channels.
Definition dnnl_types.h:820
@ dnnl_deconvolution_direct
Direct deconvolution.
Definition dnnl_types.h:757
@ dnnl_eltwise_relu
Eltwise: ReLU.
Definition dnnl_types.h:761
@ dnnl_convolution_auto
Convolution algorithm(either direct or Winograd) is chosen just in time.
Definition dnnl_types.h:755
@ dnnl_eltwise_swish
Eltwise: swish.
Definition dnnl_types.h:790
@ dnnl_vanilla_rnn
RNN cell.
Definition dnnl_types.h:824
@ dnnl_eltwise_gelu_erf
Eltwise: erf-based gelu.
Definition dnnl_types.h:798
@ dnnl_vanilla_lstm
LSTM cell.
Definition dnnl_types.h:826
@ dnnl_eltwise_elu
Eltwise: exponential linear unit (elu)
Definition dnnl_types.h:765
@ dnnl_vanilla_gru
GRU cell.
Definition dnnl_types.h:828
@ dnnl_lbr_gru
GRU cell with linear before reset.
Definition dnnl_types.h:836
@ dnnl_eltwise_tanh
Eltwise: hyperbolic tangent non-linearity (tanh)
Definition dnnl_types.h:763
@ dnnl_convolution_direct
Direct convolution.
Definition dnnl_types.h:751
@ dnnl_eltwise_soft_relu
Eltwise: soft_relu.
Definition dnnl_types.h:777
@ dnnl_eltwise_log
Eltwise: natural logarithm.
Definition dnnl_types.h:792
@ dnnl_lrn_within_channel
LRN within a single channel.
Definition dnnl_types.h:822
@ dnnl_eltwise_elu_use_dst_for_bwd
Eltwise: exponential linear unit (elu) (dst for backward)
Definition dnnl_types.h:804
@ dnnl_deconvolution_winograd
Winograd deconvolution.
Definition dnnl_types.h:759
@ dnnl_eltwise_pow
Eltwise: pow.
Definition dnnl_types.h:796
@ dnnl_eltwise_relu_use_dst_for_bwd
Eltwise: ReLU (dst for backward)
Definition dnnl_types.h:800
@ dnnl_eltwise_logistic
Eltwise: logistic.
Definition dnnl_types.h:779
@ dnnl_pooling_avg_include_padding
Average pooling include padding.
Definition dnnl_types.h:814
@ dnnl_pooling_max
Max pooling.
Definition dnnl_types.h:812
@ dnnl_eltwise_logistic_use_dst_for_bwd
Eltwise: logistic (dst for backward)
Definition dnnl_types.h:808
@ dnnl_binary_add
Binary add.
Definition dnnl_types.h:838
@ dnnl_binary_mul
Binary mul.
Definition dnnl_types.h:840
@ dnnl_eltwise_exp_use_dst_for_bwd
Eltwise: exp (dst for backward)
Definition dnnl_types.h:810
@ dnnl_eltwise_bounded_relu
Eltwise: bounded_relu.
Definition dnnl_types.h:775
@ dnnl_eltwise_linear
Eltwise: linear.
Definition dnnl_types.h:773
@ dnnl_resampling_nearest
Nearest Neighbor Resampling Method.
Definition dnnl_types.h:846
@ dnnl_binary_max
Binary max.
Definition dnnl_types.h:842
@ dnnl_binary
A binary primitive.
Definition dnnl_types.h:738
@ dnnl_concat
A (out-of-place) concat primitive.
Definition dnnl_types.h:712
@ dnnl_reorder
A reorder primitive.
Definition dnnl_types.h:708
@ dnnl_gemm
A matrix multiplication primitive (internal).
Definition dnnl_types.h:736
@ dnnl_convolution
A convolution primitive.
Definition dnnl_types.h:716
@ dnnl_inner_product
An inner product primitive.
Definition dnnl_types.h:732
@ dnnl_resampling
A resampling primitive.
Definition dnnl_types.h:744
@ dnnl_batch_normalization
A batch normalization primitive.
Definition dnnl_types.h:728
@ dnnl_undefined_primitive
Undefined primitive.
Definition dnnl_types.h:706
@ dnnl_sum
A sum primitive.
Definition dnnl_types.h:714
@ dnnl_layer_normalization
A layer normalization primitive.
Definition dnnl_types.h:730
@ dnnl_eltwise
An element-wise primitive.
Definition dnnl_types.h:720
@ dnnl_matmul
A matrix multiplication primitive.
Definition dnnl_types.h:742
@ dnnl_shuffle
A shuffle primitive.
Definition dnnl_types.h:710
@ dnnl_logsoftmax
A logsoftmax primitive.
Definition dnnl_types.h:740
@ dnnl_pooling
A pooling primitive.
Definition dnnl_types.h:724
@ dnnl_deconvolution
A deconvolution primitive.
Definition dnnl_types.h:718
@ dnnl_softmax
A softmax primitive.
Definition dnnl_types.h:722
@ dnnl_rnn
A rnn primitive.
Definition dnnl_types.h:734
@ dnnl_lrn
An LRN primitive.
Definition dnnl_types.h:726
@ dnnl_query_resampling_d
resampling descriptor
Definition dnnl_types.h:2045
@ dnnl_query_num_of_outputs_s32
number of outputs expected
Definition dnnl_types.h:2009
@ dnnl_query_some_md
stub
Definition dnnl_types.h:2048
@ dnnl_query_convolution_d
convolution descriptor
Definition dnnl_types.h:2030
@ dnnl_query_weights_md
weights memory descriptor desc
Definition dnnl_types.h:2051
@ dnnl_query_src_md
source memory desc
Definition dnnl_types.h:2049
@ dnnl_query_softmax_d
softmax descriptor
Definition dnnl_types.h:2034
@ dnnl_query_binary_d
binary descriptor
Definition dnnl_types.h:2042
@ dnnl_query_workspace_md
workspace memory desc
Definition dnnl_types.h:2055
@ dnnl_query_matmul_d
matrix multiplication (matmul) descriptor
Definition dnnl_types.h:2044
@ dnnl_query_num_of_inputs_s32
number of inputs expected
Definition dnnl_types.h:2008
@ dnnl_query_op_d
op descriptor
Definition dnnl_types.h:2029
@ dnnl_query_diff_src_md
source gradient memory desc
Definition dnnl_types.h:2050
@ dnnl_query_scratchpad_md
scratchpad memory desc
Definition dnnl_types.h:2056
@ dnnl_query_shuffle_d
shuffle descriptor
Definition dnnl_types.h:2032
@ dnnl_query_memory_consumption_s64
memory consumption – extra
Definition dnnl_types.h:2012
@ dnnl_query_inner_product_d
inner product descriptor
Definition dnnl_types.h:2039
@ dnnl_query_deconvolution_d
deconvolution descriptor
Definition dnnl_types.h:2031
@ dnnl_query_primitive_kind
primitive kind
Definition dnnl_types.h:2006
@ dnnl_query_some_d
stub
Definition dnnl_types.h:2028
@ dnnl_query_batch_normalization_d
batch normalization descriptor
Definition dnnl_types.h:2037
@ dnnl_query_impl_info_str
for creating scratchpad memory
Definition dnnl_types.h:2020
@ dnnl_query_time_estimate_f64
runtime estimation (seconds)
Definition dnnl_types.h:2011
@ dnnl_query_eltwise_d
eltwise descriptor
Definition dnnl_types.h:2033
@ dnnl_query_diff_weights_md
weights grad. memory desc
Definition dnnl_types.h:2052
@ dnnl_query_gemm_d
GEMM descriptor (internal)
Definition dnnl_types.h:2041
@ dnnl_query_reorder_dst_engine
destination engine
Definition dnnl_types.h:2023
@ dnnl_query_reorder_src_engine
source engine
Definition dnnl_types.h:2022
@ dnnl_query_scratchpad_engine
(scratch) memory, additional to all inputs and outputs memory (bytes)
Definition dnnl_types.h:2017
@ dnnl_query_undef
no query
Definition dnnl_types.h:2003
@ dnnl_query_prop_kind
propagation kind
Definition dnnl_types.h:2025
@ dnnl_query_pooling_d
pooling descriptor
Definition dnnl_types.h:2035
@ dnnl_query_exec_arg_md
memory desc of an execute argument
Definition dnnl_types.h:2057
@ dnnl_query_engine
execution engine
Definition dnnl_types.h:2005
@ dnnl_query_rnn_d
rnn descriptor
Definition dnnl_types.h:2040
@ dnnl_query_layer_normalization_d
layer normalization descriptor
Definition dnnl_types.h:2038
@ dnnl_query_lrn_d
lrn descriptor
Definition dnnl_types.h:2036
@ dnnl_query_dst_md
destination memory desc
Definition dnnl_types.h:2053
@ dnnl_query_diff_dst_md
destination grad. memory desc
Definition dnnl_types.h:2054
@ dnnl_query_logsoftmax_d
logsoftmax descriptor
Definition dnnl_types.h:2043
@ dnnl_backward_weights
Backward weights propagation.
Definition dnnl_types.h:697
@ dnnl_forward_inference
Forward data propagation (inference mode).
Definition dnnl_types.h:687
@ dnnl_backward
Backward propagation (with respect to all parameters).
Definition dnnl_types.h:693
@ dnnl_backward_data
Backward data propagation.
Definition dnnl_types.h:695
@ dnnl_prop_kind_undef
Undefined propagation type.
Definition dnnl_types.h:680
@ dnnl_forward
Forward data propagation (alias for dnnl_forward_training).
Definition dnnl_types.h:691
@ dnnl_forward_training
Forward data propagation (training mode).
Definition dnnl_types.h:683
@ dnnl_backward_bias
Backward bias propagation.
Definition dnnl_types.h:699
@ dnnl_forward_scoring
Forward data propagation (alias for dnnl_forward_inference).
Definition dnnl_types.h:689
dnnl_rnn_flags_t
Flags for RNN cell.
Definition dnnl_types.h:1464
dnnl_rnn_direction_t
A direction of RNN primitive execution.
Definition dnnl_types.h:1470
@ dnnl_rnn_flags_undef
Undefined RNN flags.
Definition dnnl_types.h:1466
@ dnnl_unidirectional
Alias for dnnl_unidirectional_left2right.
Definition dnnl_types.h:1482
@ dnnl_bidirectional_concat
Bidirectional execution of RNN primitive with concatenation of the results.
Definition dnnl_types.h:1477
@ dnnl_bidirectional_sum
Bidirectional execution of RNN primitive with summation of the results.
Definition dnnl_types.h:1480
@ dnnl_unidirectional_left2right
Unidirectional execution of RNN primitive from left to right.
Definition dnnl_types.h:1472
@ dnnl_unidirectional_right2left
Unidirectional execution of RNN primitive from right to left.
Definition dnnl_types.h:1474
dnnl_cpu_isa_t
CPU instruction set flags.
Definition dnnl_types.h:2150
@ dnnl_cpu_isa_avx512_mic
Intel Advanced Vector Extensions 512 (Intel AVX-512) subset for Intel Xeon Phi processors x200 Series...
Definition dnnl_types.h:2165
@ dnnl_cpu_isa_avx
Intel Advanced Vector Extensions (Intel AVX)
Definition dnnl_types.h:2158
@ dnnl_cpu_isa_avx512_core_vnni
Intel AVX-512 and Intel Deep Learning Boost (Intel DL Boost) support for Intel Xeon Scalable processo...
Definition dnnl_types.h:2178
@ dnnl_cpu_isa_avx2
Intel Advanced Vector Extensions 2 (Intel AVX2)
Definition dnnl_types.h:2161
@ dnnl_cpu_isa_all
Any ISA (no restrictions)
Definition dnnl_types.h:2152
@ dnnl_cpu_isa_avx512_core
Intel AVX-512 subset for Intel Xeon Scalable processor family and Intel Core processor family.
Definition dnnl_types.h:2173
@ dnnl_cpu_isa_sse41
Intel Streaming SIMD Extensions 4.1 (Intel SSE4.1)
Definition dnnl_types.h:2155
@ dnnl_cpu_isa_avx512_core_bf16
Intel AVX-512, Intel DL Boost and bfloat16 support for Intel Xeon Scalable processor family and Intel...
Definition dnnl_types.h:2183
@ dnnl_cpu_isa_avx512_mic_4ops
Intel AVX-512 subset for Intel Xeon Phi processors 7235, 7285, 7295 Series.
Definition dnnl_types.h:2169
struct dnnl_stream_attr * dnnl_stream_attr_t
An execution stream attributes handle.
Definition dnnl_types.h:2091
dnnl_stream_flags_t
Stream flags.
Definition dnnl_types.h:2068
struct dnnl_stream * dnnl_stream_t
An execution stream handle.
Definition dnnl_types.h:2084
const struct dnnl_stream_attr * const_dnnl_stream_attr_t
A constant execution stream attributes handle.
Definition dnnl_types.h:2093
const struct dnnl_stream * const_dnnl_stream_t
A constant execution stream handle.
Definition dnnl_types.h:2086
@ dnnl_stream_default_order
Default order execution.
Definition dnnl_types.h:2071
@ dnnl_stream_in_order
In-order execution.
Definition dnnl_types.h:2073
@ dnnl_stream_out_of_order
Out-of-order execution.
Definition dnnl_types.h:2075
@ dnnl_stream_default_flags
Default stream configuration.
Definition dnnl_types.h:2077
dnnl_status_t
Status values returned by the library functions.
Definition dnnl_types.h:39
@ dnnl_iterator_ends
Primitive iterator passed over last primitive descriptor.
Definition dnnl_types.h:49
@ dnnl_runtime_error
Primitive or engine failed on execution.
Definition dnnl_types.h:51
@ dnnl_unimplemented
The operation failed because requested functionality is not implemented.
Definition dnnl_types.h:47
@ dnnl_out_of_memory
The operation failed due to an out-of-memory condition.
Definition dnnl_types.h:43
@ dnnl_success
The operation was successful.
Definition dnnl_types.h:41
@ dnnl_invalid_arguments
The operation failed because of incorrect function arguments.
Definition dnnl_types.h:45
@ dnnl_not_required
Queried element is not required for given primitive.
Definition dnnl_types.h:53
A descriptor of a Batch Normalization operation.
Definition dnnl_types.h:1360
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition dnnl_types.h:1368
dnnl_memory_desc_t data_scaleshift_desc
Scale and shift data and gradient memory descriptors.
Definition dnnl_types.h:1376
dnnl_memory_desc_t stat_desc
Statistics memory descriptor.
Definition dnnl_types.h:1381
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition dnnl_types.h:1366
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition dnnl_types.h:1370
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1363
float batch_norm_epsilon
Batch normalization epsilon parameter.
Definition dnnl_types.h:1383
A descriptor of a binary operation.
Definition dnnl_types.h:1568
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition dnnl_types.h:1579
dnnl_memory_desc_t src_desc[2]
Source memory descriptors.
Definition dnnl_types.h:1577
dnnl_alg_kind_t alg_kind
The kind of the binary algorithm.
Definition dnnl_types.h:1575
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1571
Generic description of blocked data layout for most memory formats.
Definition dnnl_types.h:952
dnnl_dims_t strides
The strides between the outermost blocks.
Definition dnnl_types.h:955
int inner_nblks
The number of innermost blocks, e.g. 3 in case of OIhw_4i16o4i_
Definition dnnl_types.h:959
dnnl_dims_t inner_blks
The size of the blocks, e.g. {4, 16, 4} in case of OIhw_4i16o4i
Definition dnnl_types.h:961
dnnl_dims_t inner_idxs
The logical indices of the blocks, e.g.
Definition dnnl_types.h:964
A descriptor of a convolution operation.
Definition dnnl_types.h:1134
dnnl_dims_t padding[2]
Padding in each spatial dimension.
Definition dnnl_types.h:1168
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition dnnl_types.h:1170
dnnl_dims_t strides
Convolution strides in each spatial dimension.
Definition dnnl_types.h:1162
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition dnnl_types.h:1160
dnnl_dims_t dilates
Convolution dilates in each spatial dimension.
Definition dnnl_types.h:1164
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition dnnl_types.h:1156
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition dnnl_types.h:1148
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition dnnl_types.h:1141
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition dnnl_types.h:1158
dnnl_alg_kind_t alg_kind
The kind of the convolution algorithm.
Definition dnnl_types.h:1144
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1137
dnnl_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition dnnl_types.h:1152
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition dnnl_types.h:1154
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition dnnl_types.h:1146
dnnl_memory_desc_t weights_desc
Weights memory descriptor.
Definition dnnl_types.h:1150
A descriptor of a element-wise operation.
Definition dnnl_types.h:1209
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition dnnl_types.h:1232
float alpha
Algorithm specific parameter.
Definition dnnl_types.h:1252
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition dnnl_types.h:1230
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1212
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition dnnl_types.h:1215
dnnl_alg_kind_t alg_kind
The kind of eltwise algorithm.
Definition dnnl_types.h:1228
An opaque structure to describe an engine.
A structure that contains an index and a memory object, and is used to pass arguments to dnnl_primiti...
Definition dnnl_types.h:1963
dnnl_memory_t memory
Input/output memory.
Definition dnnl_types.h:1965
int arg
An argument index, e.g. DNNL_ARG_SRC.
Definition dnnl_types.h:1964
A descriptor of an inner product operation.
Definition dnnl_types.h:1430
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition dnnl_types.h:1437
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition dnnl_types.h:1441
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition dnnl_types.h:1449
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition dnnl_types.h:1439
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition dnnl_types.h:1447
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition dnnl_types.h:1455
dnnl_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition dnnl_types.h:1445
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition dnnl_types.h:1451
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition dnnl_types.h:1453
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1433
dnnl_memory_desc_t weights_desc
Weights memory descriptor.
Definition dnnl_types.h:1443
A descriptor of a Layer Normalization operation.
Definition dnnl_types.h:1393
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition dnnl_types.h:1403
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition dnnl_types.h:1399
dnnl_memory_desc_t data_scaleshift_desc
Scale and shift data and gradient memory descriptors.
Definition dnnl_types.h:1411
float layer_norm_epsilon
Layer normalization epsilon parameter.
Definition dnnl_types.h:1420
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1396
dnnl_memory_desc_t stat_desc
Mean and variance data memory descriptors.
Definition dnnl_types.h:1418
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition dnnl_types.h:1401
A descriptor of a Local Response Normalization (LRN) operation.
Definition dnnl_types.h:1329
float lrn_k
LRN k parameter.
Definition dnnl_types.h:1351
dnnl_dim_t local_size
The number of channels to sum over (for cross-channel LRN) or the side length of the square region to...
Definition dnnl_types.h:1345
float lrn_beta
LRN beta parameter.
Definition dnnl_types.h:1349
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition dnnl_types.h:1342
float lrn_alpha
LRN alpha parameter.
Definition dnnl_types.h:1347
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition dnnl_types.h:1335
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition dnnl_types.h:1340
dnnl_alg_kind_t alg_kind
LRN algorithm.
Definition dnnl_types.h:1338
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1332
A descriptor of a matrix multiplication operation.
Definition dnnl_types.h:1594
dnnl_memory_desc_t weights_desc
Weights memory descriptor.
Definition dnnl_types.h:1601
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition dnnl_types.h:1605
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1597
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition dnnl_types.h:1603
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition dnnl_types.h:1599
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition dnnl_types.h:1607
Memory descriptor.
Definition dnnl_types.h:1050
dnnl_wino_desc_t wino_desc
Tensor of weights for integer 8bit winograd convolution.
Definition dnnl_types.h:1090
dnnl_dim_t offset0
Offset from memory origin to the current block, non-zero only in a description of a memory sub-block.
Definition dnnl_types.h:1081
dnnl_blocking_desc_t blocking
Description of the data layout for memory formats that use blocking.
Definition dnnl_types.h:1088
dnnl_data_type_t data_type
Data type of the tensor elements.
Definition dnnl_types.h:1070
dnnl_dims_t dims
Dimensions in the following order:
Definition dnnl_types.h:1067
dnnl_dims_t padded_offsets
Per-dimension offset from the padding to actual data, the top-level tensor with offsets applied must ...
Definition dnnl_types.h:1077
int ndims
Number of dimensions.
Definition dnnl_types.h:1052
dnnl_dims_t padded_dims
Size of the data including padding in each dimension.
Definition dnnl_types.h:1073
dnnl_rnn_packed_desc_t rnn_packed_desc
Tensor of packed weights for RNN.
Definition dnnl_types.h:1092
dnnl_format_kind_t format_kind
Memory format kind.
Definition dnnl_types.h:1084
An opaque structure to describe a memory.
A descriptor of a pooling operation.
Definition dnnl_types.h:1291
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1294
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition dnnl_types.h:1308
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition dnnl_types.h:1306
dnnl_dims_t strides
Pooling kernel strides for spatial dimensions.
Definition dnnl_types.h:1312
dnnl_dims_t padding[2]
Padding in each spatial dimension.
Definition dnnl_types.h:1318
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition dnnl_types.h:1304
dnnl_alg_kind_t alg_kind
The kind of pooling algorithm.
Definition dnnl_types.h:1302
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition dnnl_types.h:1297
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition dnnl_types.h:1310
dnnl_dims_t kernel
Pooling kernel spatial dimensions.
Definition dnnl_types.h:1314
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition dnnl_types.h:1320
An opaque structure for a chain of post operations.
An opaque structure for primitive descriptor attributes.
An opaque structure to describe a primitive descriptor iterator.
An opaque structure to describe a primitive descriptor.
An opaque structure to describe a primitive.
A descriptor of resampling operation.
Definition dnnl_types.h:1616
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition dnnl_types.h:1633
dnnl_alg_kind_t alg_kind
The kind of the resampling algorithm.
Definition dnnl_types.h:1625
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition dnnl_types.h:1622
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition dnnl_types.h:1629
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition dnnl_types.h:1631
float factors[DNNL_MAX_NDIMS]
Resampling factor in each spatial dimension.
Definition dnnl_types.h:1635
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition dnnl_types.h:1627
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1619
A descriptor for an RNN operation.
Definition dnnl_types.h:1486
dnnl_rnn_direction_t direction
The direction of RNN primitive execution.
Definition dnnl_types.h:1497
dnnl_memory_desc_t diff_src_iter_desc
Source gradient iter memory descriptor for hidden state.
Definition dnnl_types.h:1528
dnnl_memory_desc_t weights_layer_desc
Weights layer memory descriptor.
Definition dnnl_types.h:1505
dnnl_memory_desc_t dst_iter_c_desc
Destination iter memory descriptor for cell state.
Definition dnnl_types.h:1515
dnnl_memory_desc_t diff_dst_iter_c_desc
Destination gradient iteration memory descriptor for cell state.
Definition dnnl_types.h:1542
dnnl_memory_desc_t diff_weights_iter_desc
Weights gradient iter memory descriptor.
Definition dnnl_types.h:1534
dnnl_alg_kind_t cell_kind
RNN cell kind.
Definition dnnl_types.h:1495
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1489
dnnl_memory_desc_t diff_dst_layer_desc
Destination gradient layer memory descriptor.
Definition dnnl_types.h:1538
dnnl_memory_desc_t diff_src_layer_desc
Source gradient layer memory descriptor.
Definition dnnl_types.h:1526
dnnl_memory_desc_t diff_src_iter_c_desc
Source gradient iter memory descriptor for cell state.
Definition dnnl_types.h:1530
dnnl_memory_desc_t weights_projection_desc
Weights projection memory descriptor.
Definition dnnl_types.h:1523
dnnl_memory_desc_t diff_weights_peephole_desc
Weights gradient peephole memory descriptor.
Definition dnnl_types.h:1546
dnnl_memory_desc_t diff_weights_layer_desc
Weights gradient layer memory descriptor.
Definition dnnl_types.h:1532
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition dnnl_types.h:1492
dnnl_memory_desc_t src_iter_c_desc
Source iteration memory descriptor for cell state.
Definition dnnl_types.h:1503
unsigned int flags
RNN cell flags.
Definition dnnl_types.h:1553
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition dnnl_types.h:1509
dnnl_memory_desc_t src_layer_desc
Source layer memory descriptor.
Definition dnnl_types.h:1499
dnnl_memory_desc_t dst_layer_desc
Destination layer memory descriptor.
Definition dnnl_types.h:1511
dnnl_alg_kind_t activation_kind
Activation function used for vanilla_rnn cell kind.
Definition dnnl_types.h:1556
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition dnnl_types.h:1536
dnnl_memory_desc_t weights_peephole_desc
Weights peephole memory descriptor.
Definition dnnl_types.h:1519
dnnl_memory_desc_t dst_iter_desc
Destination iter memory descriptor for hidden state.
Definition dnnl_types.h:1513
dnnl_memory_desc_t diff_weights_projection_desc
Weights gradient projection memory descriptor.
Definition dnnl_types.h:1550
dnnl_memory_desc_t src_iter_desc
Source iteration memory descriptor for hidden state.
Definition dnnl_types.h:1501
dnnl_memory_desc_t weights_iter_desc
Weights iteration memory descriptor.
Definition dnnl_types.h:1507
dnnl_memory_desc_t diff_dst_iter_desc
Destination gradient iteration memory descriptor for hidden state.
Definition dnnl_types.h:1540
Description of tensor of packed weights for rnn.
Definition dnnl_types.h:1005
A descriptor of a shuffle operation.
Definition dnnl_types.h:1187
int axis
Axis for shuffling.
Definition dnnl_types.h:1198
dnnl_memory_desc_t data_desc
Source and destination memory descriptor, and source and destination gradient memory descriptor.
Definition dnnl_types.h:1196
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1190
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition dnnl_types.h:1193
dnnl_dim_t group_size
Number of groups.
Definition dnnl_types.h:1200
A descriptor of a Softmax operation.
Definition dnnl_types.h:1261
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition dnnl_types.h:1267
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition dnnl_types.h:1264
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition dnnl_types.h:1269
int softmax_axis
The axis along which to perform the softmax.
Definition dnnl_types.h:1273
dnnl_memory_desc_t diff_desc
Source and Destination of gradient memory descriptor.
Definition dnnl_types.h:1271
An opaque structure to describe an execution stream.
Structure containing version information as per Semantic Versioning
Definition dnnl_types.h:2120
const char * hash
Git hash of the sources (may be absent)
Definition dnnl_types.h:2124
unsigned cpu_runtime
CPU runtime.
Definition dnnl_types.h:2125
int minor
Minor version.
Definition dnnl_types.h:2122
int patch
Patch version.
Definition dnnl_types.h:2123
int major
Major version.
Definition dnnl_types.h:2121
unsigned gpu_runtime
GPU runtime.
Definition dnnl_types.h:2126
Description of tensor of weights for winograd 2x3 convolution.
Definition dnnl_types.h:980