mxnet
dnnl_types.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright 2016-2021 Intel Corporation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *******************************************************************************/
16 
19 
20 #ifndef ONEAPI_DNNL_DNNL_TYPES_H
21 #define ONEAPI_DNNL_DNNL_TYPES_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
28 #include <stddef.h>
29 #include <stdint.h>
31 
34 
37 
39 typedef enum {
55 
57 
60 
62 typedef enum {
66  dnnl_f16 = 1,
68  dnnl_bf16 = 2,
70  dnnl_f32 = 3,
72  dnnl_s32 = 4,
74  dnnl_s8 = 5,
76  dnnl_u8 = 6,
78 
80 typedef enum {
95 
164 typedef enum {
170 
171  // Semantic agnostic section
172  // The physical order of dimensions is defined by the permutation of the
173  // characters, assuming that ab..z defines the natural order.
174 
175  // Plain formats
176 
190 
191  // Permuted plain formats
192 
221 
222  // Opaque blocked formats
223 
697 
701 
702  // Aliases
703 
728 
761 
784 
833 
834  // Opaque data types, are not to be used explicitly
835 
836  // data
882 
883  // weights, 2D
894  // weights, 3D
925 
926  // weights, 4D
959 
960  // weights, 5D
991 
992  // weights w/ groups, 3D
1025 
1026  // weights w/ groups, 4D
1057 
1063 
1076 
1077  // weights w/ groups, 6D
1107  // weights, 3D
1131  // weights, 4D
1155  // weights, 5D
1298 
1300 
1305 
1307 typedef enum {
1308  // TODO: suggest renames
1331 
1334 typedef enum {
1381 
1386 
1388 typedef enum {
1488  dnnl_lbr_gru = 0x4fff,
1490  dnnl_binary_add = 0x1fff0,
1492  dnnl_binary_mul = 0x1fff1,
1494  dnnl_binary_max = 0x1fff2,
1496  dnnl_binary_min = 0x1fff3,
1498  dnnl_binary_div = 0x1fff4,
1500  dnnl_binary_sub = 0x1fff5,
1502  dnnl_binary_ge = 0x1fff6,
1504  dnnl_binary_gt = 0x1fff7,
1506  dnnl_binary_le = 0x1fff8,
1508  dnnl_binary_lt = 0x1fff9,
1510  dnnl_binary_eq = 0x1fffa,
1512  dnnl_binary_ne = 0x1fffb,
1535 } dnnl_alg_kind_t;
1536 
1538 typedef enum {
1548 
1561 
1574 
1587 
1595 
1605 
1608 
1611 
1615 #define DNNL_MAX_NDIMS 12
1616 
1619 #define DNNL_RUNTIME_DIM_VAL INT64_MIN
1620 
1624 #define DNNL_RUNTIME_SIZE_VAL ((size_t)DNNL_RUNTIME_DIM_VAL)
1625 
1628 static const union {
1629  unsigned u;
1630  float f;
1631 } DNNL_RUNTIME_F32_VAL_REP = {0x7fc000d0};
1633 
1636 #define DNNL_RUNTIME_F32_VAL (DNNL_RUNTIME_F32_VAL_REP.f)
1637 
1639 static const int DNNL_RUNTIME_S32_VAL_REP = INT32_MIN;
1641 
1644 #define DNNL_RUNTIME_S32_VAL DNNL_RUNTIME_S32_VAL_REP
1645 
1647 typedef int64_t dnnl_dim_t;
1648 
1650 typedef dnnl_dim_t dnnl_dims_t[DNNL_MAX_NDIMS];
1651 
1655 typedef struct {
1658  dnnl_dims_t strides;
1659  // Innermost section
1660  // ASSUMPTION: the innermost blocks are always dense
1664  dnnl_dims_t inner_blks;
1667  dnnl_dims_t inner_idxs;
1669 
1671 typedef enum {
1674  // Tensors of weights for 2x3 winograd convolutions.
1678  // Tensor of weights for 4x3 convolution.
1681 
1683 typedef struct {
1684  dnnl_wino_memory_format_t wino_format;
1685  int r;
1686  int alpha;
1687  int ic;
1688  int oc;
1693  float adj_scale;
1694  size_t size;
1696 
1697 typedef enum {
1703 
1706 #define DNNL_RNN_MAX_N_PARTS 4
1707 
1709 typedef struct {
1710  dnnl_rnn_packed_memory_format_t format;
1711  int n_parts;
1712  int n;
1713  int ldb;
1715  size_t part_pack_size[DNNL_RNN_MAX_N_PARTS];
1716  unsigned pack_part[DNNL_RNN_MAX_N_PARTS];
1718  size_t size;
1719  char reserved[200];
1721 
1723 typedef enum {
1740 
1742 typedef struct {
1745  uint64_t flags;
1753  char reserved[60];
1755 
1760 typedef struct {
1762  int ndims;
1777  dnnl_dims_t dims;
1778 
1781 
1783  dnnl_dims_t padded_dims;
1784 
1787  dnnl_dims_t padded_offsets;
1788 
1791  dnnl_dim_t offset0;
1792 
1794  dnnl_format_kind_t format_kind;
1795  union {
1803  // ... other descriptions possible
1804  } format_desc;
1805 
1808 
1811 struct dnnl_memory;
1812 
1814 typedef struct dnnl_memory *dnnl_memory_t;
1815 
1817 typedef const struct dnnl_memory *const_dnnl_memory_t;
1818 
1821 #define DNNL_MEMORY_NONE (NULL)
1822 
1825 #define DNNL_MEMORY_ALLOCATE ((void *)(size_t)-1)
1826 
1828 
1833 
1835 typedef void *dnnl_op_desc_t;
1837 typedef const void *const_dnnl_op_desc_t;
1838 
1841 
1844 
1847 
1849 typedef struct {
1859  dnnl_alg_kind_t alg_kind;
1877  dnnl_dims_t strides;
1879  dnnl_dims_t dilates;
1883  dnnl_dims_t padding[2];
1887 
1889 
1892 
1895 
1897 
1900 
1902 typedef struct {
1913  int axis;
1915  dnnl_dim_t group_size;
1917 
1919 
1922 
1924 typedef struct {
1946  dnnl_alg_kind_t alg_kind;
1975  float alpha, beta;
1977 
1979 
1982 
1984 typedef struct {
1998 
2000 
2003 
2007 
2009 
2012 
2014 typedef struct {
2025  dnnl_alg_kind_t alg_kind;
2035  dnnl_dims_t strides;
2037  dnnl_dims_t kernel;
2041  dnnl_dims_t padding[2];
2045 
2047 
2050 
2052 typedef struct {
2063  dnnl_alg_kind_t alg_kind;
2073  dnnl_dims_t strides;
2075  dnnl_dims_t kernel;
2079  dnnl_dims_t padding[2];
2083  dnnl_dims_t dilation;
2085 
2087 
2090 typedef struct {
2107 
2109 
2112 
2114 typedef struct {
2123  dnnl_alg_kind_t alg_kind;
2130  dnnl_dim_t local_size;
2132  float lrn_alpha;
2134  float lrn_beta;
2136  float lrn_k;
2137 } dnnl_lrn_desc_t;
2138 
2140 
2143 
2145 typedef struct {
2169  unsigned flags;
2171 
2173 
2176 
2178 typedef struct {
2206  unsigned flags;
2208 
2210 
2213 
2215 typedef struct {
2242 
2244 
2247 
2249 typedef enum {
2253 
2255 typedef enum {
2269 
2271 typedef struct {
2280  dnnl_alg_kind_t cell_kind;
2282  dnnl_rnn_direction_t direction;
2309 
2336 
2338  unsigned int flags;
2341  dnnl_alg_kind_t activation_kind;
2342  float alpha;
2343  float beta;
2344 
2345 } dnnl_rnn_desc_t;
2346 
2348 
2351 
2353 typedef struct {
2360  dnnl_alg_kind_t alg_kind;
2362  dnnl_memory_desc_t src_desc[2];
2366 
2368 
2371 
2379 typedef struct {
2394 
2396 
2399 
2401 typedef struct {
2410  dnnl_alg_kind_t alg_kind;
2420  float factors[DNNL_MAX_NDIMS];
2422 
2424 
2427 
2429 typedef struct {
2438  dnnl_alg_kind_t alg_kind;
2454  float p, eps;
2456 
2458 
2460 
2463 
2465 typedef enum {
2473 
2476 struct dnnl_engine;
2478 typedef struct dnnl_engine *dnnl_engine_t;
2479 #if 0
2480 // FIXME: looks like this never happens
2482 typedef const struct dnnl_engine *const_dnnl_engine_t;
2483 #endif
2484 
2486 
2491 
2495 
2498 
2500 typedef const struct dnnl_primitive_desc_iterator
2502 
2505 struct dnnl_primitive_desc;
2506 
2509 
2512 
2514 
2517 
2519 typedef enum {
2529 
2531 typedef enum {
2555 
2561 struct dnnl_primitive_attr;
2562 
2566 
2569 
2588 struct dnnl_post_ops;
2589 
2592 
2594 typedef const struct dnnl_post_ops *const_dnnl_post_ops_t;
2595 
2597 
2600 
2603 struct dnnl_primitive;
2608 
2610 #define DNNL_ARG_SRC_0 1
2611 #define DNNL_ARG_SRC DNNL_ARG_SRC_0
2614 #define DNNL_ARG_SRC_LAYER DNNL_ARG_SRC_0
2617 #define DNNL_ARG_FROM DNNL_ARG_SRC_0
2620 
2622 #define DNNL_ARG_SRC_1 2
2623 #define DNNL_ARG_SRC_ITER DNNL_ARG_SRC_1
2626 
2628 #define DNNL_ARG_SRC_2 3
2629 #define DNNL_ARG_SRC_ITER_C DNNL_ARG_SRC_2
2632 
2634 #define DNNL_ARG_DST_0 17
2635 #define DNNL_ARG_DST DNNL_ARG_DST_0
2638 #define DNNL_ARG_TO DNNL_ARG_DST_0
2641 #define DNNL_ARG_DST_LAYER DNNL_ARG_DST_0
2643 
2645 #define DNNL_ARG_DST_1 18
2646 #define DNNL_ARG_DST_ITER DNNL_ARG_DST_1
2649 
2651 #define DNNL_ARG_DST_2 19
2652 #define DNNL_ARG_DST_ITER_C DNNL_ARG_DST_2
2655 
2657 #define DNNL_ARG_WEIGHTS_0 33
2658 #define DNNL_ARG_WEIGHTS DNNL_ARG_WEIGHTS_0
2661 #define DNNL_ARG_SCALE_SHIFT DNNL_ARG_WEIGHTS_0
2664 #define DNNL_ARG_WEIGHTS_LAYER DNNL_ARG_WEIGHTS_0
2667 
2669 #define DNNL_ARG_WEIGHTS_1 34
2670 #define DNNL_ARG_WEIGHTS_ITER DNNL_ARG_WEIGHTS_1
2673 
2675 #define DNNL_ARG_WEIGHTS_2 35
2676 #define DNNL_ARG_WEIGHTS_PEEPHOLE DNNL_ARG_WEIGHTS_2
2679 
2681 #define DNNL_ARG_WEIGHTS_3 36
2682 #define DNNL_ARG_WEIGHTS_PROJECTION DNNL_ARG_WEIGHTS_3
2685 
2687 #define DNNL_ARG_BIAS 41
2688 
2690 #define DNNL_ARG_MEAN 49
2691 #define DNNL_ARG_VARIANCE 50
2693 
2695 #define DNNL_ARG_SCALE 51
2696 #define DNNL_ARG_SHIFT 52
2698 
2701 #define DNNL_ARG_WORKSPACE 64
2702 #define DNNL_ARG_SCRATCHPAD 80
2704 
2706 #define DNNL_ARG_DIFF_SRC_0 129
2707 #define DNNL_ARG_DIFF_SRC DNNL_ARG_DIFF_SRC_0
2710 #define DNNL_ARG_DIFF_SRC_LAYER DNNL_ARG_DIFF_SRC_0
2713 
2715 #define DNNL_ARG_DIFF_SRC_1 130
2716 #define DNNL_ARG_DIFF_SRC_ITER DNNL_ARG_DIFF_SRC_1
2719 
2721 #define DNNL_ARG_DIFF_SRC_2 131
2722 #define DNNL_ARG_DIFF_SRC_ITER_C DNNL_ARG_DIFF_SRC_2
2725 
2727 #define DNNL_ARG_DIFF_DST_0 145
2728 #define DNNL_ARG_DIFF_DST DNNL_ARG_DIFF_DST_0
2731 #define DNNL_ARG_DIFF_DST_LAYER DNNL_ARG_DIFF_DST_0
2734 
2736 #define DNNL_ARG_DIFF_DST_1 146
2737 #define DNNL_ARG_DIFF_DST_ITER DNNL_ARG_DIFF_DST_1
2740 
2742 #define DNNL_ARG_DIFF_DST_2 147
2743 #define DNNL_ARG_DIFF_DST_ITER_C DNNL_ARG_DIFF_DST_2
2746 
2748 #define DNNL_ARG_DIFF_WEIGHTS_0 161
2749 #define DNNL_ARG_DIFF_WEIGHTS DNNL_ARG_DIFF_WEIGHTS_0
2752 #define DNNL_ARG_DIFF_SCALE_SHIFT DNNL_ARG_DIFF_WEIGHTS_0
2755 #define DNNL_ARG_DIFF_WEIGHTS_LAYER DNNL_ARG_DIFF_WEIGHTS_0
2758 
2760 #define DNNL_ARG_DIFF_WEIGHTS_1 162
2761 #define DNNL_ARG_DIFF_WEIGHTS_ITER DNNL_ARG_DIFF_WEIGHTS_1
2764 
2766 #define DNNL_ARG_DIFF_WEIGHTS_2 163
2767 #define DNNL_ARG_DIFF_WEIGHTS_PEEPHOLE DNNL_ARG_DIFF_WEIGHTS_2
2770 
2772 #define DNNL_ARG_DIFF_WEIGHTS_3 164
2773 #define DNNL_ARG_DIFF_WEIGHTS_PROJECTION DNNL_ARG_DIFF_WEIGHTS_3
2776 
2778 #define DNNL_ARG_DIFF_BIAS 169
2779 
2781 #define DNNL_ARG_DIFF_SCALE 255
2782 #define DNNL_ARG_DIFF_SHIFT 256
2784 
2786 #define DNNL_ARG_ATTR_OUTPUT_SCALES 513
2787 
2790 #define DNNL_ARG_MULTIPLE_SRC 1024
2791 #define DNNL_ARG_MULTIPLE_DST 2048
2794 
2796 #define DNNL_ARG_ATTR_ZERO_POINTS 4096
2797 
2800 #define DNNL_ARG_ATTR_POST_OP_DW 8192
2801 
2803 #define DNNL_ARG_ATTR_MULTIPLE_POST_OP_BASE 16384
2804 
2807 #define DNNL_ARG_ATTR_MULTIPLE_POST_OP(idx) \
2808  (DNNL_ARG_ATTR_MULTIPLE_POST_OP_BASE * ((idx) + 1))
2809 
2811 #define DNNL_ARG_ATTR_INPUT_SCALES 1048576
2812 
2815 typedef struct {
2816  int arg;
2817  dnnl_memory_t memory;
2818 } dnnl_exec_arg_t;
2819 
2821 
2824 
2854 typedef enum {
2856 
2859 
2862 
2865 
2870 
2873 
2876 
2878 
2879  // memory and op descriptor section
2901 
2902  // memory descriptor section
2913 
2914  // Max value to prevent UB for internal use only dnnl_query_t
2915  dnnl_query_max = 0x7fff,
2916 } dnnl_query_t;
2917 
2919 
2921 
2924 
2926 typedef enum {
2927  // In-order execution.
2934 
2937 struct dnnl_stream;
2939 typedef struct dnnl_stream *dnnl_stream_t;
2941 typedef const struct dnnl_stream *const_dnnl_stream_t;
2942 
2944 
2947 
2949 #define DNNL_RUNTIME_NONE 0u
2950 
2952 #define DNNL_RUNTIME_SEQ 1u
2953 
2955 #define DNNL_RUNTIME_OMP 2u
2956 
2958 #define DNNL_RUNTIME_TBB 4u
2959 
2961 #define DNNL_RUNTIME_THREADPOOL 8u
2962 
2964 #define DNNL_RUNTIME_OCL 256u
2965 
2967 #define DNNL_RUNTIME_SYCL 512u
2968 
2970 #define DNNL_RUNTIME_DPCPP DNNL_RUNTIME_SYCL
2971 
2974 typedef struct {
2975  int major;
2976  int minor;
2977  int patch;
2978  const char *hash;
2979  unsigned cpu_runtime;
2980  unsigned gpu_runtime;
2981 } dnnl_version_t;
2982 
2984 #define DNNL_JIT_PROFILE_NONE 0u
2985 
2987 #define DNNL_JIT_PROFILE_VTUNE 1u
2988 
2990 #define DNNL_JIT_PROFILE_LINUX_PERFMAP 2u
2991 
2993 #define DNNL_JIT_PROFILE_LINUX_JITDUMP 4u
2994 
2997 #define DNNL_JIT_PROFILE_LINUX_JITDUMP_USE_TSC 8u
2998 
3000 #define DNNL_JIT_PROFILE_LINUX_PERF \
3001  (DNNL_JIT_PROFILE_LINUX_JITDUMP | DNNL_JIT_PROFILE_LINUX_PERFMAP)
3002 
3004 typedef enum {
3007 
3010 
3013 
3016 
3020 
3024 
3028 
3033 
3038 
3043 
3046 
3047 } dnnl_cpu_isa_t;
3048 
3050 typedef enum {
3053 
3057 
3059 
3061 
3062 #ifdef __cplusplus
3063 }
3064 #endif
3065 
3066 #endif /* ONEAPI_DNNL_TYPES_H */
Definition: dnnl_types.h:923
Definition: dnnl_types.h:1194
Reduction using sum.
Definition: dnnl_types.h:1522
Definition: dnnl_types.h:912
dnnl_memory_desc_t diff_dst_layer_desc
Destination gradient layer memory descriptor.
Definition: dnnl_types.h:2323
dnnl_dims_t dilation
Pooling dilations for spatial dimensions.
Definition: dnnl_types.h:2083
A layer normalization primitive.
Definition: dnnl_types.h:1360
Definition: dnnl_types.h:551
Definition: dnnl_types.h:1091
Definition: dnnl_types.h:958
Definition: dnnl_types.h:825
plain 7D tensor
Definition: dnnl_types.h:184
destination grad. memory desc
Definition: dnnl_types.h:2909
Definition: dnnl_types.h:940
Definition: dnnl_types.h:1054
An element-wise primitive.
Definition: dnnl_types.h:1350
dnnl_alg_kind_t activation_kind
Definition: dnnl_types.h:2341
Definition: dnnl_types.h:458
Definition: dnnl_types.h:456
Definition: dnnl_types.h:1292
Reduction using lp norm without final pth-root.
Definition: dnnl_types.h:1532
Definition: dnnl_types.h:568
Eltwise: hardswish.
Definition: dnnl_types.h:1448
Definition: dnnl_types.h:606
Definition: dnnl_types.h:461
dnnl_memory_desc_t weights_layer_desc
Weights layer memory descriptor.
Definition: dnnl_types.h:2290
Definition: dnnl_types.h:1251
dnnl_alg_kind_t alg_kind
Definition: dnnl_types.h:2025
6D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:362
Definition: dnnl_types.h:878
Definition: dnnl_types.h:497
Definition: dnnl_types.h:1260
Definition: dnnl_types.h:367
Definition: dnnl_types.h:448
Definition: dnnl_types.h:377
execution engine
Definition: dnnl_types.h:2857
dnnl_memory_desc_t weights_desc
Weights memory descriptor.
Definition: dnnl_types.h:2228
Definition: dnnl_types.h:492
Definition: dnnl_types.h:953
permuted 6D tensor
Definition: dnnl_types.h:424
dnnl_memory_desc_t diff_dst_iter_c_desc
Destination gradient iteration memory descriptor for cell state.
Definition: dnnl_types.h:2327
A batch normalization primitive.
Definition: dnnl_types.h:1358
Definition: dnnl_types.h:373
Eltwise: bounded_relu.
Definition: dnnl_types.h:1415
Binary greater than.
Definition: dnnl_types.h:1504
Definition: dnnl_types.h:482
Definition: dnnl_types.h:1700
Definition: dnnl_types.h:169
3D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:229
Definition: dnnl_types.h:582
Definition: dnnl_types.h:89
Definition: dnnl_types.h:1246
int r
Definition: dnnl_types.h:1685
Definition: dnnl_types.h:811
CPU engine.
Definition: dnnl_types.h:2469
Definition: dnnl_types.h:1138
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2148
Eltwise: ReLU (dst for backward)
Definition: dnnl_types.h:1450
Definition: dnnl_types.h:919
Definition: dnnl_types.h:1049
destination memory desc
Definition: dnnl_types.h:2908
Direct deconvolution.
Definition: dnnl_types.h:1397
Definition: dnnl_types.h:1094
Definition: dnnl_types.h:400
Definition: dnnl_types.h:1271
Definition: dnnl_types.h:974
struct dnnl_memory * dnnl_memory_t
A memory handle.
Definition: dnnl_types.h:1814
Definition: dnnl_types.h:513
A descriptor for an RNN operation.
Definition: dnnl_types.h:2271
Definition: dnnl_types.h:450
Definition: dnnl_types.h:2553
Definition: dnnl_types.h:436
layer normalization descriptor
Definition: dnnl_types.h:2890
Definition: dnnl_types.h:877
Definition: dnnl_types.h:1295
Definition: dnnl_types.h:504
Definition: dnnl_types.h:466
Definition: dnnl_types.h:431
Definition: dnnl_types.h:2864
Definition: dnnl_types.h:969
Definition: dnnl_types.h:1147
Definition: dnnl_types.h:542
dnnl_primitive_kind_t
Definition: dnnl_types.h:1334
Definition: dnnl_types.h:1001
permuted 3D tensor
Definition: dnnl_types.h:201
Definition: dnnl_types.h:311
Eltwise: linear.
Definition: dnnl_types.h:1413
Definition: dnnl_types.h:1010
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition: dnnl_types.h:2232
A PReLU primitive.
Definition: dnnl_types.h:1380
Definition: dnnl_types.h:676
Definition: dnnl_types.h:1236
Default behavior, no downconversions allowed.
Definition: dnnl_types.h:2521
dnnl_dim_t local_size
Definition: dnnl_types.h:2130
Internal weights format for 2x3 Winograd.
Definition: dnnl_types.h:1676
Definition: dnnl_types.h:1149
dnnl_memory_desc_t data_scaleshift_desc
Definition: dnnl_types.h:2196
Definition: dnnl_types.h:276
dnnl_memory_desc_t weights_desc
Definition: dnnl_types.h:2101
permuted 6D tensor
Definition: dnnl_types.h:425
Definition: dnnl_types.h:1017
permuted 12D tensor
Definition: dnnl_types.h:220
void * dnnl_op_desc_t
A pointer to any of the operation descriptors.
Definition: dnnl_types.h:1835
Definition: dnnl_types.h:1244
Definition: dnnl_types.h:1212
Definition: dnnl_types.h:628
Definition: dnnl_types.h:1137
Definition: dnnl_types.h:230
Definition: dnnl_types.h:1146
Definition: dnnl_types.h:1056
int n_parts
Definition: dnnl_types.h:1711
Definition: dnnl_types.h:1000
Definition: dnnl_types.h:508
dnnl_alg_kind_t alg_kind
Definition: dnnl_types.h:2123
A resampling primitive.
Definition: dnnl_types.h:1374
dnnl_format_kind_t format_kind
Memory format kind.
Definition: dnnl_types.h:1794
Definition: dnnl_types.h:1105
Definition: dnnl_types.h:623
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:2151
Definition: dnnl_types.h:1488
Definition: dnnl_types.h:1177
Any ISA (excepting those listed as initial support)
Definition: dnnl_types.h:3006
Definition: dnnl_types.h:1269
dnnl_dims_t strides
Pooling kernel strides for spatial dimensions.
Definition: dnnl_types.h:2035
int oc
Definition: dnnl_types.h:1688
Definition: dnnl_types.h:826
Definition: dnnl_types.h:1724
Definition: dnnl_types.h:457
4D CNN weights tensor, an alias to dnnl_acdb
Definition: dnnl_types.h:746
Undefined data type, used for empty memory descriptors.
Definition: dnnl_types.h:64
Definition: dnnl_types.h:671
Definition: dnnl_types.h:618
Definition: dnnl_types.h:1040
Definition: dnnl_types.h:608
Definition: dnnl_types.h:655
Definition: dnnl_types.h:1698
Definition: dnnl_types.h:385
Definition: dnnl_types.h:685
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:2390
Definition: dnnl_types.h:442
dnnl_dim_t group_size
Number of groups.
Definition: dnnl_types.h:1915
Definition: dnnl_types.h:224
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition: dnnl_types.h:1869
Definition: dnnl_types.h:1016
Definition: dnnl_types.h:370
Definition: dnnl_types.h:598
5D CNN weights tensor, an alias to dnnl_acdeb
Definition: dnnl_types.h:758
float scale_adjust
Scale applied to the data.
Definition: dnnl_types.h:1749
5D LSTM projection tensor
Definition: dnnl_types.h:824
Definition: dnnl_types.h:578
dnnl_convolution_desc_t dnnl_deconvolution_desc_t
A descriptor of a deconvolution operation.
Definition: dnnl_types.h:1894
Definition: dnnl_types.h:289
4D CNN weights tensor (incl. groups), an alias to dnnl_abcd
Definition: dnnl_types.h:763
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:1987
dnnl_alg_kind_t alg_kind
Definition: dnnl_types.h:1859
Definition: dnnl_types.h:295
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:2069
Definition: dnnl_types.h:1265
Definition: dnnl_types.h:2928
Definition: dnnl_types.h:1228
Definition: dnnl_types.h:1208
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:1885
Definition: dnnl_types.h:278
4D CNN weights tensor (incl. groups), an alias to dnnl_abdc
Definition: dnnl_types.h:765
Definition: dnnl_types.h:1192
Definition: dnnl_types.h:1547
Definition: dnnl_types.h:1216
scratchpad memory desc
Definition: dnnl_types.h:2911
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:2412
Definition: dnnl_types.h:888
Definition: dnnl_types.h:317
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:2020
dnnl_memory_t memory
Input/output memory.
Definition: dnnl_types.h:2817
const void * const_dnnl_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: dnnl_types.h:1837
Intel Streaming SIMD Extensions 4.1 (Intel SSE4.1)
Definition: dnnl_types.h:3009
Eltwise: clip.
Definition: dnnl_types.h:1434
Definition: dnnl_types.h:1196
Definition: dnnl_types.h:902
Definition: dnnl_types.h:380
Definition: dnnl_types.h:600
Definition: dnnl_types.h:290
Definition: dnnl_types.h:1059
Definition: dnnl_types.h:3042
Definition: dnnl_types.h:1219
Definition: dnnl_types.h:993
prelu descriptor
Definition: dnnl_types.h:2900
An opaque structure for primitive descriptor attributes.
Definition: dnnl_types.h:900
Definition: dnnl_types.h:644
Definition: dnnl_types.h:331
Definition: dnnl_types.h:1114
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1873
Definition: dnnl_types.h:336
Definition: dnnl_types.h:533
logsoftmax descriptor
Definition: dnnl_types.h:2895
Definition: dnnl_types.h:1034
permuted 4D tensor
Definition: dnnl_types.h:198
Definition: dnnl_types.h:1197
Definition: dnnl_types.h:658
Definition: dnnl_types.h:307
Definition: dnnl_types.h:905
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:2027
Definition: dnnl_types.h:376
float lrn_alpha
LRN alpha parameter.
Definition: dnnl_types.h:2132
dnnl_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: dnnl_types.h:2230
dnnl_memory_desc_t dst_iter_c_desc
Destination iter memory descriptor for cell state.
Definition: dnnl_types.h:2300
Primitive iterator passed over last primitive descriptor.
Definition: dnnl_types.h:49
plain 8D tensor
Definition: dnnl_types.h:185
Definition: dnnl_types.h:1165
Definition: dnnl_types.h:468
int minor
Minor version.
Definition: dnnl_types.h:2976
Definition: dnnl_types.h:411
Definition: dnnl_types.h:581
float alpha
Definition: dnnl_types.h:2342
Definition: dnnl_types.h:335
Definition: dnnl_types.h:641
2D CNN weights tensor, an alias to dnnl_ab
Definition: dnnl_types.h:730
Definition: dnnl_types.h:1075
Definition: dnnl_types.h:1225
Definition: dnnl_types.h:502
Definition: dnnl_types.h:654
dnnl_memory_desc_t dst_layer_desc
Destination layer memory descriptor.
Definition: dnnl_types.h:2296
Definition: dnnl_types.h:649
plain 11D tensor
Definition: dnnl_types.h:188
Definition: dnnl_types.h:1224
Definition: dnnl_types.h:1171
permuted 5D tensor
Definition: dnnl_types.h:199
Definition: dnnl_types.h:496
Definition: dnnl_types.h:1268
dnnl_engine_kind_t
Kinds of engines.
Definition: dnnl_types.h:2465
Definition: dnnl_types.h:946
struct dnnl_primitive_desc * dnnl_primitive_desc_t
A primitive descriptor handle.
Definition: dnnl_types.h:2508
Definition: dnnl_types.h:264
Definition: dnnl_types.h:1067
Definition: dnnl_types.h:918
Eltwise: square root (dst for backward)
Definition: dnnl_types.h:1456
Definition: dnnl_types.h:951
non-standard 16-bit (bfloat16 w/ 7 bit mantissa) floating point.
Definition: dnnl_types.h:68
Definition: dnnl_types.h:908
Definition: dnnl_types.h:945
Definition: dnnl_types.h:1384
Definition: dnnl_types.h:375
Definition: dnnl_types.h:483
Definition: dnnl_types.h:1117
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2093
Definition: dnnl_types.h:645
Definition: dnnl_types.h:562
Definition: dnnl_types.h:656
Undefined primitive.
Definition: dnnl_types.h:1336
Definition: dnnl_types.h:916
Definition: dnnl_types.h:401
Definition: dnnl_types.h:938
Definition: dnnl_types.h:1154
Definition: dnnl_types.h:553
Definition: dnnl_types.h:1142
int ldb
Definition: dnnl_types.h:1713
Definition: dnnl_types.h:595
dnnl_dims_t strides
Convolution strides in each spatial dimension.
Definition: dnnl_types.h:1877
Definition: dnnl_types.h:879
int softmax_axis
The axis along which to perform the softmax.
Definition: dnnl_types.h:1996
Unidirectional execution of RNN primitive from left to right.
Definition: dnnl_types.h:2257
Definition: dnnl_types.h:1247
Definition: dnnl_types.h:1125
Definition: dnnl_types.h:1151
Definition: dnnl_types.h:1161
Definition: dnnl_types.h:1259
Definition: dnnl_types.h:2548
Definition: dnnl_types.h:526
Definition: dnnl_types.h:1093
Definition: dnnl_types.h:1070
Definition: dnnl_types.h:1030
Definition: dnnl_types.h:1129
Definition: dnnl_types.h:251
Definition: dnnl_types.h:985
Definition: dnnl_types.h:1007
Definition: dnnl_types.h:409
5D CNN weights tensor (incl. groups), an alias to dnnl_acbde
Definition: dnnl_types.h:775
Definition: dnnl_types.h:432
Definition: dnnl_types.h:1046
3D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:235
Definition: dnnl_types.h:341
Definition: dnnl_types.h:1135
Eltwise: clip version 2.
Definition: dnnl_types.h:1436
Definition: dnnl_types.h:872
Intel AVX2 and Intel Deep Learning Boost (Intel DL Boost) support.
Definition: dnnl_types.h:3045
Definition: dnnl_types.h:1124
Definition: dnnl_types.h:404
dnnl_dims_t dims
Definition: dnnl_types.h:1777
const struct dnnl_memory * const_dnnl_memory_t
A constant memory handle.
Definition: dnnl_types.h:1817
Definition: dnnl_types.h:396
Definition: dnnl_types.h:285
Definition: dnnl_types.h:1242
Definition: dnnl_types.h:684
Definition: dnnl_types.h:854
binary descriptor
Definition: dnnl_types.h:2894
dnnl_alg_kind_t alg_kind
Definition: dnnl_types.h:2063
Definition: dnnl_types.h:588
dnnl_memory_desc_t diff_weights_iter_desc
Weights gradient iter memory descriptor.
Definition: dnnl_types.h:2319
Definition: dnnl_types.h:896
Definition: dnnl_types.h:257
permuted 4D tensor
Definition: dnnl_types.h:193
Definition: dnnl_types.h:325
Definition: dnnl_types.h:1020
Definition: dnnl_types.h:2915
Definition: dnnl_types.h:428
Definition: dnnl_types.h:1254
Definition: dnnl_types.h:1266
Description of tensor of packed weights for rnn.
Definition: dnnl_types.h:1709
Definition: dnnl_types.h:648
dnnl_wino_memory_format_t wino_format
Definition: dnnl_types.h:1684
A descriptor of a pooling operation.
Definition: dnnl_types.h:2014
2D CNN activations tensor, an alias to dnnl_ab
Definition: dnnl_types.h:707
plain 2D tensor
Definition: dnnl_types.h:178
Definition: dnnl_types.h:1250
Definition: dnnl_types.h:1220
4D CNN activations tensor, an alias to dnnl_bcda
Definition: dnnl_types.h:723
Definition: dnnl_types.h:822
Definition: dnnl_types.h:520
Definition: dnnl_types.h:416
permuted 5D tensor
Definition: dnnl_types.h:206
Definition: dnnl_types.h:640
Definition: dnnl_types.h:531
Definition: dnnl_types.h:1081
Definition: dnnl_types.h:439
pooling version 2 descriptor
Definition: dnnl_types.h:2898
Definition: dnnl_types.h:514
Undefined memory format kind, used for empty memory descriptors.
Definition: dnnl_types.h:82
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition: dnnl_types.h:2388
Definition: dnnl_types.h:467
Definition: dnnl_types.h:493
Definition: dnnl_types.h:1275
Definition: dnnl_types.h:964
Definition: dnnl_types.h:333
Reduction using lp norm without final pth-root.
Definition: dnnl_types.h:1534
Definition: dnnl_types.h:390
Definition: dnnl_types.h:635
Definition: dnnl_types.h:2265
32-bit signed integer.
Definition: dnnl_types.h:72
Definition: dnnl_types.h:983
Definition: dnnl_types.h:662
dnnl_memory_extra_desc_t extra
Definition: dnnl_types.h:1806
Definition: dnnl_types.h:1175
Definition: dnnl_types.h:1277
Definition: dnnl_types.h:963
Definition: dnnl_types.h:1115
dnnl_memory_desc_t diff_src_iter_c_desc
Source gradient iter memory descriptor for cell state.
Definition: dnnl_types.h:2315
int n
Definition: dnnl_types.h:1712
Definition: dnnl_types.h:1127
Definition: dnnl_types.h:355
int inner_nblks
The number of innermost blocks, e.g. 3 in case of OIhw_4i16o4i_
Definition: dnnl_types.h:1662
Direct convolution.
Definition: dnnl_types.h:1391
int major
Major version.
Definition: dnnl_types.h:2975
Definition: dnnl_types.h:1032
Definition: dnnl_types.h:449
Definition: dnnl_types.h:515
Definition: dnnl_types.h:619
Definition: dnnl_types.h:700
Definition: dnnl_types.h:451
5D tensor blocked by 1st dimension with block size 8
Definition: dnnl_types.h:304
Definition: dnnl_types.h:406
An opaque structure to describe a primitive descriptor iterator.
Definition: dnnl_types.h:556
pooling descriptor
Definition: dnnl_types.h:2887
Convolution algorithm(either direct or Winograd) is chosen just in time.
Definition: dnnl_types.h:1395
Definition: dnnl_types.h:423
Definition: dnnl_types.h:1288
Reduction using mean.
Definition: dnnl_types.h:1526
Definition: dnnl_types.h:1238
Definition: dnnl_types.h:575
Definition: dnnl_types.h:1198
Definition: dnnl_types.h:1018
Definition: dnnl_types.h:1051
Definition: dnnl_types.h:269
Definition: dnnl_types.h:405
Definition: dnnl_types.h:1043
Definition: dnnl_types.h:653
Definition: dnnl_types.h:576
float lrn_beta
LRN beta parameter.
Definition: dnnl_types.h:2134
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:2224
Definition: dnnl_types.h:668
Definition: dnnl_types.h:567
Definition: dnnl_types.h:464
Definition: dnnl_types.h:1011
Definition: dnnl_types.h:1237
Definition: dnnl_types.h:241
Definition: dnnl_types.h:984
Unidirectional execution of RNN primitive from right to left.
Definition: dnnl_types.h:2259
Definition: dnnl_types.h:683
Definition: dnnl_types.h:954
A deconvolution primitive.
Definition: dnnl_types.h:1348
Definition: dnnl_types.h:1012
Definition: dnnl_types.h:1128
Definition: dnnl_types.h:948
Definition: dnnl_types.h:1058
Definition: dnnl_types.h:408
Definition: dnnl_types.h:471
dnnl_memory_desc_t src_iter_desc
Source iteration memory descriptor for hidden state.
Definition: dnnl_types.h:2286
5D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:330
8-bit unsigned integer.
Definition: dnnl_types.h:76
dnnl_alg_kind_t alg_kind
Definition: dnnl_types.h:2360
Definition: dnnl_types.h:675
Definition: dnnl_types.h:2379
Definition: dnnl_types.h:1701
Definition: dnnl_types.h:832
Definition: dnnl_types.h:970
permuted 6D tensor
Definition: dnnl_types.h:212
Definition: dnnl_types.h:790
Definition: dnnl_types.h:1050
dnnl_alg_kind_t cell_kind
Definition: dnnl_types.h:2280
Definition: dnnl_types.h:521
Definition: dnnl_types.h:566
const char * hash
Git hash of the sources (may be absent)
Definition: dnnl_types.h:2978
5D CNN weights tensor, an alias to dnnl_cdeba
Definition: dnnl_types.h:756
Definition: dnnl_types.h:910
Definition: dnnl_types.h:500
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2055
Definition: dnnl_types.h:1089
4D CNN activations tensor, an alias to dnnl_acdb
Definition: dnnl_types.h:721
dnnl_query_t
Definition: dnnl_types.h:2854
Intel Advanced Vector Extensions (Intel AVX)
Definition: dnnl_types.h:3012
Definition: dnnl_types.h:3023
dnnl_memory_desc_t weights_desc
Weights memory descriptor.
Definition: dnnl_types.h:2386
Backward data propagation.
Definition: dnnl_types.h:1325
Definition: dnnl_types.h:256
Definition: dnnl_types.h:1041
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:2440
Definition: dnnl_types.h:1095
Definition: dnnl_types.h:472
dnnl_memory_desc_t stat_desc
Definition: dnnl_types.h:2166
Definition: dnnl_types.h:344
Definition: dnnl_types.h:1111
Definition: dnnl_types.h:554
Definition: dnnl_types.h:1221
A descriptor of a binary operation.
Definition: dnnl_types.h:2353
Definition: dnnl_types.h:270
Definition: dnnl_types.h:936
Definition: dnnl_types.h:922
Definition: dnnl_types.h:899
source gradient memory desc
Definition: dnnl_types.h:2905
plain 10D tensor
Definition: dnnl_types.h:187
Definition: dnnl_types.h:934
A binary primitive.
Definition: dnnl_types.h:1368
Definition: dnnl_types.h:937
Definition: dnnl_types.h:512
Definition: dnnl_types.h:414
Definition: dnnl_types.h:904
Definition: dnnl_types.h:2974
reduction descriptor
Definition: dnnl_types.h:2899
Definition: dnnl_types.h:893
Definition: dnnl_types.h:395
Definition: dnnl_types.h:661
Definition: dnnl_types.h:679
Definition: dnnl_types.h:1055
Definition: dnnl_types.h:478
Definition: dnnl_types.h:1185
4D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:261
int arg
An argument index, e.g. DNNL_ARG_SRC.
Definition: dnnl_types.h:2816
Definition: dnnl_types.h:1199
5D CNN weights tensor (incl. groups), an alias to dnnl_abdec
Definition: dnnl_types.h:771
permuted 11D tensor
Definition: dnnl_types.h:219
Definition: dnnl_types.h:1023
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: dnnl_types.h:2234
Definition: dnnl_types.h:337
Definition: dnnl_types.h:941
LSTM cell.
Definition: dnnl_types.h:1478
Packed weights format used in RNN.
Definition: dnnl_types.h:93
Definition: dnnl_types.h:577
Definition: dnnl_types.h:1218
Definition: dnnl_types.h:339
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:2058
Definition: dnnl_types.h:885
Definition: dnnl_types.h:1035
Definition: dnnl_types.h:593
4D CNN weights tensor, an alias to dnnl_bcda
Definition: dnnl_types.h:748
4D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:255
permuted 7D tensor
Definition: dnnl_types.h:215
Definition: dnnl_types.h:1262
Definition: dnnl_types.h:267
float beta
Definition: dnnl_types.h:1975
A reorder primitive.
Definition: dnnl_types.h:1338
Definition: dnnl_types.h:1008
dnnl_memory_desc_t weights_desc
Weights memory descriptor.
Definition: dnnl_types.h:1865
A descriptor of a convolution operation.
Definition: dnnl_types.h:1849
Definition: dnnl_types.h:966
2D CNN activations tensor, an alias to dnnl_ba
Definition: dnnl_types.h:709
Definition: dnnl_types.h:564
Binary greater or equal.
Definition: dnnl_types.h:1502
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:2240
Definition: dnnl_types.h:1087
Definition: dnnl_types.h:548
softmax descriptor
Definition: dnnl_types.h:2886
permuted 5D tensor
Definition: dnnl_types.h:213
Definition: dnnl_types.h:884
Definition: dnnl_types.h:237
Definition: dnnl_types.h:1038
dnnl_dims_t kernel
Pooling kernel spatial dimensions.
Definition: dnnl_types.h:2075
Definition: dnnl_types.h:1048
Definition: dnnl_types.h:1176
Definition: dnnl_types.h:3027
Definition: dnnl_types.h:573
Eltwise: logsigmoid.
Definition: dnnl_types.h:1444
no query
Definition: dnnl_types.h:2855
Definition: dnnl_types.h:1106
Definition: dnnl_types.h:920
Definition: dnnl_types.h:488
Definition: dnnl_types.h:421
dnnl_scratchpad_mode_t
Scratchpad mode.
Definition: dnnl_types.h:2531
Definition: dnnl_types.h:1586
Definition: dnnl_types.h:1167
Definition: dnnl_types.h:1205
Definition: dnnl_types.h:294
Definition: dnnl_types.h:1133
Definition: dnnl_types.h:518
Definition: dnnl_types.h:275
batch normalization descriptor
Definition: dnnl_types.h:2889
int asymm_compensation_mask
Compensation mask for asymmetric quantization.
Definition: dnnl_types.h:1751
Definition: dnnl_types.h:636
dnnl_dims_t padded_dims
Size of the data including padding in each dimension.
Definition: dnnl_types.h:1783
A reduction primitive.
Definition: dnnl_types.h:1378
Definition: dnnl_types.h:345
Definition: dnnl_types.h:907
dnnl_dim_t offset0
Definition: dnnl_types.h:1791
Definition: dnnl_types.h:403
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2404
Definition: dnnl_types.h:615
Definition: dnnl_types.h:1079
5D CNN weights tensor, an alias to dnnl_abcde
Definition: dnnl_types.h:752
Definition: dnnl_types.h:1080
Definition: dnnl_types.h:612
Definition: dnnl_types.h:927
Definition: dnnl_types.h:296
float beta
Definition: dnnl_types.h:2343
dnnl_dims_t padded_offsets
Definition: dnnl_types.h:1787
Definition: dnnl_types.h:1287
Undefined memory format, used for empty memory descriptors.
Definition: dnnl_types.h:1673
Definition: dnnl_types.h:398
Definition: dnnl_types.h:485
runtime estimation (seconds)
Definition: dnnl_types.h:2863
Backward propagation (with respect to all parameters).
Definition: dnnl_types.h:1323
An unspecified engine.
Definition: dnnl_types.h:2467
Definition: dnnl_types.h:1217
5D tensor blocked by 1st dimension with block size 16
Definition: dnnl_types.h:302
Eltwise: ReLU.
Definition: dnnl_types.h:1401
Definition: dnnl_types.h:591
GPU engine.
Definition: dnnl_types.h:2471
Definition: dnnl_types.h:516
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:2364
Definition: dnnl_types.h:1123
Definition: dnnl_types.h:326
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2356
Definition: dnnl_types.h:1243
Definition: dnnl_types.h:1140
Definition: dnnl_types.h:793
Definition: dnnl_types.h:874
Definition: dnnl_types.h:547
Definition: dnnl_types.h:800
6D CNN weights tensor (incl. groups), an alias to dnnl_acbdef
Definition: dnnl_types.h:781
Definition: dnnl_types.h:1267
Definition: dnnl_types.h:693
3D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:233
Definition: dnnl_types.h:1173
Definition: dnnl_types.h:1042
Definition: dnnl_types.h:2869
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:2277
Definition: dnnl_types.h:906
Definition: dnnl_types.h:611
Definition: dnnl_types.h:1181
Eltwise: pow.
Definition: dnnl_types.h:1438
Definition: dnnl_types.h:1281
Definition: dnnl_types.h:343
5D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:315
dnnl_memory_extra_flags_t
Flags for memory special features.
Definition: dnnl_types.h:1723
Definition: dnnl_types.h:807
Definition: dnnl_types.h:616
Definition: dnnl_types.h:873
permuted 4D tensor
Definition: dnnl_types.h:208
Definition: dnnl_types.h:1235
Definition: dnnl_types.h:607
Definition: dnnl_types.h:1240
An opaque structure to describe an engine.
Definition: dnnl_types.h:664
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:2125
Definition: dnnl_types.h:474
Definition: dnnl_types.h:350
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:2384
Definition: dnnl_types.h:1037
Definition: dnnl_types.h:876
Definition: dnnl_types.h:388
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:1861
Definition: dnnl_types.h:621
Definition: dnnl_types.h:372
Definition: dnnl_types.h:1226
6D CNN weights tensor (incl. groups), an alias to dnnl_abcdef
Definition: dnnl_types.h:777
Definition: dnnl_types.h:886
dnnl_memory_desc_t diff_data_scaleshift_desc
Definition: dnnl_types.h:2197
Eltwise: mish.
Definition: dnnl_types.h:1446
Definition: dnnl_types.h:527
Definition: dnnl_types.h:540
Definition: dnnl_types.h:971
Definition: dnnl_types.h:1273
Definition: dnnl_types.h:590
Definition: dnnl_types.h:1112
Definition: dnnl_types.h:605
Definition: dnnl_types.h:681
Definition: dnnl_types.h:1061
Definition: dnnl_types.h:248
Definition: dnnl_types.h:259
Definition: dnnl_types.h:1178
Definition: dnnl_types.h:1317
int alpha
Definition: dnnl_types.h:1686
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:2186
Undefined RNN flags.
Definition: dnnl_types.h:2251
A sum primitive.
Definition: dnnl_types.h:1344
unsigned flags
Definition: dnnl_types.h:2169
unsigned cpu_runtime
CPU runtime.
Definition: dnnl_types.h:2979
Definition: dnnl_types.h:1069
Definition: dnnl_types.h:507
Definition: dnnl_types.h:678
5D CNN weights tensor (incl. groups), an alias to dnnl_decab
Definition: dnnl_types.h:773
Definition: dnnl_types.h:695
Definition: dnnl_types.h:1060
Definition: dnnl_types.h:613
Definition: dnnl_types.h:1210
Definition: dnnl_types.h:499
Definition: dnnl_types.h:1290
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:1930
Definition: dnnl_types.h:253
Definition: dnnl_types.h:265
Definition: dnnl_types.h:1233
Definition: dnnl_types.h:3019
Definition: dnnl_types.h:981
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1992
Definition: dnnl_types.h:1166
Definition: dnnl_types.h:1249
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:2188
A descriptor of a element-wise operation.
Definition: dnnl_types.h:1924
dnnl_dims_t inner_blks
The size of the blocks, e.g. {4, 16, 4} in case of OIhw_4i16o4i
Definition: dnnl_types.h:1664
Definition: dnnl_types.h:1053
A descriptor of a Softmax operation.
Definition: dnnl_types.h:1984
Definition: dnnl_types.h:252
An opaque structure for a chain of post operations.
Definition: dnnl_types.h:1230
Definition: dnnl_types.h:446
Definition: dnnl_types.h:686
Definition: dnnl_types.h:674
A descriptor of an inner product operation.
Definition: dnnl_types.h:2215
Eltwise: round.
Definition: dnnl_types.h:1442
Definition: dnnl_types.h:338
The operation failed because of incorrect function arguments.
Definition: dnnl_types.h:45
Definition: dnnl_types.h:238
Definition: dnnl_types.h:1072
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:2081
Definition: dnnl_types.h:928
Definition: dnnl_types.h:413
Definition: dnnl_types.h:360
Definition: dnnl_types.h:787
dnnl_memory_desc_t diff_weights_projection_desc
Definition: dnnl_types.h:2335
dnnl_rnn_direction_t
A direction of RNN primitive execution.
Definition: dnnl_types.h:2255
Definition: dnnl_types.h:670
Internal weights format for 2x3 Winograd.
Definition: dnnl_types.h:1675
inner product descriptor
Definition: dnnl_types.h:2891
Definition: dnnl_types.h:1144
Definition: dnnl_types.h:392
Definition: dnnl_types.h:875
5D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:306
A descriptor of reduction operation.
Definition: dnnl_types.h:2429
6D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:364
Definition: dnnl_types.h:517
Definition: dnnl_types.h:1052
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:2096
Definition: dnnl_types.h:1204
dnnl_status_t
Status values returned by the library functions.
Definition: dnnl_types.h:39
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:2031
Definition: dnnl_types.h:1141
Definition: dnnl_types.h:1148
Reduction using lp norm.
Definition: dnnl_types.h:1530
Definition: dnnl_types.h:689
Definition: dnnl_types.h:462
Definition: dnnl_types.h:555
Definition: dnnl_types.h:1279
Binary mul.
Definition: dnnl_types.h:1492
Definition: dnnl_types.h:1207
Definition: dnnl_types.h:1272
dnnl_memory_desc_t dst_iter_desc
Destination iter memory descriptor for hidden state.
Definition: dnnl_types.h:2298
int ic_block
Definition: dnnl_types.h:1689
Definition: dnnl_types.h:236
A softmax primitive.
Definition: dnnl_types.h:1352
Definition: dnnl_types.h:903
Definition: dnnl_types.h:242
Definition: dnnl_types.h:460
const struct dnnl_primitive_desc * const_dnnl_primitive_desc_t
A constant primitive descriptor handle.
Definition: dnnl_types.h:2511
No hints (use default features)
Definition: dnnl_types.h:3052
Definition: dnnl_types.h:1071
int64_t dnnl_dim_t
A type to describe tensor dimension.
Definition: dnnl_types.h:1647
Definition: dnnl_types.h:680
Forward data propagation (alias for dnnl_forward_training).
Definition: dnnl_types.h:1321
Definition: dnnl_types.h:1104
primitive kind
Definition: dnnl_types.h:2858
matrix multiplication (matmul) descriptor
Definition: dnnl_types.h:2896
Default stream configuration.
Definition: dnnl_types.h:2932
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:2236
dnnl_memory_desc_t stat_desc
Definition: dnnl_types.h:2203
Definition: dnnl_types.h:627
Definition: dnnl_types.h:1258
const struct dnnl_primitive * const_dnnl_primitive_t
A constant primitive handle.
Definition: dnnl_types.h:2607
LRN within a single channel.
Definition: dnnl_types.h:1474
Definition: dnnl_types.h:1126
dnnl_data_type_t
Data type specification.
Definition: dnnl_types.h:62
Definition: dnnl_types.h:399
plain 4D tensor
Definition: dnnl_types.h:180
Definition: dnnl_types.h:1264
Definition: dnnl_types.h:523
Definition: dnnl_types.h:891
Definition: dnnl_types.h:1655
Definition: dnnl_types.h:1270
Definition: dnnl_types.h:537
Definition: dnnl_types.h:250
plain 6D tensor
Definition: dnnl_types.h:183
Definition: dnnl_types.h:473
Definition: dnnl_types.h:323
Eltwise: exp (dst for backward)
Definition: dnnl_types.h:1460
Definition: dnnl_types.h:968
Definition: dnnl_types.h:558
size_t offset_compensation
Definition: dnnl_types.h:1717
Definition: dnnl_types.h:911
Definition: dnnl_types.h:1158
Definition: dnnl_types.h:569
Winograd convolution.
Definition: dnnl_types.h:1393
5D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:352
Definition: dnnl_types.h:999
Definition: dnnl_types.h:1074
Definition: dnnl_types.h:831
Definition: dnnl_types.h:491
Definition: dnnl_types.h:1073
dnnl_wino_desc_t wino_desc
Tensor of weights for integer 8bit winograd convolution.
Definition: dnnl_types.h:1800
Definition: dnnl_types.h:677
Definition: dnnl_types.h:1159
dnnl_alg_kind_t alg_kind
Definition: dnnl_types.h:1946
Definition: dnnl_types.h:1179
Definition: dnnl_types.h:365
Definition: dnnl_types.h:415
dnnl_format_tag_t
Definition: dnnl_types.h:164
Definition: dnnl_types.h:815
Max pooling.
Definition: dnnl_types.h:1464
Definition: dnnl_types.h:1145
Eltwise: natural logarithm.
Definition: dnnl_types.h:1432
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:2416
Definition: dnnl_types.h:650
Definition: dnnl_types.h:642
Definition: dnnl_types.h:930
Definition: dnnl_types.h:381
float batch_norm_epsilon
Batch normalization epsilon parameter.
Definition: dnnl_types.h:2168
Definition: dnnl_types.h:273
Definition: dnnl_types.h:956
Definition: dnnl_types.h:349
float p
Definition: dnnl_types.h:2454
Definition: dnnl_types.h:962
Definition: dnnl_types.h:402
dnnl_memory_desc_t weights_projection_desc
Definition: dnnl_types.h:2308
Definition: dnnl_types.h:830
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:2184
plain 12D tensor
Definition: dnnl_types.h:189
Definition: dnnl_types.h:522
Description of tensor of weights for winograd 2x3 convolution.
Definition: dnnl_types.h:1683
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:1990
Definition: dnnl_types.h:1289
Definition: dnnl_types.h:857
Definition: dnnl_types.h:1039
Reduction using lp norm.
Definition: dnnl_types.h:1528
Definition: dnnl_types.h:995
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition: dnnl_types.h:2294
3D CNN weights tensor, an alias to dnnl_cba
Definition: dnnl_types.h:738
Binary div.
Definition: dnnl_types.h:1498
Definition: dnnl_types.h:1594
Definition: dnnl_types.h:1143
4D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:282
Out-of-order execution.
Definition: dnnl_types.h:2930
Binary min.
Definition: dnnl_types.h:1496
Definition: dnnl_types.h:1239
Definition: dnnl_types.h:552
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:2442
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2117
Definition: dnnl_types.h:978
Definition: dnnl_types.h:334
Definition: dnnl_types.h:994
dnnl_format_kind_t
Memory format kind.
Definition: dnnl_types.h:80
Definition: dnnl_types.h:539
Definition: dnnl_types.h:543
Definition: dnnl_types.h:1211
Definition: dnnl_types.h:427
Definition: dnnl_types.h:1160
Definition: dnnl_types.h:592
Definition: dnnl_types.h:532
Definition: dnnl_types.h:475
permuted 3D tensor
Definition: dnnl_types.h:195
Definition: dnnl_types.h:441
4D tensor blocked by 3rd dimension with block size 4
Definition: dnnl_types.h:300
Definition: dnnl_types.h:1031
Definition: dnnl_types.h:845
Definition: dnnl_types.h:1215
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2274
Definition: dnnl_types.h:445
Average pooling (alias for dnnl_pooling_avg_exclude_padding)
Definition: dnnl_types.h:1470
Definition: dnnl_types.h:506
Definition: dnnl_types.h:524
Definition: dnnl_types.h:1203
Definition: dnnl_types.h:247
dnnl_memory_desc_t diff_src_layer_desc
Source gradient layer memory descriptor.
Definition: dnnl_types.h:2311
Definition: dnnl_types.h:246
int axis
Axis for shuffling.
Definition: dnnl_types.h:1913
Prefer to exclusively use Ymm registers for computations.
Definition: dnnl_types.h:3055
Definition: dnnl_types.h:225
dnnl_rnn_packed_desc_t rnn_packed_desc
Tensor of packed weights for RNN.
Definition: dnnl_types.h:1802
3D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:245
Binary add.
Definition: dnnl_types.h:1490
Implicit f32->f16 conversions allowed.
Definition: dnnl_types.h:2525
3D CNN activations tensor, an alias to dnnl_abc
Definition: dnnl_types.h:715
deconvolution descriptor
Definition: dnnl_types.h:2883
A pooling primitive.
Definition: dnnl_types.h:1354
Definition: dnnl_types.h:525
Definition: dnnl_types.h:924
Definition: dnnl_types.h:610
dnnl_dims_t strides
Definition: dnnl_types.h:1658
Definition: dnnl_types.h:286
rnn descriptor
Definition: dnnl_types.h:2892
Definition: dnnl_types.h:2090
Definition: dnnl_types.h:280
Definition: dnnl_types.h:694
Definition: dnnl_types.h:955
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:1852
Definition: dnnl_types.h:998
Definition: dnnl_types.h:1119
Definition: dnnl_types.h:921
Eltwise: logistic.
Definition: dnnl_types.h:1419
Definition: dnnl_types.h:1603
Definition: dnnl_types.h:438
Definition: dnnl_types.h:639
Definition: dnnl_types.h:1263
Definition: dnnl_types.h:976
dnnl_memory_desc_t diff_data_scaleshift_desc
Definition: dnnl_types.h:2162
A descriptor of a shuffle operation.
Definition: dnnl_types.h:1902
Definition: dnnl_types.h:1121
Definition: dnnl_types.h:277
const struct dnnl_primitive_desc_iterator * const_dnnl_primitive_desc_iterator_t
A constant primitive descriptor iterator handle.
Definition: dnnl_types.h:2500
Definition: dnnl_types.h:586
dnnl_dims_t kernel
Pooling kernel spatial dimensions.
Definition: dnnl_types.h:2037
Definition: dnnl_types.h:550
Definition: dnnl_types.h:952
int oc_block
Definition: dnnl_types.h:1690
Definition: dnnl_types.h:1130
Definition: dnnl_types.h:563
Eltwise: hyperbolic tangent non-linearity (tanh) (dst for backward)
Definition: dnnl_types.h:1452
Definition: dnnl_types.h:1223
Definition: dnnl_types.h:1006
Definition: dnnl_types.h:622
Winograd deconvolution.
Definition: dnnl_types.h:1399
Definition: dnnl_types.h:982
Definition: dnnl_types.h:1065
permuted 4D tensor
Definition: dnnl_types.h:209
Definition: dnnl_types.h:1202
Definition: dnnl_types.h:950
Definition: dnnl_types.h:1014
Definition: dnnl_types.h:529
number of outputs expected
Definition: dnnl_types.h:2861
Definition: dnnl_types.h:320
Definition: dnnl_types.h:308
Definition: dnnl_types.h:1278
Definition: dnnl_types.h:1164
Definition: dnnl_types.h:604
Definition: dnnl_types.h:266
Definition: dnnl_types.h:579
Definition: dnnl_types.h:633
#define DNNL_MAX_NDIMS
Definition: dnnl_types.h:1615
Definition: dnnl_types.h:319
Definition: dnnl_types.h:1062
5D CNN weights tensor (incl. groups), an alias to dnnl_abcde
Definition: dnnl_types.h:769
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:2226
float lrn_k
LRN k parameter.
Definition: dnnl_types.h:2136
Definition: dnnl_types.h:324
Definition: dnnl_types.h:961
dnnl_rnn_direction_t direction
The direction of RNN primitive execution.
Definition: dnnl_types.h:2282
Definition: dnnl_types.h:1024
6D CNN weights tensor (incl. groups), an alias to dnnl_defcab
Definition: dnnl_types.h:783
GEMM descriptor (internal)
Definition: dnnl_types.h:2893
Definition: dnnl_types.h:1201
plain 1D tensor
Definition: dnnl_types.h:177
Definition: dnnl_types.h:2262
Reduction using min.
Definition: dnnl_types.h:1520
permuted 2D tensor
Definition: dnnl_types.h:200
permuted 5D tensor
Definition: dnnl_types.h:211
Definition: dnnl_types.h:534
Definition: dnnl_types.h:384
permuted 6D tensor
Definition: dnnl_types.h:197
dnnl_memory_desc_t src_iter_c_desc
Source iteration memory descriptor for cell state.
Definition: dnnl_types.h:2288
stub
Definition: dnnl_types.h:2880
Definition: dnnl_types.h:429
dnnl_memory_desc_t diff_desc
Source and Destination of gradient memory descriptor.
Definition: dnnl_types.h:1994
Definition: dnnl_types.h:465
3D CNN weights tensor, an alias to dnnl_bca
Definition: dnnl_types.h:740
Definition: dnnl_types.h:571
Definition: dnnl_types.h:1152
Definition: dnnl_types.h:848
propagation kind
Definition: dnnl_types.h:2877
Definition: dnnl_types.h:1209
Definition: dnnl_types.h:667
plain 9D tensor
Definition: dnnl_types.h:186
Definition: dnnl_types.h:480
Definition: dnnl_types.h:1193
An inner product primitive.
Definition: dnnl_types.h:1362
Definition: dnnl_types.h:585
Definition: dnnl_types.h:519
Definition: dnnl_types.h:258
Definition: dnnl_types.h:1255
Definition: dnnl_types.h:1029
Definition: dnnl_types.h:673
Definition: dnnl_types.h:1560
Definition: dnnl_types.h:1084
Definition: dnnl_types.h:374
Definition: dnnl_types.h:829
Definition: dnnl_types.h:510
Implicit f32->bf16 conversions allowed.
Definition: dnnl_types.h:2523
Definition: dnnl_types.h:546
Definition: dnnl_types.h:986
6D RNN weights tensor
Definition: dnnl_types.h:828
Definition: dnnl_types.h:660
Definition: dnnl_types.h:1083
Definition: dnnl_types.h:839
GRU cell.
Definition: dnnl_types.h:1480
Definition: dnnl_types.h:559
Definition: dnnl_types.h:309
3D CNN activations tensor, an alias to dnnl_acb
Definition: dnnl_types.h:717
Definition: dnnl_types.h:889
The operation was successful.
Definition: dnnl_types.h:41
Definition: dnnl_types.h:530
Definition: dnnl_types.h:452
Definition: dnnl_types.h:603
Definition: dnnl_types.h:909
Definition: dnnl_types.h:881
Definition: dnnl_types.h:972
A descriptor of a Layer Normalization operation.
Definition: dnnl_types.h:2178
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:1905
Definition: dnnl_types.h:440
8-bit signed integer.
Definition: dnnl_types.h:74
convolution descriptor
Definition: dnnl_types.h:2882
Definition: dnnl_types.h:394
dnnl_memory_desc_t weights_peephole_desc
Definition: dnnl_types.h:2304
RNN cell.
Definition: dnnl_types.h:1476
float adj_scale
Definition: dnnl_types.h:1693
Definition: dnnl_types.h:687
Alias for dnnl_unidirectional_left2right.
Definition: dnnl_types.h:2267
A (out-of-place) concat primitive.
Definition: dnnl_types.h:1342
Definition: dnnl_types.h:630
Definition: dnnl_types.h:322
Definition: dnnl_types.h:987
Definition: dnnl_types.h:505
Internal weights format for 2x3 Winograd.
Definition: dnnl_types.h:1677
Definition: dnnl_types.h:1261
Definition: dnnl_types.h:931
Definition: dnnl_types.h:682
Definition: dnnl_types.h:422
dnnl_dims_t dilates
Convolution dilates in each spatial dimension.
Definition: dnnl_types.h:1879
const struct dnnl_stream * const_dnnl_stream_t
A constant execution stream handle.
Definition: dnnl_types.h:2941
2D RNN statistics tensor, an alias to dnnl_ba
Definition: dnnl_types.h:713
5D CNN activations tensor, an alias to dnnl_acdeb
Definition: dnnl_types.h:727
Definition: dnnl_types.h:3032
Undefined memory format tag.
Definition: dnnl_types.h:166
dnnl_cpu_isa_hints_t
CPU ISA hints flags.
Definition: dnnl_types.h:3050
Reduction using mul.
Definition: dnnl_types.h:1524
permuted 5D tensor
Definition: dnnl_types.h:196
Eltwise: square root.
Definition: dnnl_types.h:1411
Definition: dnnl_types.h:1283
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:2153
Definition: dnnl_types.h:638
Definition: dnnl_types.h:1013
Definition: dnnl_types.h:897
Definition: dnnl_types.h:1092
Definition: dnnl_types.h:1068
Definition: dnnl_types.h:279
int patch
Patch version.
Definition: dnnl_types.h:2977
Definition: dnnl_types.h:1282
dnnl_fpmath_mode_t
Floating-point math mode.
Definition: dnnl_types.h:2519
Definition: dnnl_types.h:1045
Definition: dnnl_types.h:1102
Definition: dnnl_types.h:391
Definition: dnnl_types.h:536
Definition: dnnl_types.h:1389
dnnl_alg_kind_t alg_kind
Definition: dnnl_types.h:2438
Definition: dnnl_types.h:851
permuted 3D tensor
Definition: dnnl_types.h:204
Definition: dnnl_types.h:1118
Definition: dnnl_types.h:243
Definition: dnnl_types.h:495
permuted 8D tensor
Definition: dnnl_types.h:216
Definition: dnnl_types.h:1033
Definition: dnnl_types.h:443
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:2127
Definition: dnnl_types.h:321
Definition: dnnl_types.h:1231
Definition: dnnl_types.h:967
Definition: dnnl_types.h:977
source memory desc
Definition: dnnl_types.h:2904
Definition: dnnl_types.h:1229
Eltwise: swish.
Definition: dnnl_types.h:1430
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:2120
#define DNNL_RNN_MAX_N_PARTS
Definition: dnnl_types.h:1706
Definition: dnnl_types.h:1004
Definition: dnnl_types.h:895
Definition: dnnl_types.h:489
Definition: dnnl_types.h:1139
Definition: dnnl_types.h:1132
Definition: dnnl_types.h:348
Definition: dnnl_types.h:1156
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2432
Definition: dnnl_types.h:310
Definition: dnnl_types.h:1189
Definition: dnnl_types.h:356
Definition: dnnl_types.h:283
Definition: dnnl_types.h:437
Definition: dnnl_types.h:669
Definition: dnnl_types.h:570
Definition: dnnl_types.h:1760
Definition: dnnl_types.h:274
dnnl_wino_memory_format_t
Winograd-specific formats.
Definition: dnnl_types.h:1671
2D RNN statistics tensor, an alias to dnnl_ab
Definition: dnnl_types.h:711
Definition: dnnl_types.h:659
Definition: dnnl_types.h:596
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2181
A descriptor of a pooling operation.
Definition: dnnl_types.h:2052
dnnl_data_type_t data_type
Data type of the tensor elements.
Definition: dnnl_types.h:1780
Definition: dnnl_types.h:688
Definition: dnnl_types.h:297
Definition: dnnl_types.h:1169
A matrix multiplication primitive.
Definition: dnnl_types.h:1372
Definition: dnnl_types.h:1200
Queried element is not required for given primitive.
Definition: dnnl_types.h:53
Definition: dnnl_types.h:410
Definition: dnnl_types.h:1206
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:2043
Eltwise: erf-based gelu.
Definition: dnnl_types.h:1440
permuted 9D tensor
Definition: dnnl_types.h:217
Definition: dnnl_types.h:545
dnnl_blocking_desc_t blocking
Definition: dnnl_types.h:1798
dnnl_dims_t inner_idxs
Definition: dnnl_types.h:1667
Definition: dnnl_types.h:979
Definition: dnnl_types.h:943
The operation failed due to an out-of-memory condition.
Definition: dnnl_types.h:43
Definition: dnnl_types.h:479
Backward weights propagation.
Definition: dnnl_types.h:1327
size_t size
Definition: dnnl_types.h:1718
5D tensor blocked by 2nd dimension with block size 32
Definition: dnnl_types.h:313
Definition: dnnl_types.h:1241
3D CNN weights tensor, an alias to dnnl_acb
Definition: dnnl_types.h:736
Definition: dnnl_types.h:1099
Definition: dnnl_types.h:1187
Definition: dnnl_types.h:434
Definition: dnnl_types.h:318
dnnl_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: dnnl_types.h:1867
Definition: dnnl_types.h:298
Definition: dnnl_types.h:1284
Binary not equal.
Definition: dnnl_types.h:1512
dnnl_memory_desc_t data_scaleshift_desc
Definition: dnnl_types.h:2161
Definition: dnnl_types.h:501
workspace memory desc
Definition: dnnl_types.h:2910
Definition: dnnl_types.h:1253
Definition: dnnl_types.h:929
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2382
Definition: dnnl_types.h:378
Definition: dnnl_types.h:1213
Definition: dnnl_types.h:476
Definition: dnnl_types.h:383
Definition: dnnl_types.h:447
Definition: dnnl_types.h:1097
Definition: dnnl_types.h:609
Definition: dnnl_types.h:989
size_t size
Definition: dnnl_types.h:1694
Definition: dnnl_types.h:690
Definition: dnnl_types.h:990
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:1875
Definition: dnnl_types.h:1082
Definition: dnnl_types.h:1191
Definition: dnnl_types.h:1257
Definition: dnnl_types.h:549
eltwise descriptor
Definition: dnnl_types.h:2885
Definition: dnnl_types.h:997
number of inputs expected
Definition: dnnl_types.h:2860
Definition: dnnl_types.h:1134
shuffle descriptor
Definition: dnnl_types.h:2884
Definition: dnnl_types.h:412
Average pooling include padding.
Definition: dnnl_types.h:1466
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:2155
Weights format used in 8bit Winograd convolution.
Definition: dnnl_types.h:91
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:2414
Definition: dnnl_types.h:1113
Definition: dnnl_types.h:584
Definition: dnnl_types.h:913
32-bit/single-precision floating point.
Definition: dnnl_types.h:70
Definition: dnnl_types.h:898
permuted 5D tensor
Definition: dnnl_types.h:210
Definition: dnnl_types.h:2815
Definition: dnnl_types.h:3037
Definition: dnnl_types.h:528
Definition: dnnl_types.h:494
Definition: dnnl_types.h:1174
Definition: dnnl_types.h:947
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:2407
Definition: dnnl_types.h:860
struct dnnl_primitive_attr * dnnl_primitive_attr_t
A primitive descriptor attributes handle that controls primitive behavior.
Definition: dnnl_types.h:2565
Definition: dnnl_types.h:393
Definition: dnnl_types.h:435
Definition: dnnl_types.h:1234
lrn descriptor
Definition: dnnl_types.h:2888
Definition: dnnl_types.h:632
dnnl_memory_desc_t src_layer_desc
Source layer memory descriptor.
Definition: dnnl_types.h:2284
Definition: dnnl_types.h:240
Definition: dnnl_types.h:901
Definition: dnnl_types.h:444
Definition: dnnl_types.h:652
Definition: dnnl_types.h:1096
Definition: dnnl_types.h:663
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:2418
4D tensor blocked by 1st and 2nd dimension with block size 8
Definition: dnnl_types.h:288
Definition: dnnl_types.h:327
A shuffle primitive.
Definition: dnnl_types.h:1340
for creating scratchpad memory
Definition: dnnl_types.h:2872
Definition: dnnl_types.h:387
Definition: dnnl_types.h:226
float layer_norm_epsilon
Layer normalization epsilon parameter.
Definition: dnnl_types.h:2205
dnnl_memory_desc_t diff_weights_peephole_desc
Definition: dnnl_types.h:2331
struct dnnl_engine * dnnl_engine_t
An engine handle.
Definition: dnnl_types.h:2478
Definition: dnnl_types.h:541
Definition: dnnl_types.h:933
Definition: dnnl_types.h:965
Definition: dnnl_types.h:1022
Definition: dnnl_types.h:1153
unsigned int flags
RNN cell flags.
Definition: dnnl_types.h:2338
Definition: dnnl_types.h:454
permuted 4D tensor
Definition: dnnl_types.h:205
Definition: dnnl_types.h:1116
Definition: dnnl_types.h:386
Definition: dnnl_types.h:1005
Definition: dnnl_types.h:1276
Definition: dnnl_types.h:626
Definition: dnnl_types.h:614
Definition: dnnl_types.h:498
Definition: dnnl_types.h:580
4D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:263
Binary max.
Definition: dnnl_types.h:1494
Definition: dnnl_types.h:1103
Definition: dnnl_types.h:996
Definition: dnnl_types.h:85
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:1908
Definition: dnnl_types.h:672
Definition: dnnl_types.h:239
Definition: dnnl_types.h:597
2D CNN weights tensor, an alias to dnnl_ba
Definition: dnnl_types.h:732
Average pooling exclude padding.
Definition: dnnl_types.h:1468
Definition: dnnl_types.h:1699
Definition: dnnl_types.h:1136
Definition: dnnl_types.h:430
Definition: dnnl_types.h:988
Definition: dnnl_types.h:866
dnnl_alg_kind_t
Kinds of algorithms.
Definition: dnnl_types.h:1388
4D CNN weights tensor, an alias to dnnl_cdba
Definition: dnnl_types.h:744
Definition: dnnl_types.h:1120
6D CNN weights tensor (incl. groups), an alias to dnnl_abdefc
Definition: dnnl_types.h:779
Definition: dnnl_types.h:1157
Definition: dnnl_types.h:1101
Definition: dnnl_types.h:631
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:2071
Reduction using max.
Definition: dnnl_types.h:1518
5D CNN weights tensor, an alias to dnnl_bacde
Definition: dnnl_types.h:754
permuted 3D tensor
Definition: dnnl_types.h:207
Binary equal.
Definition: dnnl_types.h:1510
dnnl_rnn_flags_t
Flags for RNN cell.
Definition: dnnl_types.h:2249
uint64_t flags
Definition: dnnl_types.h:1745
Definition: dnnl_types.h:1150
Definition: dnnl_types.h:583
dnnl_memory_desc_t diff_dst_iter_desc
Destination gradient iteration memory descriptor for hidden state.
Definition: dnnl_types.h:2325
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:2065
Description of extra information stored in memory.
Definition: dnnl_types.h:1742
A pooling version 2 primitive (pooling with dilation support).
Definition: dnnl_types.h:1376
int ic2_block
Definition: dnnl_types.h:1691
4D CNN weights tensor (incl. groups), an alias to dnnl_dcab
Definition: dnnl_types.h:767
Definition: dnnl_types.h:231
Definition: dnnl_types.h:463
Definition: dnnl_types.h:481
Definition: dnnl_types.h:624
Definition: dnnl_types.h:890
Definition: dnnl_types.h:1036
Definition: dnnl_types.h:1085
Definition: dnnl_types.h:332
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:2222
Definition: dnnl_types.h:1100
Definition: dnnl_types.h:397
An LRN primitive.
Definition: dnnl_types.h:1356
Definition: dnnl_types.h:346
Definition: dnnl_types.h:420
A descriptor of a Local Response Normalization (LRN) operation.
Definition: dnnl_types.h:2114
Definition: dnnl_types.h:284
Definition: dnnl_types.h:271
Definition: dnnl_types.h:589
dnnl_softmax_desc_t dnnl_logsoftmax_desc_t
Definition: dnnl_types.h:2006
Eltwise: clip version 2 (dst for backward)
Definition: dnnl_types.h:1462
int ndims
Number of dimensions.
Definition: dnnl_types.h:1762
dnnl_stream_flags_t
Stream flags.
Definition: dnnl_types.h:2926
dnnl_dim_t dnnl_dims_t[DNNL_MAX_NDIMS]
A type to describe tensor dimensions.
Definition: dnnl_types.h:1650
Undefined propagation type.
Definition: dnnl_types.h:1310
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:1950
Definition: dnnl_types.h:1027
Primitive or engine failed on execution.
Definition: dnnl_types.h:51
Definition: dnnl_types.h:368
Definition: dnnl_types.h:1015
op descriptor
Definition: dnnl_types.h:2881
6D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:359
int ic
Definition: dnnl_types.h:1687
Definition: dnnl_types.h:915
Definition: dnnl_types.h:1280
Definition: dnnl_types.h:692
dnnl_memory_desc_t weights_iter_desc
Weights iteration memory descriptor.
Definition: dnnl_types.h:2292
const struct dnnl_post_ops * const_dnnl_post_ops_t
A constant post operation chain handle.
Definition: dnnl_types.h:2594
Definition: dnnl_types.h:1047
Eltwise: exponent.
Definition: dnnl_types.h:1421
Definition: dnnl_types.h:419
Definition: dnnl_types.h:1170
Definition: dnnl_types.h:1180
Definition: dnnl_types.h:490
Definition: dnnl_types.h:572
1D tensor, an alias to dnnl_a
Definition: dnnl_types.h:705
Local response normalization (LRN) across multiple channels.
Definition: dnnl_types.h:1472
Binary less or equal.
Definition: dnnl_types.h:1506
Definition: dnnl_types.h:651
Definition: dnnl_types.h:227
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2017
resampling descriptor
Definition: dnnl_types.h:2897
Definition: dnnl_types.h:1186
const struct dnnl_primitive_attr * const_dnnl_primitive_attr_t
A constant primitive descriptor attributes handle.
Definition: dnnl_types.h:2568
Definition: dnnl_types.h:1294
Definition: dnnl_types.h:1028
A matrix multiplication primitive (internal).
Definition: dnnl_types.h:1366
Definition: dnnl_types.h:696
Definition: dnnl_types.h:342
Definition: dnnl_types.h:291
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: dnnl_types.h:2321
Definition: dnnl_types.h:366
plain 3D tensor
Definition: dnnl_types.h:179
Definition: dnnl_types.h:1573
Definition: dnnl_types.h:863
A descriptor of a Batch Normalization operation.
Definition: dnnl_types.h:2145
Definition: dnnl_types.h:1285
Definition: dnnl_types.h:602
5D CNN weights tensor, an alias to dnnl_bcdea
Definition: dnnl_types.h:760
struct dnnl_primitive * dnnl_primitive_t
A primitive handle.
Definition: dnnl_types.h:2605
Definition: dnnl_types.h:469
Definition: dnnl_types.h:1002
Intel Advanced Vector Extensions 2 (Intel AVX2)
Definition: dnnl_types.h:3015
Definition: dnnl_types.h:869
struct dnnl_stream * dnnl_stream_t
An execution stream handle.
Definition: dnnl_types.h:2939
4D CNN weights tensor, an alias to dnnl_bacd
Definition: dnnl_types.h:750
Eltwise: exponential linear unit (elu) (dst for backward)
Definition: dnnl_types.h:1454
Eltwise: exponential linear unit (elu)
Definition: dnnl_types.h:1405
Forward data propagation (alias for dnnl_forward_inference).
Definition: dnnl_types.h:1319
6D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:354
Definition: dnnl_types.h:973
Definition: dnnl_types.h:1078
Definition: dnnl_types.h:433
Implicit f32->f16 or f32->bf16 conversions allowed.
Definition: dnnl_types.h:2527
Binary sub.
Definition: dnnl_types.h:1500
Definition: dnnl_types.h:842
Definition: dnnl_types.h:379
Definition: dnnl_types.h:511
Definition: dnnl_types.h:1163
An opaque structure to describe a primitive descriptor.
dnnl_prop_kind_t prop_kind
Definition: dnnl_types.h:1856
Definition: dnnl_types.h:1293
Definition: dnnl_types.h:544
struct dnnl_primitive_desc_iterator * dnnl_primitive_desc_iterator_t
A primitive descriptor iterator handle.
Definition: dnnl_types.h:2497
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:2067
Eltwise: abs.
Definition: dnnl_types.h:1409
Definition: dnnl_types.h:1256
Definition: dnnl_types.h:1003
dnnl_rnn_packed_memory_format_t format
Definition: dnnl_types.h:1710
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1948
Definition: dnnl_types.h:1252
Internal weights format for 4x3 Winograd.
Definition: dnnl_types.h:1679
Definition: dnnl_types.h:1162
Definition: dnnl_types.h:1313
Definition: dnnl_types.h:371
Definition: dnnl_types.h:1066
permuted 5D tensor
Definition: dnnl_types.h:194
dnnl_memory_desc_t data_desc
Definition: dnnl_types.h:1911
Definition: dnnl_types.h:574
Eltwise: tanh-based gelu (alias for dnnl_eltwise_gelu_tanh)
Definition: dnnl_types.h:1428
Definition: dnnl_types.h:629
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:1863
Definition: dnnl_types.h:560
Definition: dnnl_types.h:470
Definition: dnnl_types.h:1090
A rnn primitive.
Definition: dnnl_types.h:1364
4D CNN activations tensor, an alias to dnnl_abcd
Definition: dnnl_types.h:719
A logsoftmax primitive.
Definition: dnnl_types.h:1370
Definition: dnnl_types.h:620
Definition: dnnl_types.h:1122
Definition: dnnl_types.h:357
Definition: dnnl_types.h:1188
Definition: dnnl_types.h:484
Binary less than.
Definition: dnnl_types.h:1508
permuted 5D tensor
Definition: dnnl_types.h:203
Definition: dnnl_types.h:477
The operation failed because requested functionality is not implemented.
Definition: dnnl_types.h:47
Definition: dnnl_types.h:1426
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:2392
Definition: dnnl_types.h:418
Definition: dnnl_types.h:487
dnnl_memory_desc_t diff_src_iter_desc
Source gradient iter memory descriptor for hidden state.
Definition: dnnl_types.h:2313
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:2029
Eltwise: hyperbolic tangent non-linearity (tanh)
Definition: dnnl_types.h:1403
Definition: dnnl_types.h:565
Definition: dnnl_types.h:1044
struct dnnl_post_ops * dnnl_post_ops_t
A post operation chain handle.
Definition: dnnl_types.h:2591
permuted 10D tensor
Definition: dnnl_types.h:218
Definition: dnnl_types.h:637
A descriptor of resampling operation.
Definition: dnnl_types.h:2401
Definition: dnnl_types.h:249
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:2033
Definition: dnnl_types.h:939
Definition: dnnl_types.h:509
Definition: dnnl_types.h:917
Definition: dnnl_types.h:691
Definition: dnnl_types.h:880
Definition: dnnl_types.h:1245
Definition: dnnl_types.h:1222
Definition: dnnl_types.h:657
Definition: dnnl_types.h:1248
Definition: dnnl_types.h:1195
Definition: dnnl_types.h:887
Definition: dnnl_types.h:1109
Definition: dnnl_types.h:455
dnnl_prop_kind_t
Kinds of propagation.
Definition: dnnl_types.h:1307
Definition: dnnl_types.h:1172
Definition: dnnl_types.h:426
Definition: dnnl_types.h:1733
permuted 6D tensor
Definition: dnnl_types.h:214
Definition: dnnl_types.h:587
Definition: dnnl_types.h:625
Definition: dnnl_types.h:1168
stub
Definition: dnnl_types.h:2903
int oc2_block
Definition: dnnl_types.h:1692
Definition: dnnl_types.h:646
Definition: dnnl_types.h:292
Definition: dnnl_types.h:599
Definition: dnnl_types.h:561
Definition: dnnl_types.h:389
Nearest Neighbor Resampling Method.
Definition: dnnl_types.h:1514
permuted 4D tensor
Definition: dnnl_types.h:202
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:2103
Definition: dnnl_types.h:1086
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:2238
Definition: dnnl_types.h:1064
plain 4D tensor
Definition: dnnl_types.h:181
Definition: dnnl_types.h:949
Definition: dnnl_types.h:1214
Definition: dnnl_types.h:1227
Definition: dnnl_types.h:935
Definition: dnnl_types.h:535
Definition: dnnl_types.h:369
16-bit/half-precision floating point.
Definition: dnnl_types.h:66
Definition: dnnl_types.h:1291
Definition: dnnl_types.h:1021
Definition: dnnl_types.h:975
Definition: dnnl_types.h:1088
dnnl_rnn_packed_memory_format_t
Definition: dnnl_types.h:1697
Definition: dnnl_types.h:1182
source engine
Definition: dnnl_types.h:2874
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: dnnl_types.h:1871
Definition: dnnl_types.h:1286
dnnl_alg_kind_t alg_kind
Definition: dnnl_types.h:2410
Definition: dnnl_types.h:932
Definition: dnnl_types.h:328
Definition: dnnl_types.h:293
Definition: dnnl_types.h:347
Definition: dnnl_types.h:453
Definition: dnnl_types.h:316
Definition: dnnl_types.h:1232
dnnl_normalization_flags_t
Flags for normalization primitives.
Definition: dnnl_types.h:1538
weights grad. memory desc
Definition: dnnl_types.h:2907
Definition: dnnl_types.h:417
Definition: dnnl_types.h:665
Definition: dnnl_types.h:1098
Definition: dnnl_types.h:892
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:2098
A convolution primitive.
Definition: dnnl_types.h:1346
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:1927
Definition: dnnl_types.h:643
memory desc of an execute argument
Definition: dnnl_types.h:2912
Definition: dnnl_types.h:1009
Backward bias propagation.
Definition: dnnl_types.h:1329
5D CNN activations tensor, an alias to dnnl_abcde
Definition: dnnl_types.h:725
4D CNN weights tensor, an alias to dnnl_abcd
Definition: dnnl_types.h:742
Definition: dnnl_types.h:914
Eltwise: logistic (dst for backward)
Definition: dnnl_types.h:1458
Definition: dnnl_types.h:557
Definition: dnnl_types.h:647
Definition: dnnl_types.h:340
Definition: dnnl_types.h:538
Definition: dnnl_types.h:666
dnnl_memory_desc_t diff_weights_layer_desc
Weights gradient layer memory descriptor.
Definition: dnnl_types.h:2317
weights memory descriptor desc
Definition: dnnl_types.h:2906
unsigned flags
Definition: dnnl_types.h:2206
Definition: dnnl_types.h:942
Definition: dnnl_types.h:272
Definition: dnnl_types.h:407
Definition: dnnl_types.h:980
unsigned gpu_runtime
GPU runtime.
Definition: dnnl_types.h:2980
Definition: dnnl_types.h:503
Definition: dnnl_types.h:601
Linear Resampling Method.
Definition: dnnl_types.h:1516
3D CNN weights tensor, an alias to dnnl_abc
Definition: dnnl_types.h:734
dnnl_cpu_isa_t
CPU instruction set flags.
Definition: dnnl_types.h:3004
int compensation_mask
Compensation mask.
Definition: dnnl_types.h:1747
Eltwise: soft_relu.
Definition: dnnl_types.h:1417
plain 5D tensor
Definition: dnnl_types.h:182
dnnl_dims_t strides
Pooling kernel strides for spatial dimensions.
Definition: dnnl_types.h:2073
Definition: dnnl_types.h:634
Definition: dnnl_types.h:1019
destination engine
Definition: dnnl_types.h:2875
dnnl_primitive_kind_t primitive_kind
Definition: dnnl_types.h:2218
Definition: dnnl_types.h:382
Definition: dnnl_types.h:1296
Definition: dnnl_types.h:944
Eltwise: square.
Definition: dnnl_types.h:1407
Definition: dnnl_types.h:617
Definition: dnnl_types.h:459
Definition: dnnl_types.h:1184
Definition: dnnl_types.h:957
Definition: dnnl_types.h:1108
Definition: dnnl_types.h:1190
Definition: dnnl_types.h:268
Definition: dnnl_types.h:1183
dnnl_memory_desc_t diff_weights_desc
Learnable parameter alpha gradient memory descriptor.
Definition: dnnl_types.h:2105
Definition: dnnl_types.h:1274
Definition: dnnl_types.h:486
Definition: dnnl_types.h:1110
Definition: dnnl_types.h:594