Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)  1.0.4
Performance library for Deep Learning
mkldnn_types.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright 2016-2019 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 MKLDNN_TYPES_H
21 #define MKLDNN_TYPES_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #ifndef DOXYGEN_SHOULD_SKIP_THIS
28 #include <stddef.h>
29 #include <stdint.h>
30 #endif
31 
40 
42 typedef struct {
43  int major;
44  int minor;
45  int patch;
46  const char *hash;
48 
50 typedef enum {
66 
68 typedef enum {
80  mkldnn_s8 = 5,
82  mkldnn_u8 = 6,
84 
86 typedef enum {
101 
170 typedef enum {
176 
177  // Semantic agnostic section
178  // The physical order of dimensions is defined by the permutation of the
179  // characters, assuming that ab..z defines the natural order.
180 
181  // Plain formats
182 
189 
190  // Permuted plain formats
191 
207 
208  // Opaque blocked formats
209 
210  mkldnn_Abc16a,
211  mkldnn_ABc16a16b,
214  mkldnn_ABc16b16a,
215  mkldnn_Abc4a,
218  mkldnn_ABc4b16a4b,
219  mkldnn_ABc4b4a,
220  mkldnn_ABc8a16b2a,
221  mkldnn_ABc8a8b,
224  mkldnn_ABc8b16a2b,
225  mkldnn_BAc8a16b2a,
226  mkldnn_ABc8b8a,
227  mkldnn_Abcd16a,
228  mkldnn_ABcd16a16b,
229  mkldnn_ABcd32a32b,
232  mkldnn_ABcd16b16a,
233  mkldnn_aBCd16b16c,
234  mkldnn_aBCd16c16b,
235  mkldnn_Abcd4a,
238  mkldnn_ABcd4b16a4b,
239  mkldnn_ABcd4b4a,
240  mkldnn_aBCd4c16b4c,
241  mkldnn_aBCd4c4b,
242  mkldnn_ABcd8a16b2a,
243  mkldnn_ABcd8a8b,
246  mkldnn_ABcd8b16a2b,
247  mkldnn_aBCd8b16c2b,
248  mkldnn_BAcd8a16b2a,
251  mkldnn_aBCd8b8c,
252  mkldnn_aBCd8c16b2c,
253  mkldnn_ABcde8a16b2a,
254  mkldnn_aCBd8b16c2b,
255  mkldnn_aBCd8c8b,
256  mkldnn_Abcde16a,
257  mkldnn_ABcde16a16b,
258  mkldnn_BAcde8a16b2a,
261  mkldnn_ABcde16b16a,
262  mkldnn_aBCde16b16c,
263  mkldnn_aBCde16c16b,
264  mkldnn_aBCde2c8b4c,
265  mkldnn_Abcde4a,
268  mkldnn_ABcde4b4a,
269  mkldnn_aBCde4b4c,
270  mkldnn_aBCde4c16b4c,
271  mkldnn_aBCde4c4b,
272  mkldnn_Abcde8a,
273  mkldnn_ABcde8a8b,
274  mkldnn_BAcde16b16a,
277  mkldnn_ABcde8b16a2b,
278  mkldnn_aBCde8b16c2b,
279  mkldnn_aCBde8b16c2b,
280  mkldnn_ABcde8b8a,
281  mkldnn_aBCde8b8c,
282  mkldnn_ABcd4a8b8a4b,
283  mkldnn_ABcd2a8b8a2b,
284  mkldnn_aBCde4b8c8b4c,
285  mkldnn_aBCde2b8c8b2c,
286  mkldnn_aBCde8c16b2c,
287  mkldnn_aBCde8c8b,
290  mkldnn_aBCdef16b16c,
291  mkldnn_aBCdef16c16b,
294  mkldnn_aBCdef4c4b,
295  mkldnn_aBCdef8b8c,
296  mkldnn_aBCdef8c16b2c,
297  mkldnn_aBCdef8b16c2b,
298  mkldnn_aCBdef8b16c2b,
299  mkldnn_aBCdef8c8b,
300  mkldnn_aBdc16b,
301  mkldnn_aBdc4b,
302  mkldnn_aBdc8b,
303  mkldnn_aBdec16b,
304  mkldnn_aBdec32b,
305  mkldnn_aBdec4b,
306  mkldnn_aBdec8b,
307  mkldnn_aBdefc16b,
308  mkldnn_aCBdef16c16b,
309  mkldnn_aBdefc4b,
310  mkldnn_aBdefc8b,
311  mkldnn_Abcdef16a,
312  mkldnn_Acb16a,
313  mkldnn_Acb4a,
314  mkldnn_Acb8a,
315  mkldnn_aCBd16b16c,
316  mkldnn_aCBd16c16b,
317  mkldnn_aCBde16b16c,
318  mkldnn_aCBde16c16b,
319  mkldnn_Acdb16a,
320  mkldnn_Acdb32a,
321  mkldnn_Acdb4a,
322  mkldnn_Acdb8a,
323  mkldnn_Acdeb16a,
324  mkldnn_Acdeb4a,
325  mkldnn_Acdeb8a,
326  mkldnn_BAc16a16b,
327  mkldnn_BAc16b16a,
328  mkldnn_BAcd16a16b,
329  mkldnn_BAcd16b16a,
330 
334 
335  // Aliases
336 
357 
388 
399 
428 
429  // Opaque data types, are not to be used explicitly
430 
431  // data
432 
460  mkldnn_NCw16n16c = mkldnn_ABc16a16b,
461  mkldnn_NCdhw16n16c = mkldnn_ABcde16a16b,
462  mkldnn_NChw16n16c = mkldnn_ABcd16a16b,
463  mkldnn_NChw32n32c = mkldnn_ABcd32a32b,
464 
465  // weights, 3D
466  mkldnn_IOw16o16i = mkldnn_BAc16a16b,
467  mkldnn_IOw16i16o = mkldnn_BAc16b16a,
468  mkldnn_OIw16i16o = mkldnn_ABc16b16a,
469  mkldnn_OIw16o16i = mkldnn_ABc16a16b,
470  mkldnn_Oiw16o = mkldnn_Abc16a,
471  mkldnn_OIw4i16o4i = mkldnn_ABc4b16a4b,
472  mkldnn_OIw4i4o = mkldnn_ABc4b4a,
473  mkldnn_Oiw4o = mkldnn_Abc4a,
474  mkldnn_OIw8i16o2i = mkldnn_ABc8b16a2b,
475  mkldnn_OIw8i8o = mkldnn_ABc8b8a,
476  mkldnn_OIw8o16i2o = mkldnn_ABc8a16b2a,
477  mkldnn_IOw8o16i2o = mkldnn_BAc8a16b2a,
478  mkldnn_OIw8o8i = mkldnn_ABc8a8b,
479  mkldnn_Owi16o = mkldnn_Acb16a,
480  mkldnn_Owi4o = mkldnn_Acb4a,
481  mkldnn_Owi8o = mkldnn_Acb8a,
482 
483  // weights, 4D
484  mkldnn_IOhw16i16o = mkldnn_BAcd16b16a,
485  mkldnn_IOhw16o16i = mkldnn_BAcd16a16b,
486  mkldnn_Ohwi16o = mkldnn_Acdb16a,
487  mkldnn_Ohwi32o = mkldnn_Acdb32a,
488  mkldnn_Ohwi4o = mkldnn_Acdb4a,
489  mkldnn_Ohwi8o = mkldnn_Acdb8a,
490  mkldnn_OIhw16i16o = mkldnn_ABcd16b16a,
491  mkldnn_OIhw16o16i = mkldnn_ABcd16a16b,
492  mkldnn_Oihw16o = mkldnn_Abcd16a,
493  mkldnn_OIhw4i16o4i = mkldnn_ABcd4b16a4b,
494  mkldnn_OIhw4i4o = mkldnn_ABcd4b4a,
495  mkldnn_Oihw4o = mkldnn_Abcd4a,
496  mkldnn_OIhw8i16o2i = mkldnn_ABcd8b16a2b,
497  mkldnn_OIhw8i8o = mkldnn_ABcd8b8a,
498  mkldnn_OIhw8o16i2o = mkldnn_ABcd8a16b2a,
499  mkldnn_IOhw8o16i2o = mkldnn_BAcd8a16b2a,
500  mkldnn_OIhw8o8i = mkldnn_ABcd8a8b,
501 
502  // weights, 5D
503  mkldnn_Odhwi16o = mkldnn_Acdeb16a,
504  mkldnn_Odhwi4o = mkldnn_Acdeb4a,
505  mkldnn_Odhwi8o = mkldnn_Acdeb8a,
506  mkldnn_OIdhw16i16o = mkldnn_ABcde16b16a,
507  mkldnn_OIdhw16o16i = mkldnn_ABcde16a16b,
508  mkldnn_Oidhw16o = mkldnn_Abcde16a,
509  mkldnn_OIdhw4i4o = mkldnn_ABcde4b4a,
510  mkldnn_Oidhw4o = mkldnn_Abcde4a,
511  mkldnn_OIdhw8i16o2i = mkldnn_ABcde8b16a2b,
512  mkldnn_OIdhw8i8o = mkldnn_ABcde8b8a,
513  mkldnn_OIdhw8o16i2o = mkldnn_ABcde8a16b2a,
514  mkldnn_IOdhw8o16i2o = mkldnn_BAcde8a16b2a,
515  mkldnn_OIdhw8o8i = mkldnn_ABcde8a8b,
516  mkldnn_IOdhw16i16o = mkldnn_BAcde16b16a,
517 
518  // weights w/ groups, 3D
519  mkldnn_Goiw16g = mkldnn_Abcd16a,
520  mkldnn_gIOw16o16i = mkldnn_aCBd16b16c,
521  mkldnn_gIOw16i16o = mkldnn_aCBd16c16b,
522  mkldnn_gOIw16i16o = mkldnn_aBCd16c16b,
523  mkldnn_gOIw16o16i = mkldnn_aBCd16b16c,
524  mkldnn_gOiw16o = mkldnn_aBcd16b,
525  mkldnn_gOIw4i16o4i = mkldnn_aBCd4c16b4c,
526  mkldnn_gOIw4i4o = mkldnn_aBCd4c4b,
527  mkldnn_gOiw4o = mkldnn_aBcd4b,
528  mkldnn_gOIw8i16o2i = mkldnn_aBCd8c16b2c,
529  mkldnn_gOIw8i8o = mkldnn_aBCd8c8b,
530  mkldnn_gOIw8o16i2o = mkldnn_aBCd8b16c2b,
531  mkldnn_gIOw8o16i2o = mkldnn_aCBd8b16c2b,
532  mkldnn_gOIw8o8i = mkldnn_aBCd8b8c,
533  mkldnn_gOwi16o = mkldnn_aBdc16b,
534  mkldnn_gOwi4o = mkldnn_aBdc4b,
535  mkldnn_gOwi8o = mkldnn_aBdc8b,
536 
537  // weights w/ groups, 4D
538  mkldnn_gIOhw16i16o = mkldnn_aCBde16c16b,
539  mkldnn_gIOhw16o16i = mkldnn_aCBde16b16c,
540  mkldnn_gOhwi16o = mkldnn_aBdec16b,
541  mkldnn_gOhwi32o = mkldnn_aBdec32b,
542  mkldnn_gOhwi4o = mkldnn_aBdec4b,
543  mkldnn_gOhwi8o = mkldnn_aBdec8b,
544  mkldnn_Goihw16g = mkldnn_Abcde16a,
545  mkldnn_gOIhw16i16o = mkldnn_aBCde16c16b,
546  mkldnn_gOIhw16o16i = mkldnn_aBCde16b16c,
547  mkldnn_gOihw16o = mkldnn_aBcde16b,
548  mkldnn_gOIhw2i8o4i = mkldnn_aBCde2c8b4c,
549  mkldnn_gOIhw4i16o4i = mkldnn_aBCde4c16b4c,
550  mkldnn_gOIhw4i4o = mkldnn_aBCde4c4b,
551  mkldnn_gOIhw4o4i = mkldnn_aBCde4b4c,
552  mkldnn_gOihw4o = mkldnn_aBcde4b,
553  mkldnn_Goihw8g = mkldnn_Abcde8a,
554  mkldnn_gOIhw8i16o2i = mkldnn_aBCde8c16b2c,
555  mkldnn_gOIhw8i8o = mkldnn_aBCde8c8b,
556  mkldnn_gOIhw8o16i2o = mkldnn_aBCde8b16c2b,
557  mkldnn_gIOhw8o16i2o = mkldnn_aCBde8b16c2b,
558  mkldnn_gOIhw8o8i = mkldnn_aBCde8b8c,
559 
560  mkldnn_OIhw4o8i8o4i = mkldnn_ABcd4a8b8a4b,
561  mkldnn_OIhw2o8i8o2i = mkldnn_ABcd2a8b8a2b,
562  mkldnn_gOIhw4o8i8o4i = mkldnn_aBCde4b8c8b4c,
563  mkldnn_gOIhw2o8i8o2i = mkldnn_aBCde2b8c8b2c,
564 
565  // weights w/ groups, 6D
566  mkldnn_gIOdhw16i16o = mkldnn_aCBdef16c16b,
567  mkldnn_gOdhwi16o = mkldnn_aBdefc16b,
568  mkldnn_gOdhwi4o = mkldnn_aBdefc4b,
569  mkldnn_gOdhwi8o = mkldnn_aBdefc8b,
570  mkldnn_gOIdhw16i16o = mkldnn_aBCdef16c16b,
571  mkldnn_gOIdhw16o16i = mkldnn_aBCdef16b16c,
572  mkldnn_gOidhw16o = mkldnn_aBcdef16b,
573  mkldnn_gOIdhw4i4o = mkldnn_aBCdef4c4b,
574  mkldnn_gOidhw4o = mkldnn_aBcdef4b,
575  mkldnn_gOIdhw8i16o2i = mkldnn_aBCdef8c16b2c,
576  mkldnn_gOIdhw8i8o = mkldnn_aBCdef8c8b,
577  mkldnn_gOIdhw8o16i2o = mkldnn_aBCdef8b16c2b,
578  mkldnn_gIOdhw8o16i2o = mkldnn_aCBdef8b16c2b,
579  mkldnn_gOIdhw8o8i = mkldnn_aBCdef8b8c,
580  mkldnn_Goidhw16g = mkldnn_Abcdef16a,
582 
584 typedef enum {
585  // TODO: suggest renames
608 
611 typedef enum {
643 
645 typedef enum {
646  mkldnn_alg_kind_undef,
690  mkldnn_pooling_avg = mkldnn_pooling_avg_exclude_padding,
708  mkldnn_lbr_gru = 0x4fff,
710 
712 typedef enum {
725 
738 
748 
750 
753 
757 #define MKLDNN_MAX_NDIMS 12
758 
760 typedef int64_t mkldnn_dim_t;
761 
764 
768 typedef struct {
772  // Innermost section
773  // ASSUMPTION: the innermost blocks are always dense
782 
784 typedef enum {
787  // Tensors of weights for 2x3 winograd convolutions.
791  // Tensor of weights for 4x3 convolution.
794 
796 typedef struct {
797  mkldnn_wino_memory_format_t wino_format;
798  int r;
799  int alpha;
800  int ic;
801  int oc;
802  int ic_block;
803  int oc_block;
804  int ic2_block;
805  int oc2_block;
806  float adj_scale;
807  size_t size;
809 
810 typedef enum {
811  mkldnn_packed_format_undef = 0,
812  mkldnn_ldigo_p,
813  mkldnn_ldgoi_p
814 } mkldnn_rnn_packed_memory_format_t;
815 
818 #define MKLDNN_RNN_MAX_N_PARTS 4
819 
821 typedef struct {
822  mkldnn_rnn_packed_memory_format_t format;
823  int n_parts;
824  int n;
825  int ldb;
826  int parts[MKLDNN_RNN_MAX_N_PARTS];
827  size_t part_pack_size[MKLDNN_RNN_MAX_N_PARTS];
828  unsigned pack_part[MKLDNN_RNN_MAX_N_PARTS];
829  size_t offset_compensation;
830  size_t size;
831  char reserved[200];
833 
835 typedef enum {
836  mkldnn_memory_extra_flag_none = 0x0U,
845  mkldnn_memory_extra_flag_scale_adjust = 0x2U,
847 
849 typedef struct {
852  uint64_t flags;
858  char reserved[64];
860 
865 typedef struct {
867  int ndims;
883 
886 
889 
893 
897 
900  union {
908  // ... other descriptions possible
909  } format_desc;
910 
913 
916 struct mkldnn_memory;
917 
920 
922 typedef const struct mkldnn_memory *const_mkldnn_memory_t;
923 
924 #define MKLDNN_MEMORY_NONE (NULL)
925 #define MKLDNN_MEMORY_ALLOCATE ((void *)(size_t)-1)
926 
928 
931 
933 typedef void *mkldnn_op_desc_t;
935 typedef const void *const_mkldnn_op_desc_t;
936 
938 typedef struct {
972  mkldnn_dims_t padding[2];
976 
979 
981 typedef struct {
992  int axis;
996 
998 typedef struct {
1028  float alpha, beta;
1030 
1032 typedef struct {
1046 
1048 typedef struct {
1075  mkldnn_dims_t padding[2];
1079 
1081 typedef struct {
1099  float lrn_alpha;
1101  float lrn_beta;
1103  float lrn_k;
1105 
1107 typedef struct {
1124  mkldnn_memory_desc_t diff_data_scaleshift_desc;
1131  unsigned flags;
1133 
1135 typedef struct {
1162 
1164 typedef enum {
1165  mkldnn_rnn_flags_undef = 0x0
1167 
1169 typedef enum {
1180  mkldnn_unidirectional = mkldnn_unidirectional_left2right,
1182 
1184 typedef struct {
1216  mkldnn_memory_desc_t placeholder2_desc;
1217 
1238  mkldnn_memory_desc_t diff_placeholder2_desc;
1239 
1241  unsigned int flags;
1245  float alpha;
1246  float beta;
1247 
1249 
1251 
1254 
1256 typedef enum {
1264 
1267 struct mkldnn_engine;
1270 #if 0
1271 // FIXME: looks like this never happens
1273 typedef const struct mkldnn_engine *const_mkldnn_engine_t;
1274 #endif
1275 
1277 
1280 
1284 
1288 
1292 
1294 
1297 
1300 struct mkldnn_primitive_desc;
1301 
1304 
1307 
1309 
1312 
1314 typedef enum {
1320 
1326 struct mkldnn_primitive_attr;
1327 
1331 
1334 
1353 struct mkldnn_post_ops;
1354 
1357 
1360 
1362 
1365 
1368 struct mkldnn_primitive;
1373 
1376 
1377 #define MKLDNN_ARG_SRC_0 1
1378 #define MKLDNN_ARG_SRC MKLDNN_ARG_SRC_0
1379 #define MKLDNN_ARG_SRC_LAYER MKLDNN_ARG_SRC_0
1380 #define MKLDNN_ARG_FROM MKLDNN_ARG_SRC_0
1381 
1382 #define MKLDNN_ARG_SRC_1 2
1383 #define MKLDNN_ARG_SRC_ITER MKLDNN_ARG_SRC_1
1384 
1385 #define MKLDNN_ARG_SRC_2 3
1386 #define MKLDNN_ARG_SRC_ITER_C MKLDNN_ARG_SRC_2
1387 
1388 #define MKLDNN_ARG_DST_0 17
1389 #define MKLDNN_ARG_DST MKLDNN_ARG_DST_0
1390 #define MKLDNN_ARG_TO MKLDNN_ARG_DST_0
1391 #define MKLDNN_ARG_DST_LAYER MKLDNN_ARG_DST_0
1392 
1393 #define MKLDNN_ARG_DST_1 18
1394 #define MKLDNN_ARG_DST_ITER MKLDNN_ARG_DST_1
1395 
1396 #define MKLDNN_ARG_DST_2 19
1397 #define MKLDNN_ARG_DST_ITER_C MKLDNN_ARG_DST_2
1398 
1399 #define MKLDNN_ARG_WEIGHTS_0 33
1400 #define MKLDNN_ARG_WEIGHTS MKLDNN_ARG_WEIGHTS_0
1401 #define MKLDNN_ARG_SCALE_SHIFT MKLDNN_ARG_WEIGHTS_0
1402 #define MKLDNN_ARG_WEIGHTS_LAYER MKLDNN_ARG_WEIGHTS_0
1403 
1404 #define MKLDNN_ARG_WEIGHTS_1 34
1405 #define MKLDNN_ARG_WEIGHTS_ITER MKLDNN_ARG_WEIGHTS_1
1406 
1407 #define MKLDNN_ARG_BIAS 41
1408 
1409 #define MKLDNN_ARG_MEAN 49
1410 #define MKLDNN_ARG_VARIANCE 50
1411 
1412 #define MKLDNN_ARG_WORKSPACE 64
1413 #define MKLDNN_ARG_SCRATCHPAD 80
1414 
1415 #define MKLDNN_ARG_DIFF_SRC_0 129
1416 #define MKLDNN_ARG_DIFF_SRC MKLDNN_ARG_DIFF_SRC_0
1417 #define MKLDNN_ARG_DIFF_SRC_LAYER MKLDNN_ARG_DIFF_SRC_0
1418 
1419 #define MKLDNN_ARG_DIFF_SRC_1 130
1420 #define MKLDNN_ARG_DIFF_SRC_ITER MKLDNN_ARG_DIFF_SRC_1
1421 
1422 #define MKLDNN_ARG_DIFF_SRC_2 131
1423 #define MKLDNN_ARG_DIFF_SRC_ITER_C MKLDNN_ARG_DIFF_SRC_2
1424 
1425 #define MKLDNN_ARG_DIFF_DST_0 145
1426 #define MKLDNN_ARG_DIFF_DST MKLDNN_ARG_DIFF_DST_0
1427 #define MKLDNN_ARG_DIFF_DST_LAYER MKLDNN_ARG_DIFF_DST_0
1428 
1429 #define MKLDNN_ARG_DIFF_DST_1 146
1430 #define MKLDNN_ARG_DIFF_DST_ITER MKLDNN_ARG_DIFF_DST_1
1431 
1432 #define MKLDNN_ARG_DIFF_DST_2 147
1433 #define MKLDNN_ARG_DIFF_DST_ITER_C MKLDNN_ARG_DIFF_DST_2
1434 
1435 #define MKLDNN_ARG_DIFF_WEIGHTS_0 161
1436 #define MKLDNN_ARG_DIFF_WEIGHTS MKLDNN_ARG_DIFF_WEIGHTS_0
1437 #define MKLDNN_ARG_DIFF_SCALE_SHIFT MKLDNN_ARG_DIFF_WEIGHTS_0
1438 #define MKLDNN_ARG_DIFF_WEIGHTS_LAYER MKLDNN_ARG_DIFF_WEIGHTS_0
1439 
1440 #define MKLDNN_ARG_DIFF_WEIGHTS_1 162
1441 #define MKLDNN_ARG_DIFF_WEIGHTS_ITER MKLDNN_ARG_DIFF_WEIGHTS_1
1442 
1443 #define MKLDNN_ARG_DIFF_BIAS 169
1444 
1445 #define MKLDNN_ARG_MULTIPLE_SRC 1024
1446 #define MKLDNN_ARG_MULTIPLE_DST 2048
1447 
1449 
1456 typedef struct {
1457  int arg;
1460 
1462 
1465 
1494 typedef enum {
1496 
1499 
1502 
1505 
1510 
1513 
1514  // memory and op descriptor section
1528 
1529  // memory descriptor section
1539 } mkldnn_query_t;
1540 
1542 
1545 
1547 typedef enum {
1558 
1561 struct mkldnn_stream;
1565 typedef const struct mkldnn_stream *const_mkldnn_stream_t;
1566 
1570 
1571 #ifdef __cplusplus
1572 }
1573 #endif
1574 
1575 
1576 #endif
mkldnn_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: mkldnn_types.h:1160
LRN within a single channel.
Definition: mkldnn_types.h:694
struct mkldnn_post_ops * mkldnn_post_ops_t
A post operation chain handle.
Definition: mkldnn_types.h:1356
A descriptor of a Local Response Normalization (LRN) operation.
Definition: mkldnn_types.h:1081
5D CNN weights tensor, an alias to mkldnn_acdeb
Definition: mkldnn_types.h:385
mkldnn_memory_desc_t placeholder_desc
Placeholders.
Definition: mkldnn_types.h:1215
op descriptor
Definition: mkldnn_types.h:1516
Packed weights format used in RNN.
Definition: mkldnn_types.h:99
2D CNN activations tensor, an alias to mkldnn_ab
Definition: mkldnn_types.h:340
A softmax primitive.
Definition: mkldnn_types.h:629
4D tensor blocked by 2nd dimension with block size 16
Definition: mkldnn_types.h:231
number of outputs expected
Definition: mkldnn_types.h:1501
mkldnn_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: mkldnn_types.h:1229
GPU engine.
Definition: mkldnn_types.h:1262
mkldnn_dims_t dilates
Convolution dilates in each spatial dimension.
Definition: mkldnn_types.h:968
Unspecified format kind.
Definition: mkldnn_types.h:91
mkldnn_status_t
Status values returned by the library functions.
Definition: mkldnn_types.h:50
4D tensor blocked by 1st and 2nd dimension with block size 8
Definition: mkldnn_types.h:250
A descriptor of a convolution operation.
Definition: mkldnn_types.h:938
mkldnn_dim_t mkldnn_dims_t[MKLDNN_MAX_NDIMS]
A type to describe tensor dimensions.
Definition: mkldnn_types.h:763
mkldnn_rnn_direction_t direction
The direction of RNN primitive execution.
Definition: mkldnn_types.h:1195
permuted 3D tensor
Definition: mkldnn_types.h:193
mkldnn_memory_desc_t dst_layer_desc
Destination layer memory descriptor.
Definition: mkldnn_types.h:1209
The operation failed because of incorrect function arguments.
Definition: mkldnn_types.h:56
Eltwise: exponent.
Definition: mkldnn_types.h:678
Forward data propagation (alias for mkldnn_forward_inference).
Definition: mkldnn_types.h:596
An opaque structure to describe an engine.
Backward data propagation.
Definition: mkldnn_types.h:602
4D RNN bias tensor in the format (num_layers, num_directions, num_gates, output_channels).
Definition: mkldnn_types.h:427
Use global statistics.
Definition: mkldnn_types.h:724
mkldnn_memory_desc_t stat_desc
Statistics memory descriptor.
Definition: mkldnn_types.h:1128
Default order execution.
Definition: mkldnn_types.h:1550
A descriptor of a Softmax operation.
Definition: mkldnn_types.h:1032
mkldnn_memory_t memory
Input/output memory.
Definition: mkldnn_types.h:1458
5D tensor blocked by 2nd dimension with block size 16
Definition: mkldnn_types.h:260
permuted 4D tensor
Definition: mkldnn_types.h:204
A descriptor of an inner product operation.
Definition: mkldnn_types.h:1135
An opaque structure for a chain of post operations.
An opaque structure to describe a primitive descriptor.
batch normalization descriptor
Definition: mkldnn_types.h:1524
A convolution primitive.
Definition: mkldnn_types.h:623
mkldnn_rnn_direction_t
A direction of RNN primitive execution.
Definition: mkldnn_types.h:1169
mkldnn_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: mkldnn_types.h:1146
source memory desc
Definition: mkldnn_types.h:1531
int axis
axis for shuffling.
Definition: mkldnn_types.h:992
struct mkldnn_stream * mkldnn_stream_t
An execution stream handle.
Definition: mkldnn_types.h:1563
5D CNN weights tensor, an alias to mkldnn_bcdea
Definition: mkldnn_types.h:387
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:1038
struct mkldnn_primitive_desc_iterator * mkldnn_primitive_desc_iterator_t
A primitive descriptor iterator handle.
Definition: mkldnn_types.h:1286
5D CNN weights tensor (incl. groups), an alias to mkldnn_abcde
Definition: mkldnn_types.h:392
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:984
Undefined primitive.
Definition: mkldnn_types.h:613
An inner product primitive.
Definition: mkldnn_types.h:637
3D CNN weights tensor, an alias to mkldnn_cba
Definition: mkldnn_types.h:367
mkldnn_memory_desc_t dst_desc
Destination memory descriptor.
Definition: mkldnn_types.h:962
4D CNN weights tensor, an alias to mkldnn_acdb
Definition: mkldnn_types.h:375
mkldnn_dims_t padded_dims
Size of the data including padding in each dimension.
Definition: mkldnn_types.h:888
mkldnn_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: mkldnn_types.h:1063
Internal weights format for 2x3 Winograd.
Definition: mkldnn_types.h:788
mkldnn_memory_desc_t diff_desc
Source and Destination of gradient memory descriptor.
Definition: mkldnn_types.h:1042
mkldnn_data_type_t data_type
Data type of the tensor elements.
Definition: mkldnn_types.h:885
float lrn_beta
LRN beta parameter.
Definition: mkldnn_types.h:1101
32-bit signed integer.
Definition: mkldnn_types.h:78
Use scale and shift parameters.
Definition: mkldnn_types.h:737
Max pooling.
Definition: mkldnn_types.h:685
stub
Definition: mkldnn_types.h:1530
5D CNN activations tensor, an alias to mkldnn_acdeb
Definition: mkldnn_types.h:356
permuted 5D tensor
Definition: mkldnn_types.h:194
In-order execution.
Definition: mkldnn_types.h:1552
5D CNN activations tensor blocked by channels with block size 8, an alias to mkldnn_aBcde8b ...
Definition: mkldnn_types.h:441
execution engine
Definition: mkldnn_types.h:1497
void * mkldnn_op_desc_t
A pointer to any of the operation descriptors.
Definition: mkldnn_types.h:933
mkldnn_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: mkldnn_types.h:974
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:1087
5D CNN weights tensor, an alias to mkldnn_abcde
Definition: mkldnn_types.h:381
mkldnn_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: mkldnn_types.h:1067
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:1012
float lrn_alpha
LRN alpha parameter.
Definition: mkldnn_types.h:1099
const struct mkldnn_memory * const_mkldnn_memory_t
A constant memory handle.
Definition: mkldnn_types.h:922
struct mkldnn_primitive * mkldnn_primitive_t
A primitive handle.
Definition: mkldnn_types.h:1370
5D CNN activations tensor blocked by channels with block size 4, an alias to mkldnn_aBcde4b ...
Definition: mkldnn_types.h:438
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:1054
A descriptor of a element-wise operation.
Definition: mkldnn_types.h:998
mkldnn_alg_kind_t cell_kind
RNN cell kind.
Definition: mkldnn_types.h:1193
rnn descriptor
Definition: mkldnn_types.h:1526
An element-wise primitive.
Definition: mkldnn_types.h:627
mkldnn_convolution_desc_t mkldnn_deconvolution_desc_t
A descriptor of a deconvolution operation.
Definition: mkldnn_types.h:978
mkldnn_memory_desc_t src_desc
Source memory descriptor.
Definition: mkldnn_types.h:1144
Unidirectional execution of RNN primitive from left to right.
Definition: mkldnn_types.h:1171
A descriptor for an RNN operation.
Definition: mkldnn_types.h:1184
eltwise descriptor
Definition: mkldnn_types.h:1520
3D CNN activations tensor, an alias to mkldnn_acb
Definition: mkldnn_types.h:346
An opaque structure to describe a memory.
3D CNN activations tensor, an alias to mkldnn_abc
Definition: mkldnn_types.h:344
mkldnn_memory_desc_t bias_desc
Bias memory descriptor.
Definition: mkldnn_types.h:958
Eltwise: soft_relu.
Definition: mkldnn_types.h:674
mkldnn_wino_memory_format_t
Winograd-specific formats.
Definition: mkldnn_types.h:784
The operation failed due to an out-of-memory condition.
Definition: mkldnn_types.h:54
RNN cell.
Definition: mkldnn_types.h:696
3D CNN weights tensor, an alias to mkldnn_bca
Definition: mkldnn_types.h:369
A user shall query and provide the scratchpad memory to primitives.
Definition: mkldnn_types.h:1318
Eltwise: gelu.
Definition: mkldnn_types.h:683
Backward weights propagation.
Definition: mkldnn_types.h:604
mkldnn_memory_desc_t weights_iter_desc
Weights iteration memory descriptor.
Definition: mkldnn_types.h:1205
stub
Definition: mkldnn_types.h:1515
32-bit/single-precision floating point.
Definition: mkldnn_types.h:76
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:1004
const struct mkldnn_primitive_desc_iterator * const_mkldnn_primitive_desc_iterator_t
A constant primitive descriptor iterator handle.
Definition: mkldnn_types.h:1290
6D CNN weights tensor (incl. groups), an alias to mkldnn_abcdef
Definition: mkldnn_types.h:398
Memory descriptor.
Definition: mkldnn_types.h:865
mkldnn_dims_t kernel
Pooling kernel spatial dimensions.
Definition: mkldnn_types.h:1071
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:1115
float alpha
Algorithm specific parameter.
Definition: mkldnn_types.h:1028
Indicates the weights have an additional buffer, that depends on the compensation_mask.
Definition: mkldnn_types.h:844
3D CNN activations tensor blocked by channels with block size 8, an alias to mkldnn_aBc8b ...
Definition: mkldnn_types.h:459
pooling descriptor
Definition: mkldnn_types.h:1522
mkldnn_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: mkldnn_types.h:1094
mkldnn_format_tag_t
Memory format tag specification.
Definition: mkldnn_types.h:170
mkldnn_alg_kind_t alg_kind
The kind of pooling algorithm.
Definition: mkldnn_types.h:1059
mkldnn_memory_desc_t diff_placeholder_desc
Placeholders.
Definition: mkldnn_types.h:1237
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:941
mkldnn_memory_desc_t dst_desc
Destination memory descriptor.
Definition: mkldnn_types.h:1156
mkldnn_memory_desc_t dst_iter_c_desc
Destination iter memory descriptor for cell state.
Definition: mkldnn_types.h:1213
5D RNN weights tensor in the format (num_layers, num_directions, num_gates, output_channels, input_channels).
Definition: mkldnn_types.h:420
mkldnn_memory_desc_t weights_layer_desc
Weights layer memory descriptor.
Definition: mkldnn_types.h:1203
mkldnn_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: mkldnn_types.h:960
The operation was successful.
Definition: mkldnn_types.h:52
mkldnn_memory_desc_t dst_iter_desc
Destination iter memory descriptor for hidden state.
Definition: mkldnn_types.h:1211
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:1084
mkldnn_memory_desc_t src_iter_desc
Source iteration memory descriptor for hidden state.
Definition: mkldnn_types.h:1199
4D CNN weights tensor, an alias to mkldnn_abcd
Definition: mkldnn_types.h:371
Backward propagation (with respect to all parameters).
Definition: mkldnn_types.h:600
permuted 3D tensor
Definition: mkldnn_types.h:203
softmax descriptor
Definition: mkldnn_types.h:1521
A deconvolution primitive.
Definition: mkldnn_types.h:625
mkldnn_memory_desc_t data_scaleshift_desc
Scale and shift data and gradient memory descriptors.
Definition: mkldnn_types.h:1123
3D RNN data tensor in the format (batch, seq_length, input channels).
Definition: mkldnn_types.h:403
mkldnn_dims_t padded_offsets
Per-dimension offset from the padding to actual data, the top-level tensor with offsets applied must ...
Definition: mkldnn_types.h:892
3D tensor blocked by 2nd dimension with block size 16
Definition: mkldnn_types.h:213
no query
Definition: mkldnn_types.h:1495
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:1110
Default stream configuration.
Definition: mkldnn_types.h:1556
mkldnn_dims_t strides
The strides between the outermost blocks.
Definition: mkldnn_types.h:771
8-bit unsigned integer.
Definition: mkldnn_types.h:82
int arg
An argument index, e.g. MKLDNN_ARG_SRC.
Definition: mkldnn_types.h:1457
mkldnn_alg_kind_t alg_kind
LRN algorithm.
Definition: mkldnn_types.h:1090
Average pooling include padding.
Definition: mkldnn_types.h:687
A tensor in a generic format described by the stride and blocking values in each dimension.
Definition: mkldnn_types.h:95
mkldnn_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: mkldnn_types.h:952
mkldnn_format_kind_t
Memory format kind.
Definition: mkldnn_types.h:86
permuted 4D tensor
Definition: mkldnn_types.h:195
permuted 4D tensor
Definition: mkldnn_types.h:201
Local response normalization (LRN) across multiple channels.
Definition: mkldnn_types.h:692
Fuse with ReLU.
Definition: mkldnn_types.h:746
GRU cell.
Definition: mkldnn_types.h:700
implementation name
Definition: mkldnn_types.h:1512
4D CNN activations tensor, an alias to mkldnn_abcd
Definition: mkldnn_types.h:348
3D CNN weights tensor, an alias to mkldnn_acb
Definition: mkldnn_types.h:365
3D RNN data tensor in the format (seq_length, batch, input channels).
Definition: mkldnn_types.h:401
6D tensor blocked by 2nd dimension with block size 4
Definition: mkldnn_types.h:293
Eltwise: parametric exponential linear unit (elu)
Definition: mkldnn_types.h:662
Just a sentinel, not real memory format tag.
Definition: mkldnn_types.h:333
Eltwise: ReLU.
Definition: mkldnn_types.h:658
Out-of-order execution.
Definition: mkldnn_types.h:1554
float lrn_k
LRN k parameter.
Definition: mkldnn_types.h:1103
scratchpad memory desc
Definition: mkldnn_types.h:1538
Eltwise: square.
Definition: mkldnn_types.h:664
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:1142
mkldnn_wino_desc_t wino_desc
Tensor of weights for integer 8bit winograd convolution.
Definition: mkldnn_types.h:905
mkldnn_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: mkldnn_types.h:1077
5D tensor blocked by 2nd dimension with block size 8
Definition: mkldnn_types.h:276
Description of tensor of packed weights for rnn.
Definition: mkldnn_types.h:821
Backward bias propagation.
Definition: mkldnn_types.h:606
mkldnn_memory_desc_t src_iter_c_desc
Source iteration memory descriptor for cell state.
Definition: mkldnn_types.h:1201
mkldnn_memory_desc_t weights_desc
Weights memory descriptor.
Definition: mkldnn_types.h:954
A descriptor of a shuffle operation.
Definition: mkldnn_types.h:981
scratchpad engine – engine to be used for creating scratchpad memory
Definition: mkldnn_types.h:1509
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor, and source and destination gradient memory descriptor...
Definition: mkldnn_types.h:990
permuted 5D tensor
Definition: mkldnn_types.h:196
mkldnn_dims_t inner_idxs
The logical indices of the blocks, e.g.
Definition: mkldnn_types.h:780
5D CNN activations tensor, an alias to mkldnn_abcde
Definition: mkldnn_types.h:354
Undefined memory format, used for empty memory descriptors.
Definition: mkldnn_types.h:786
int ndims
Number of dimensions.
Definition: mkldnn_types.h:867
An opaque structure to describe an execution stream.
int compensation_mask
Compensation mask.
Definition: mkldnn_types.h:854
const struct mkldnn_primitive_attr * const_mkldnn_primitive_attr_t
A constant primitive descriptor attributes handle.
Definition: mkldnn_types.h:1333
6D tensor blocked by 2nd dimension with block size 16
Definition: mkldnn_types.h:289
Undefined propagation type.
Definition: mkldnn_types.h:587
mkldnn_blocking_desc_t blocking
Description of the data layout for memory formats that use blocking.
Definition: mkldnn_types.h:903
mkldnn_stream_flags_t
Stream flags.
Definition: mkldnn_types.h:1547
mkldnn_dims_t dims
Dimensions in the following order:
Definition: mkldnn_types.h:882
mkldnn_scratchpad_mode_t
Scratchpad mode.
Definition: mkldnn_types.h:1314
3D CNN activations tensor blocked by channels with block size 16, an alias to mkldnn_aBc16b ...
Definition: mkldnn_types.h:453
A rnn primitive.
Definition: mkldnn_types.h:639
mkldnn_rnn_packed_desc_t rnn_packed_desc
Tensor of packed weights for RNN.
Definition: mkldnn_types.h:907
mkldnn_format_kind_t format_kind
Memory format kind.
Definition: mkldnn_types.h:899
mkldnn_dims_t strides
Convolution strides in each spatial dimension.
Definition: mkldnn_types.h:966
mkldnn_prop_kind_t
Kinds of propagation.
Definition: mkldnn_types.h:584
CPU engine.
Definition: mkldnn_types.h:1260
mkldnn_memory_desc_t bias_desc
Bias memory descriptor.
Definition: mkldnn_types.h:1207
Eltwise: square root.
Definition: mkldnn_types.h:668
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:1040
permuted 3D tensor
Definition: mkldnn_types.h:198
mkldnn_memory_desc_t src_desc
Source memory descriptor.
Definition: mkldnn_types.h:950
Winograd convolution.
Definition: mkldnn_types.h:650
Eltwise: linear.
Definition: mkldnn_types.h:670
non-standard 16-bit (bfloat16 w/ 7 bit mantissa) floating point.
Definition: mkldnn_types.h:74
permuted 3D tensor
Definition: mkldnn_types.h:200
mkldnn_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: mkldnn_types.h:1117
Eltwise: logistic.
Definition: mkldnn_types.h:676
Description of extra information stored in memory.
Definition: mkldnn_types.h:849
Direct convolution.
Definition: mkldnn_types.h:648
Primitive iterator passed over last primitive descriptor.
Definition: mkldnn_types.h:60
permuted 5D tensor
Definition: mkldnn_types.h:202
const struct mkldnn_primitive * const_mkldnn_primitive_t
A constant primitive handle.
Definition: mkldnn_types.h:1372
An opaque structure for primitive descriptor attributes.
uint64_t flags
The flags contain arbitrary extra information, such as compensation.
Definition: mkldnn_types.h:852
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:1190
plain 3D tensor
Definition: mkldnn_types.h:185
float batch_norm_epsilon
Batch normalization epsilon parameter.
Definition: mkldnn_types.h:1130
runtime estimation (seconds)
Definition: mkldnn_types.h:1503
4D CNN weights tensor, an alias to mkldnn_bcda
Definition: mkldnn_types.h:377
Unidirectional execution of RNN primitive from right to left.
Definition: mkldnn_types.h:1173
GRU cell with linear before reset.
Definition: mkldnn_types.h:708
mkldnn_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: mkldnn_types.h:1014
LSTM cell.
Definition: mkldnn_types.h:698
mkldnn_memory_desc_t diff_weights_layer_desc
Weights gradient layer memory descriptor.
Definition: mkldnn_types.h:1225
Internal weights format for 2x3 Winograd.
Definition: mkldnn_types.h:789
Undefined data type, used for empty memory descriptors.
Definition: mkldnn_types.h:70
A shuffle primitive.
Definition: mkldnn_types.h:617
4D CNN activations tensor, an alias to mkldnn_acdb
Definition: mkldnn_types.h:350
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:987
mkldnn_memory_desc_t src_layer_desc
Source layer memory descriptor.
Definition: mkldnn_types.h:1197
destination grad. memory desc
Definition: mkldnn_types.h:1536
#define MKLDNN_MAX_NDIMS
Maximum number of dimensions a tensor can have.
Definition: mkldnn_types.h:757
mkldnn_normalization_flags_t
Flags for batch normalization primitive.
Definition: mkldnn_types.h:712
permuted 5D tensor
Definition: mkldnn_types.h:192
#define MKLDNN_RNN_MAX_N_PARTS
Maximum number of parts of RNN weights tensor that require separate computation.
Definition: mkldnn_types.h:818
A (out-of-place) concat primitive.
Definition: mkldnn_types.h:619
mkldnn_query_t
Primitive descriptor query specification.
Definition: mkldnn_types.h:1494
A descriptor of a Batch Normalization operation.
Definition: mkldnn_types.h:1107
workspace memory desc
Definition: mkldnn_types.h:1537
const struct mkldnn_stream * const_mkldnn_stream_t
A constant execution stream handle.
Definition: mkldnn_types.h:1565
A sum primitive.
Definition: mkldnn_types.h:621
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:1035
mkldnn_memory_extra_flags_t
Flags for memory special features.
Definition: mkldnn_types.h:835
Undefined memory format kind, used for empty memory descriptors.
Definition: mkldnn_types.h:88
Convolution algorithm(either direct or Winograd) is chosen just in time.
Definition: mkldnn_types.h:652
memory consumption – extra (scratch) memory, additional to all inputs and outputs memory (bytes) ...
Definition: mkldnn_types.h:1504
An batch normalization primitive.
Definition: mkldnn_types.h:635
A descriptor of a pooling operation.
Definition: mkldnn_types.h:1048
5D CNN weights tensor, an alias to mkldnn_cdeba
Definition: mkldnn_types.h:383
mkldnn_dims_t strides
Pooling kernel strides for spatial dimensions.
Definition: mkldnn_types.h:1069
1D tensor, an alias to mkldnn_a
Definition: mkldnn_types.h:338
mkldnn_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: mkldnn_types.h:1097
float scale_adjust
Scale applied to the data.
Definition: mkldnn_types.h:856
deconvolution descriptor
Definition: mkldnn_types.h:1518
int softmax_axis
The axis along which to perform the softmax.
Definition: mkldnn_types.h:1044
mkldnn_memory_desc_t diff_dst_iter_desc
Destination gradient iteration memory descriptor for hidden state.
Definition: mkldnn_types.h:1233
8-bit signed integer.
Definition: mkldnn_types.h:80
mkldnn_primitive_kind_t
Kinds of primitives.
Definition: mkldnn_types.h:611
mkldnn_memory_desc_t diff_src_iter_c_desc
Source gradient iter memory descriptor for cell state.
Definition: mkldnn_types.h:1223
Winograd deconvolution.
Definition: mkldnn_types.h:656
3D tensor blocked by 2nd dimension with block size 4
Definition: mkldnn_types.h:217
number of inputs expected
Definition: mkldnn_types.h:1500
mkldnn_rnn_flags_t
Flags for RNN cell.
Definition: mkldnn_types.h:1164
16-bit/half-precision floating point.
Definition: mkldnn_types.h:72
struct mkldnn_engine * mkldnn_engine_t
An engine handle.
Definition: mkldnn_types.h:1269
mkldnn_memory_desc_t weights_desc
Weights memory descriptor.
Definition: mkldnn_types.h:1148
mkldnn_alg_kind_t activation_kind
Activation function used for vanilla_rnn cell kind.
Definition: mkldnn_types.h:1244
Weights format used in 8bit Winograd convolution.
Definition: mkldnn_types.h:97
4D CNN activations tensor blocked by channels with block size 16, an alias to mkldnn_aBcd16b ...
Definition: mkldnn_types.h:444
Description of tensor of weights for winograd 2x3 convolution.
Definition: mkldnn_types.h:796
Bidirectional execution of RNN primitive with concatenation of the results.
Definition: mkldnn_types.h:1176
permuted 2D tensor
Definition: mkldnn_types.h:197
5D CNN weights tensor (incl. groups), an alias to mkldnn_acbde
Definition: mkldnn_types.h:396
int inner_nblks
The number of innermost blocks, e.g. 3 in case of OIhw_4i16o4i_
Definition: mkldnn_types.h:775
Average pooling exclude padding.
Definition: mkldnn_types.h:689
Forward data propagation (inference mode).
Definition: mkldnn_types.h:594
Internal weights format for 2x3 Winograd.
Definition: mkldnn_types.h:790
4D CNN activations tensor blocked by channels with block size 8, an alias to mkldnn_aBcd8b ...
Definition: mkldnn_types.h:450
5D CNN weights tensor (incl. groups), an alias to mkldnn_decab
Definition: mkldnn_types.h:394
Direct deconvolution.
Definition: mkldnn_types.h:654
Eltwise: abs.
Definition: mkldnn_types.h:666
2D CNN weights tensor, an alias to mkldnn_ab
Definition: mkldnn_types.h:359
mkldnn_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: mkldnn_types.h:964
struct mkldnn_memory * mkldnn_memory_t
A memory handle.
Definition: mkldnn_types.h:919
The operation failed because requested functionality is not implemented.
Definition: mkldnn_types.h:58
Eltwise: hyperbolic tangent non-linearity (tanh)
Definition: mkldnn_types.h:660
Undefined memory format tag.
Definition: mkldnn_types.h:175
mkldnn_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: mkldnn_types.h:1158
plain 2D tensor
Definition: mkldnn_types.h:184
4D CNN activations tensor, an alias to mkldnn_bcda
Definition: mkldnn_types.h:352
5D tensor blocked by 2nd dimension with block size 4
Definition: mkldnn_types.h:267
Primitive or engine failed on execution.
Definition: mkldnn_types.h:62
4D CNN activations tensor blocked by channels with block size 4, an alias to mkldnn_aBcd4b ...
Definition: mkldnn_types.h:447
permuted 5D tensor
Definition: mkldnn_types.h:206
const struct mkldnn_post_ops * const_mkldnn_post_ops_t
A constant post operation chain handle.
Definition: mkldnn_types.h:1359
An LRN primitive.
Definition: mkldnn_types.h:633
mkldnn_memory_desc_t dst_desc
Destination memory descriptor.
Definition: mkldnn_types.h:1065
mkldnn_dim_t offset0
Offset from memory origin to the current block, non-zero only in a description of a memory sub-block...
Definition: mkldnn_types.h:896
weights memory descriptor desc
Definition: mkldnn_types.h:1533
mkldnn_memory_desc_t diff_src_iter_desc
Source gradient iter memory descriptor for hidden state.
Definition: mkldnn_types.h:1221
5D RNN weights tensor in the format (num_layers, num_directions, input_channels, num_gates, output_channels).
Definition: mkldnn_types.h:413
3D tensor blocked by 2nd dimension with block size 8
Definition: mkldnn_types.h:223
const struct mkldnn_primitive_desc * const_mkldnn_primitive_desc_t
A constant primitive descriptor handle.
Definition: mkldnn_types.h:1306
shuffle descriptor
Definition: mkldnn_types.h:1519
Forward data propagation (training mode).
Definition: mkldnn_types.h:590
plain 4D tensor
Definition: mkldnn_types.h:186
3D CNN weights tensor, an alias to mkldnn_abc
Definition: mkldnn_types.h:363
5D CNN activations tensor blocked by channels with block size 16, an alias to mkldnn_aBcde16b ...
Definition: mkldnn_types.h:435
weights grad. memory desc
Definition: mkldnn_types.h:1534
Version type.
Definition: mkldnn_types.h:42
2D CNN activations tensor, an alias to mkldnn_ba
Definition: mkldnn_types.h:342
An opaque structure to describe a primitive.
unsigned int flags
RNN cell flags.
Definition: mkldnn_types.h:1241
mkldnn_data_type_t
Data type specification.
Definition: mkldnn_types.h:68
Undefined memory format tag.
Definition: mkldnn_types.h:172
convolution descriptor
Definition: mkldnn_types.h:1517
mkldnn_memory_desc_t diff_dst_iter_c_desc
Destination gradient iteration memory descriptor for cell state.
Definition: mkldnn_types.h:1235
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:1187
plain 5D tensor
Definition: mkldnn_types.h:187
mkldnn_memory_desc_t src_desc
Source memory descriptor.
Definition: mkldnn_types.h:1061
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:1113
A matrix multiplication primitive.
Definition: mkldnn_types.h:641
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:1001
mkldnn_alg_kind_t alg_kind
The kind of eltwise algorithm.
Definition: mkldnn_types.h:1010
mkldnn_memory_desc_t diff_src_layer_desc
Source gradient layer memory descriptor.
Definition: mkldnn_types.h:1219
Eltwise: bounded_relu.
Definition: mkldnn_types.h:672
mkldnn_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: mkldnn_types.h:1150
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:945
mkldnn_engine_kind_t
Kinds of engines.
Definition: mkldnn_types.h:1256
Queried element is not required for given primitive.
Definition: mkldnn_types.h:64
destination memory desc
Definition: mkldnn_types.h:1535
3D CNN activations tensor blocked by channels with block size 4, an alias to mkldnn_aBc4b ...
Definition: mkldnn_types.h:456
Generic description of blocked data layout for most memory formats.
Definition: mkldnn_types.h:768
const void * const_mkldnn_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: mkldnn_types.h:935
mkldnn_dims_t inner_blks
The size of the blocks, e.g. {4, 16, 4} in case of OIhw_4i16o4i
Definition: mkldnn_types.h:777
A reorder primitive.
Definition: mkldnn_types.h:615
4D CNN weights tensor, an alias to mkldnn_cdba
Definition: mkldnn_types.h:373
An unspecified engine.
Definition: mkldnn_types.h:1258
The library manages scratchpad (default)
Definition: mkldnn_types.h:1316
mkldnn_alg_kind_t
Kinds of algorithms.
Definition: mkldnn_types.h:645
Bidirectional execution of RNN primitive with summation of the results.
Definition: mkldnn_types.h:1179
4D CNN weights tensor, an alias to mkldnn_bacd
Definition: mkldnn_types.h:379
inner product descriptor
Definition: mkldnn_types.h:1525
mkldnn_memory_desc_t bias_desc
Bias memory descriptor.
Definition: mkldnn_types.h:1152
A pooling primitive.
Definition: mkldnn_types.h:631
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:1092
permuted 4D tensor
Definition: mkldnn_types.h:199
plain 1D tensor
Definition: mkldnn_types.h:183
An auxiliary structure to specify primitive&#39;s inputs/outputs at execution.
Definition: mkldnn_types.h:1456
4D CNN weights tensor (incl. groups), an alias to mkldnn_abcd
Definition: mkldnn_types.h:390
4D tensor blocked by 2nd dimension with block size 8
Definition: mkldnn_types.h:245
permuted 5D tensor
Definition: mkldnn_types.h:205
Forward data propagation (alias for mkldnn_forward_training).
Definition: mkldnn_types.h:598
lrn descriptor
Definition: mkldnn_types.h:1523
struct mkldnn_primitive_desc * mkldnn_primitive_desc_t
A primitive descriptor handle.
Definition: mkldnn_types.h:1303
4D tensor blocked by 2nd dimension with block size 4
Definition: mkldnn_types.h:237
mkldnn_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: mkldnn_types.h:956
plain 6D tensor
Definition: mkldnn_types.h:188
mkldnn_alg_kind_t alg_kind
The kind of the convolution algorithm.
Definition: mkldnn_types.h:948
GEMM descriptor.
Definition: mkldnn_types.h:1527
int64_t mkldnn_dim_t
A type to describe tensor dimension.
Definition: mkldnn_types.h:760
mkldnn_memory_desc_t diff_dst_layer_desc
Destination gradient layer memory descriptor.
Definition: mkldnn_types.h:1231
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:1051
source gradient memory desc
Definition: mkldnn_types.h:1532
2D CNN weights tensor, an alias to mkldnn_ba
Definition: mkldnn_types.h:361
mkldnn_memory_desc_t diff_weights_iter_desc
Weights gradient iter memory descriptor.
Definition: mkldnn_types.h:1227
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:1138
primitive kind
Definition: mkldnn_types.h:1498
mkldnn_dim_t group_size
number of groups in group convolution
Definition: mkldnn_types.h:994
mkldnn_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: mkldnn_types.h:1154
struct mkldnn_primitive_attr * mkldnn_primitive_attr_t
A primitive descriptor attributes handle that controls primitive behavior.
Definition: mkldnn_types.h:1330
An opaque structure to describe a primitive descriptor iterator.
Internal weights format for 4x3 Winograd.
Definition: mkldnn_types.h:792
4D RNN states tensor in the format (num_layers, num_directions, batch, state channels).
Definition: mkldnn_types.h:406