464 dnnl_NCw16n16c = dnnl_ABc16a16b,
465 dnnl_NCdhw16n16c = dnnl_ABcde16a16b,
466 dnnl_NChw16n16c = dnnl_ABcd16a16b,
467 dnnl_NChw32n32c = dnnl_ABcd32a32b,
470 dnnl_IOw16o16i = dnnl_BAc16a16b,
471 dnnl_IOw16i16o = dnnl_BAc16b16a,
472 dnnl_OIw16i16o = dnnl_ABc16b16a,
473 dnnl_OIw16o16i = dnnl_ABc16a16b,
474 dnnl_Oiw16o = dnnl_Abc16a,
475 dnnl_OIw4i16o4i = dnnl_ABc4b16a4b,
476 dnnl_OIw4i4o = dnnl_ABc4b4a,
477 dnnl_Oiw4o = dnnl_Abc4a,
478 dnnl_OIw8i16o2i = dnnl_ABc8b16a2b,
479 dnnl_OIw8i8o = dnnl_ABc8b8a,
480 dnnl_OIw8o16i2o = dnnl_ABc8a16b2a,
481 dnnl_IOw8o16i2o = dnnl_BAc8a16b2a,
482 dnnl_OIw8o8i = dnnl_ABc8a8b,
483 dnnl_Owi16o = dnnl_Acb16a,
484 dnnl_Owi4o = dnnl_Acb4a,
485 dnnl_Owi8o = dnnl_Acb8a,
488 dnnl_IOhw16i16o = dnnl_BAcd16b16a,
489 dnnl_IOhw16o16i = dnnl_BAcd16a16b,
490 dnnl_Ohwi16o = dnnl_Acdb16a,
491 dnnl_Ohwi32o = dnnl_Acdb32a,
492 dnnl_Ohwi4o = dnnl_Acdb4a,
493 dnnl_Ohwi8o = dnnl_Acdb8a,
494 dnnl_OIhw16i16o = dnnl_ABcd16b16a,
495 dnnl_OIhw16o16i = dnnl_ABcd16a16b,
496 dnnl_Oihw16o = dnnl_Abcd16a,
497 dnnl_OIhw4i16o4i = dnnl_ABcd4b16a4b,
498 dnnl_OIhw4i4o = dnnl_ABcd4b4a,
499 dnnl_Oihw4o = dnnl_Abcd4a,
500 dnnl_OIhw8i16o2i = dnnl_ABcd8b16a2b,
502 dnnl_OIhw8o16i2o = dnnl_ABcd8a16b2a,
503 dnnl_IOhw8o16i2o = dnnl_BAcd8a16b2a,
504 dnnl_OIhw8o8i = dnnl_ABcd8a8b,
507 dnnl_Odhwi16o = dnnl_Acdeb16a,
508 dnnl_Odhwi4o = dnnl_Acdeb4a,
509 dnnl_Odhwi8o = dnnl_Acdeb8a,
510 dnnl_OIdhw16i16o = dnnl_ABcde16b16a,
511 dnnl_OIdhw16o16i = dnnl_ABcde16a16b,
512 dnnl_Oidhw16o = dnnl_Abcde16a,
513 dnnl_OIdhw4i4o = dnnl_ABcde4b4a,
514 dnnl_Oidhw4o = dnnl_Abcde4a,
515 dnnl_OIdhw8i16o2i = dnnl_ABcde8b16a2b,
516 dnnl_OIdhw8i8o = dnnl_ABcde8b8a,
517 dnnl_OIdhw8o16i2o = dnnl_ABcde8a16b2a,
518 dnnl_IOdhw8o16i2o = dnnl_BAcde8a16b2a,
519 dnnl_OIdhw8o8i = dnnl_ABcde8a8b,
520 dnnl_IOdhw16i16o = dnnl_BAcde16b16a,
523 dnnl_Goiw16g = dnnl_Abcd16a,
524 dnnl_gIOw16o16i = dnnl_aCBd16b16c,
525 dnnl_gIOw16i16o = dnnl_aCBd16c16b,
526 dnnl_gOIw16i16o = dnnl_aBCd16c16b,
527 dnnl_gOIw16o16i = dnnl_aBCd16b16c,
529 dnnl_gOIw4i16o4i = dnnl_aBCd4c16b4c,
530 dnnl_gOIw4i4o = dnnl_aBCd4c4b,
532 dnnl_gOIw8i16o2i = dnnl_aBCd8c16b2c,
533 dnnl_gOIw8i8o = dnnl_aBCd8c8b,
534 dnnl_gOIw8o16i2o = dnnl_aBCd8b16c2b,
535 dnnl_gIOw8o16i2o = dnnl_aCBd8b16c2b,
536 dnnl_gOIw8o8i = dnnl_aBCd8b8c,
537 dnnl_gOwi16o = dnnl_aBdc16b,
538 dnnl_gOwi4o = dnnl_aBdc4b,
539 dnnl_gOwi8o = dnnl_aBdc8b,
542 dnnl_gIOhw16i16o = dnnl_aCBde16c16b,
543 dnnl_gIOhw16o16i = dnnl_aCBde16b16c,
544 dnnl_gOhwi16o = dnnl_aBdec16b,
545 dnnl_gOhwi32o = dnnl_aBdec32b,
546 dnnl_gOhwi4o = dnnl_aBdec4b,
547 dnnl_gOhwi8o = dnnl_aBdec8b,
548 dnnl_Goihw16g = dnnl_Abcde16a,
549 dnnl_gOIhw16i16o = dnnl_aBCde16c16b,
550 dnnl_gOIhw16o16i = dnnl_aBCde16b16c,
552 dnnl_gOIhw2i8o4i = dnnl_aBCde2c8b4c,
553 dnnl_gOIhw4i16o4i = dnnl_aBCde4c16b4c,
554 dnnl_gOIhw4i4o = dnnl_aBCde4c4b,
555 dnnl_gOIhw4o4i = dnnl_aBCde4b4c,
557 dnnl_Goihw8g = dnnl_Abcde8a,
558 dnnl_gOIhw8i16o2i = dnnl_aBCde8c16b2c,
559 dnnl_gOIhw8i8o = dnnl_aBCde8c8b,
560 dnnl_gOIhw8o16i2o = dnnl_aBCde8b16c2b,
561 dnnl_gIOhw8o16i2o = dnnl_aCBde8b16c2b,
562 dnnl_gOIhw8o8i = dnnl_aBCde8b8c,
564 dnnl_OIhw4o8i8o4i = dnnl_ABcd4a8b8a4b,
565 dnnl_OIhw2o8i8o2i = dnnl_ABcd2a8b8a2b,
566 dnnl_gOIhw4o8i8o4i = dnnl_aBCde4b8c8b4c,
567 dnnl_gOIhw2o8i8o2i = dnnl_aBCde2b8c8b2c,
570 dnnl_gIOdhw16i16o = dnnl_aCBdef16c16b,
571 dnnl_gOdhwi16o = dnnl_aBdefc16b,
572 dnnl_gOdhwi4o = dnnl_aBdefc4b,
573 dnnl_gOdhwi8o = dnnl_aBdefc8b,
574 dnnl_gOIdhw16i16o = dnnl_aBCdef16c16b,
575 dnnl_gOIdhw16o16i = dnnl_aBCdef16b16c,
577 dnnl_gOIdhw4i4o = dnnl_aBCdef4c4b,
579 dnnl_gOIdhw8i16o2i = dnnl_aBCdef8c16b2c,
580 dnnl_gOIdhw8i8o = dnnl_aBCdef8c8b,
581 dnnl_gOIdhw8o16i2o = dnnl_aBCdef8b16c2b,
582 dnnl_gIOdhw8o16i2o = dnnl_aCBdef8b16c2b,
583 dnnl_gOIdhw8o8i = dnnl_aBCdef8b8c,
584 dnnl_Goidhw16g = dnnl_Abcdef16a,
775 #define DNNL_MAX_NDIMS 12 829 dnnl_packed_format_undef = 0,
832 } dnnl_rnn_packed_memory_format_t;
836 #define DNNL_RNN_MAX_N_PARTS 4 840 dnnl_rnn_packed_memory_format_t format;
847 size_t offset_compensation;
854 dnnl_memory_extra_flag_none = 0x0U,
863 dnnl_memory_extra_flag_scale_adjust = 0x2U,
864 dnnl_memory_extra_flag_gpu_rnn_u8s8_compensation = 0x4U,
943 #define DNNL_MEMORY_NONE (NULL) 944 #define DNNL_MEMORY_ALLOCATE ((void *)(size_t)-1) 1338 typedef const struct dnnl_engine *const_dnnl_engine_t;
1441 #define DNNL_ARG_SRC_0 1 1442 #define DNNL_ARG_SRC DNNL_ARG_SRC_0 1443 #define DNNL_ARG_SRC_LAYER DNNL_ARG_SRC_0 1444 #define DNNL_ARG_FROM DNNL_ARG_SRC_0 1446 #define DNNL_ARG_SRC_1 2 1447 #define DNNL_ARG_SRC_ITER DNNL_ARG_SRC_1 1449 #define DNNL_ARG_SRC_2 3 1450 #define DNNL_ARG_SRC_ITER_C DNNL_ARG_SRC_2 1452 #define DNNL_ARG_DST_0 17 1453 #define DNNL_ARG_DST DNNL_ARG_DST_0 1454 #define DNNL_ARG_TO DNNL_ARG_DST_0 1455 #define DNNL_ARG_DST_LAYER DNNL_ARG_DST_0 1457 #define DNNL_ARG_DST_1 18 1458 #define DNNL_ARG_DST_ITER DNNL_ARG_DST_1 1460 #define DNNL_ARG_DST_2 19 1461 #define DNNL_ARG_DST_ITER_C DNNL_ARG_DST_2 1463 #define DNNL_ARG_WEIGHTS_0 33 1464 #define DNNL_ARG_WEIGHTS DNNL_ARG_WEIGHTS_0 1465 #define DNNL_ARG_SCALE_SHIFT DNNL_ARG_WEIGHTS_0 1466 #define DNNL_ARG_WEIGHTS_LAYER DNNL_ARG_WEIGHTS_0 1468 #define DNNL_ARG_WEIGHTS_1 34 1469 #define DNNL_ARG_WEIGHTS_ITER DNNL_ARG_WEIGHTS_1 1471 #define DNNL_ARG_BIAS 41 1473 #define DNNL_ARG_MEAN 49 1474 #define DNNL_ARG_VARIANCE 50 1476 #define DNNL_ARG_WORKSPACE 64 1477 #define DNNL_ARG_SCRATCHPAD 80 1479 #define DNNL_ARG_DIFF_SRC_0 129 1480 #define DNNL_ARG_DIFF_SRC DNNL_ARG_DIFF_SRC_0 1481 #define DNNL_ARG_DIFF_SRC_LAYER DNNL_ARG_DIFF_SRC_0 1483 #define DNNL_ARG_DIFF_SRC_1 130 1484 #define DNNL_ARG_DIFF_SRC_ITER DNNL_ARG_DIFF_SRC_1 1486 #define DNNL_ARG_DIFF_SRC_2 131 1487 #define DNNL_ARG_DIFF_SRC_ITER_C DNNL_ARG_DIFF_SRC_2 1489 #define DNNL_ARG_DIFF_DST_0 145 1490 #define DNNL_ARG_DIFF_DST DNNL_ARG_DIFF_DST_0 1491 #define DNNL_ARG_DIFF_DST_LAYER DNNL_ARG_DIFF_DST_0 1493 #define DNNL_ARG_DIFF_DST_1 146 1494 #define DNNL_ARG_DIFF_DST_ITER DNNL_ARG_DIFF_DST_1 1496 #define DNNL_ARG_DIFF_DST_2 147 1497 #define DNNL_ARG_DIFF_DST_ITER_C DNNL_ARG_DIFF_DST_2 1499 #define DNNL_ARG_DIFF_WEIGHTS_0 161 1500 #define DNNL_ARG_DIFF_WEIGHTS DNNL_ARG_DIFF_WEIGHTS_0 1501 #define DNNL_ARG_DIFF_SCALE_SHIFT DNNL_ARG_DIFF_WEIGHTS_0 1502 #define DNNL_ARG_DIFF_WEIGHTS_LAYER DNNL_ARG_DIFF_WEIGHTS_0 1504 #define DNNL_ARG_DIFF_WEIGHTS_1 162 1505 #define DNNL_ARG_DIFF_WEIGHTS_ITER DNNL_ARG_DIFF_WEIGHTS_1 1507 #define DNNL_ARG_DIFF_BIAS 169 1509 #define DNNL_ARG_MULTIPLE_SRC 1024 1510 #define DNNL_ARG_MULTIPLE_DST 2048 permuted 3D tensor
Definition: dnnl_types.h:200
dnnl_memory_desc_t diff_dst_layer_desc
Destination gradient layer memory descriptor.
Definition: dnnl_types.h:1282
const struct dnnl_primitive_attr * const_dnnl_primitive_attr_t
A constant primitive descriptor attributes handle.
Definition: dnnl_types.h:1397
4D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcd8b ...
Definition: dnnl_types.h:454
1D tensor, an alias to dnnl_a
Definition: dnnl_types.h:338
dnnl_alg_kind_t activation_kind
Activation function used for vanilla_rnn cell kind.
Definition: dnnl_types.h:1295
dnnl_memory_desc_t weights_layer_desc
Weights layer memory descriptor.
Definition: dnnl_types.h:1254
2D RNN statistics tensor, an alias to dnnl_ba
Definition: dnnl_types.h:346
dnnl_alg_kind_t alg_kind
The kind of pooling algorithm.
Definition: dnnl_types.h:1080
dnnl_memory_desc_t weights_desc
Weights memory descriptor.
Definition: dnnl_types.h:1201
dnnl_memory_desc_t diff_dst_iter_c_desc
Destination gradient iteration memory descriptor for cell state.
Definition: dnnl_types.h:1286
dnnl_data_type_t
Data type specification.
Definition: dnnl_types.h:68
32-bit signed integer.
Definition: dnnl_types.h:78
struct dnnl_primitive * dnnl_primitive_t
A primitive handle.
Definition: dnnl_types.h:1434
Max pooling.
Definition: dnnl_types.h:695
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1131
3D CNN activations tensor, an alias to dnnl_abc
Definition: dnnl_types.h:348
5D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBcde8b ...
Definition: dnnl_types.h:445
A descriptor for an RNN operation.
Definition: dnnl_types.h:1235
The operation failed because requested functionality is not implemented.
Definition: dnnl_types.h:58
non-standard 16-bit (bfloat16 w/ 7 bit mantissa) floating point.
Definition: dnnl_types.h:74
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition: dnnl_types.h:1205
dnnl_dim_t local_size
The number of channels to sum over (for cross-channel LRN) or the side length of the square region to...
Definition: dnnl_types.h:1118
dnnl_memory_desc_t data_scaleshift_desc
Scale and shift data and gradient memory descriptors.
Definition: dnnl_types.h:1174
2D CNN activations tensor, an alias to dnnl_ab
Definition: dnnl_types.h:340
3D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:223
5D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcde4b ...
Definition: dnnl_types.h:442
const struct dnnl_primitive_desc * const_dnnl_primitive_desc_t
A constant primitive descriptor handle.
Definition: dnnl_types.h:1370
A reorder primitive.
Definition: dnnl_types.h:619
plain 1D tensor
Definition: dnnl_types.h:183
pooling descriptor
Definition: dnnl_types.h:1591
dnnl_alg_kind_t alg_kind
LRN algorithm.
Definition: dnnl_types.h:1111
dnnl_format_kind_t format_kind
Memory format kind.
Definition: dnnl_types.h:918
Eltwise: soft_relu.
Definition: dnnl_types.h:682
An opaque structure to describe a primitive.
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1134
permuted 5D tensor
Definition: dnnl_types.h:205
dnnl_dims_t strides
Pooling kernel strides for spatial dimensions.
Definition: dnnl_types.h:1090
An inner product primitive.
Definition: dnnl_types.h:643
dnnl_dim_t group_size
number of groups in group convolution
Definition: dnnl_types.h:1013
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition: dnnl_types.h:977
permuted 3D tensor
Definition: dnnl_types.h:193
dnnl_dim_t dnnl_dims_t[DNNL_MAX_NDIMS]
A type to describe tensor dimensions.
Definition: dnnl_types.h:781
Forward data propagation (training mode).
Definition: dnnl_types.h:594
dnnl_query_t
Primitive descriptor query specification.
Definition: dnnl_types.h:1558
Winograd convolution.
Definition: dnnl_types.h:658
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1056
dnnl_alg_kind_t alg_kind
The kind of the convolution algorithm.
Definition: dnnl_types.h:967
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:993
Primitive iterator passed over last primitive descriptor.
Definition: dnnl_types.h:60
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1075
4D CNN weights tensor, an alias to dnnl_abcd
Definition: dnnl_types.h:375
dnnl_memory_t memory
Input/output memory.
Definition: dnnl_types.h:1522
Eltwise: exponent.
Definition: dnnl_types.h:686
5D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:276
Eltwise: abs.
Definition: dnnl_types.h:674
An opaque structure for primitive descriptor attributes.
3D CNN weights tensor, an alias to dnnl_cba
Definition: dnnl_types.h:371
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:981
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:1082
float lrn_alpha
LRN alpha parameter.
Definition: dnnl_types.h:1120
dnnl_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: dnnl_types.h:1203
int64_t dnnl_dim_t
A type to describe tensor dimension.
Definition: dnnl_types.h:778
dnnl_memory_desc_t dst_iter_c_desc
Destination iter memory descriptor for cell state.
Definition: dnnl_types.h:1264
5D CNN activations tensor, an alias to dnnl_acdeb
Definition: dnnl_types.h:360
2D CNN activations tensor, an alias to dnnl_ba
Definition: dnnl_types.h:342
A sum primitive.
Definition: dnnl_types.h:625
An opaque structure to describe a memory.
dnnl_memory_desc_t dst_layer_desc
Destination layer memory descriptor.
Definition: dnnl_types.h:1260
source memory desc
Definition: dnnl_types.h:1602
Undefined primitive.
Definition: dnnl_types.h:617
softmax descriptor
Definition: dnnl_types.h:1590
const struct dnnl_stream * const_dnnl_stream_t
A constant execution stream handle.
Definition: dnnl_types.h:1636
dnnl_wino_memory_format_t
Winograd-specific formats.
Definition: dnnl_types.h:802
A tensor in a generic format described by the stride and blocking values in each dimension.
Definition: dnnl_types.h:95
permuted 5D tensor
Definition: dnnl_types.h:206
dnnl_dims_t strides
Convolution strides in each spatial dimension.
Definition: dnnl_types.h:985
Bidirectional execution of RNN primitive with summation of the results.
Definition: dnnl_types.h:1230
int softmax_axis
The axis along which to perform the softmax.
Definition: dnnl_types.h:1065
permuted 5D tensor
Definition: dnnl_types.h:192
A pooling primitive.
Definition: dnnl_types.h:635
3D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBc16b ...
Definition: dnnl_types.h:457
weights memory descriptor desc
Definition: dnnl_types.h:1604
dnnl_dims_t dims
Dimensions in the following order:
Definition: dnnl_types.h:901
dnnl_memory_desc_t diff_weights_iter_desc
Weights gradient iter memory descriptor.
Definition: dnnl_types.h:1278
4D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBcd4b ...
Definition: dnnl_types.h:451
plain 4D tensor
Definition: dnnl_types.h:186
The operation was successful.
Definition: dnnl_types.h:52
Description of tensor of packed weights for rnn.
Definition: dnnl_types.h:839
struct dnnl_stream * dnnl_stream_t
An execution stream handle.
Definition: dnnl_types.h:1634
plain 6D tensor
Definition: dnnl_types.h:188
A descriptor of a pooling operation.
Definition: dnnl_types.h:1069
A (out-of-place) concat primitive.
Definition: dnnl_types.h:623
Eltwise: parametric exponential linear unit (elu)
Definition: dnnl_types.h:670
destination grad. memory desc
Definition: dnnl_types.h:1607
source gradient memory desc
Definition: dnnl_types.h:1603
8-bit signed integer.
Definition: dnnl_types.h:80
Backward bias propagation.
Definition: dnnl_types.h:610
4D tensor blocked by 2nd dimension with block size 8
Definition: dnnl_types.h:245
dnnl_memory_desc_t diff_src_iter_c_desc
Source gradient iter memory descriptor for cell state.
Definition: dnnl_types.h:1274
Bidirectional execution of RNN primitive with concatenation of the results.
Definition: dnnl_types.h:1227
int inner_nblks
The number of innermost blocks, e.g. 3 in case of OIhw_4i16o4i_
Definition: dnnl_types.h:793
Out-of-order execution.
Definition: dnnl_types.h:1625
An opaque structure to describe a primitive descriptor iterator.
workspace memory desc
Definition: dnnl_types.h:1608
Backward data propagation.
Definition: dnnl_types.h:606
no query
Definition: dnnl_types.h:1559
float lrn_beta
LRN beta parameter.
Definition: dnnl_types.h:1122
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:1197
scratchpad memory desc
Definition: dnnl_types.h:1609
4D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:237
deconvolution descriptor
Definition: dnnl_types.h:1587
dnnl_memory_desc_t src_iter_desc
Source iteration memory descriptor for hidden state.
Definition: dnnl_types.h:1250
dnnl_alg_kind_t alg_kind
The kind of the binary algorithm.
Definition: dnnl_types.h:1308
16-bit/half-precision floating point.
Definition: dnnl_types.h:72
op descriptor
Definition: dnnl_types.h:1585
dnnl_alg_kind_t cell_kind
RNN cell kind.
Definition: dnnl_types.h:1244
Undefined memory format tag.
Definition: dnnl_types.h:172
propagation kind
Definition: dnnl_types.h:1581
const struct dnnl_post_ops * const_dnnl_post_ops_t
A constant post operation chain handle.
Definition: dnnl_types.h:1423
dnnl_normalization_flags_t
Flags for batch normalization primitive.
Definition: dnnl_types.h:726
dnnl_memory_desc_t stat_desc
Statistics memory descriptor.
Definition: dnnl_types.h:1149
A descriptor of a binary operation.
Definition: dnnl_types.h:1302
Eltwise: bounded_relu.
Definition: dnnl_types.h:680
inner product descriptor
Definition: dnnl_types.h:1595
Undefined memory format, used for empty memory descriptors.
Definition: dnnl_types.h:804
4D CNN weights tensor, an alias to dnnl_bcda
Definition: dnnl_types.h:381
Version type.
Definition: dnnl_types.h:42
primitive kind
Definition: dnnl_types.h:1562
int arg
An argument index, e.g. DNNL_ARG_SRC.
Definition: dnnl_types.h:1521
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: dnnl_types.h:1207
Packed weights format used in RNN.
Definition: dnnl_types.h:99
dnnl_memory_desc_t weights_desc
Weights memory descriptor.
Definition: dnnl_types.h:973
A descriptor of a convolution operation.
Definition: dnnl_types.h:957
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:1213
3D CNN activations tensor, an alias to dnnl_acb
Definition: dnnl_types.h:350
dnnl_primitive_kind_t
Kinds of primitives.
Definition: dnnl_types.h:615
Default stream configuration.
Definition: dnnl_types.h:1627
permuted 5D tensor
Definition: dnnl_types.h:194
dnnl_dims_t padded_dims
Size of the data including padding in each dimension.
Definition: dnnl_types.h:907
dnnl_dim_t offset0
Offset from memory origin to the current block, non-zero only in a description of a memory sub-block...
Definition: dnnl_types.h:915
Binary add.
Definition: dnnl_types.h:720
dnnl_dims_t padded_offsets
Per-dimension offset from the padding to actual data, the top-level tensor with offsets applied must ...
Definition: dnnl_types.h:911
5D CNN weights tensor, an alias to dnnl_abcde
Definition: dnnl_types.h:385
The operation failed due to an out-of-memory condition.
Definition: dnnl_types.h:54
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1312
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1305
4D CNN weights tensor, an alias to dnnl_acdb
Definition: dnnl_types.h:379
shuffle descriptor
Definition: dnnl_types.h:1588
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1241
binary descriptor
Definition: dnnl_types.h:1598
runtime estimation (seconds)
Definition: dnnl_types.h:1567
An opaque structure to describe an engine.
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1113
dnnl_memory_desc_t src_desc
Source memory descriptor.
Definition: dnnl_types.h:969
6D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:293
5D CNN weights tensor (incl. groups), an alias to dnnl_acbde
Definition: dnnl_types.h:400
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1164
void * dnnl_op_desc_t
A pointer to any of the operation descriptors.
Definition: dnnl_types.h:952
Eltwise: linear.
Definition: dnnl_types.h:678
8-bit unsigned integer.
Definition: dnnl_types.h:82
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1023
plain 2D tensor
Definition: dnnl_types.h:184
permuted 4D tensor
Definition: dnnl_types.h:204
Backward weights propagation.
Definition: dnnl_types.h:608
stub
Definition: dnnl_types.h:1601
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1061
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:1166
A descriptor of a element-wise operation.
Definition: dnnl_types.h:1017
dnnl_dims_t inner_blks
The size of the blocks, e.g. {4, 16, 4} in case of OIhw_4i16o4i
Definition: dnnl_types.h:795
A descriptor of a Softmax operation.
Definition: dnnl_types.h:1053
permuted 5D tensor
Definition: dnnl_types.h:202
An opaque structure for a chain of post operations.
3D CNN weights tensor, an alias to dnnl_acb
Definition: dnnl_types.h:369
A descriptor of an inner product operation.
Definition: dnnl_types.h:1188
An LRN primitive.
Definition: dnnl_types.h:637
A batch normalization primitive.
Definition: dnnl_types.h:639
struct dnnl_engine * dnnl_engine_t
An engine handle.
Definition: dnnl_types.h:1334
A rnn primitive.
Definition: dnnl_types.h:645
Average pooling include padding.
Definition: dnnl_types.h:697
Local response normalization (LRN) across multiple channels.
Definition: dnnl_types.h:702
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1086
dnnl_rnn_flags_t
Flags for RNN cell.
Definition: dnnl_types.h:1217
dnnl_memory_desc_t dst_iter_desc
Destination iter memory descriptor for hidden state.
Definition: dnnl_types.h:1262
Use scale and shift parameters.
Definition: dnnl_types.h:751
4D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:231
dnnl_format_tag_t
Memory format tag specification.
Definition: dnnl_types.h:170
for creating scratchpad memory
Definition: dnnl_types.h:1576
dnnl_memory_desc_t dst_desc
Destination memory descriptor.
Definition: dnnl_types.h:1209
dnnl_memory_desc_t stat_desc
Mean and variance data memory descriptors.
Definition: dnnl_types.h:1181
Eltwise: gelu.
Definition: dnnl_types.h:691
Generic description of blocked data layout for most memory formats.
Definition: dnnl_types.h:786
weights grad. memory desc
Definition: dnnl_types.h:1605
Backward propagation (with respect to all parameters).
Definition: dnnl_types.h:604
dnnl_status_t
Status values returned by the library functions.
Definition: dnnl_types.h:50
const void * const_dnnl_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: dnnl_types.h:954
2D RNN statistics tensor, an alias to dnnl_ab
Definition: dnnl_types.h:344
4D CNN weights tensor, an alias to dnnl_cdba
Definition: dnnl_types.h:377
4D CNN activations tensor, an alias to dnnl_abcd
Definition: dnnl_types.h:352
number of outputs expected
Definition: dnnl_types.h:1565
dnnl_wino_desc_t wino_desc
Tensor of weights for integer 8bit winograd convolution.
Definition: dnnl_types.h:924
dnnl_alg_kind_t alg_kind
The kind of eltwise algorithm.
Definition: dnnl_types.h:1030
4D RNN states tensor in the format (num_layers, num_directions, batch, state channels).
Definition: dnnl_types.h:410
Unidirectional execution of RNN primitive from left to right.
Definition: dnnl_types.h:1222
The operation failed because of incorrect function arguments.
Definition: dnnl_types.h:56
float batch_norm_epsilon
Batch normalization epsilon parameter.
Definition: dnnl_types.h:1151
dnnl_rnn_direction_t
A direction of RNN primitive execution.
Definition: dnnl_types.h:1220
struct dnnl_memory * dnnl_memory_t
A memory handle.
Definition: dnnl_types.h:938
Use global statistics.
Definition: dnnl_types.h:738
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1162
Description of tensor of weights for winograd 2x3 convolution.
Definition: dnnl_types.h:814
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1059
dnnl_memory_desc_t bias_desc
Bias memory descriptor.
Definition: dnnl_types.h:1258
Direct deconvolution.
Definition: dnnl_types.h:662
Eltwise: hyperbolic tangent non-linearity (tanh)
Definition: dnnl_types.h:668
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1105
struct dnnl_primitive_desc_iterator * dnnl_primitive_desc_iterator_t
A primitive descriptor iterator handle.
Definition: dnnl_types.h:1351
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1238
dnnl_alg_kind_t
Kinds of algorithms.
Definition: dnnl_types.h:653
dnnl_memory_desc_t diff_src_layer_desc
Source gradient layer memory descriptor.
Definition: dnnl_types.h:1270
int axis
axis for shuffling.
Definition: dnnl_types.h:1011
dnnl_rnn_packed_desc_t rnn_packed_desc
Tensor of packed weights for RNN.
Definition: dnnl_types.h:926
dnnl_dims_t strides
The strides between the outermost blocks.
Definition: dnnl_types.h:789
dnnl_memory_desc_t placeholder_desc
Placeholders.
Definition: dnnl_types.h:1266
Queried element is not required for given primitive.
Definition: dnnl_types.h:64
Internal weights format for 2x3 Winograd.
Definition: dnnl_types.h:808
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:960
Eltwise: swish.
Definition: dnnl_types.h:693
A descriptor of a shuffle operation.
Definition: dnnl_types.h:1000
A deconvolution primitive.
Definition: dnnl_types.h:629
5D CNN activations tensor, an alias to dnnl_abcde
Definition: dnnl_types.h:358
dnnl_dims_t kernel
Pooling kernel spatial dimensions.
Definition: dnnl_types.h:1092
3D CNN activations tensor blocked by channels with block size 8, an alias to dnnl_aBc8b ...
Definition: dnnl_types.h:463
2D CNN weights tensor, an alias to dnnl_ab
Definition: dnnl_types.h:363
Weights format used in 8bit Winograd convolution.
Definition: dnnl_types.h:97
execution engine
Definition: dnnl_types.h:1561
5D RNN weights tensor in the format (num_layers, num_directions, num_gates, output_channels, input_channels).
Definition: dnnl_types.h:424
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:1199
float lrn_k
LRN k parameter.
Definition: dnnl_types.h:1124
dnnl_rnn_direction_t direction
The direction of RNN primitive execution.
Definition: dnnl_types.h:1246
In-order execution.
Definition: dnnl_types.h:1623
LRN within a single channel.
Definition: dnnl_types.h:704
5D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:267
dnnl_stream_flags_t
Stream flags.
Definition: dnnl_types.h:1618
#define DNNL_MAX_NDIMS
Maximum number of dimensions a tensor can have.
Definition: dnnl_types.h:775
dnnl_memory_desc_t src_iter_c_desc
Source iteration memory descriptor for cell state.
Definition: dnnl_types.h:1252
4D CNN activations tensor, an alias to dnnl_bcda
Definition: dnnl_types.h:356
A user shall query and provide the scratchpad memory to primitives.
Definition: dnnl_types.h:1382
3D RNN data tensor in the format (batch, seq_length, input channels).
Definition: dnnl_types.h:407
4D CNN weights tensor, an alias to dnnl_bacd
Definition: dnnl_types.h:383
dnnl_memory_desc_t diff_desc
Source and Destination of gradient memory descriptor.
Definition: dnnl_types.h:1063
3D tensor blocked by 2nd dimension with block size 4
Definition: dnnl_types.h:217
Average pooling exclude padding.
Definition: dnnl_types.h:699
struct dnnl_primitive_desc * dnnl_primitive_desc_t
A primitive descriptor handle.
Definition: dnnl_types.h:1367
struct dnnl_primitive_attr * dnnl_primitive_attr_t
A primitive descriptor attributes handle that controls primitive behavior.
Definition: dnnl_types.h:1394
Internal weights format for 2x3 Winograd.
Definition: dnnl_types.h:807
CPU engine.
Definition: dnnl_types.h:1325
A descriptor of a Layer Normalization operation.
Definition: dnnl_types.h:1156
RNN cell.
Definition: dnnl_types.h:706
3D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:213
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1003
dnnl_scratchpad_mode_t
Scratchpad mode.
Definition: dnnl_types.h:1378
dnnl_convolution_desc_t dnnl_deconvolution_desc_t
A descriptor of a deconvolution operation.
Definition: dnnl_types.h:997
dnnl_dims_t dilates
Convolution dilates in each spatial dimension.
Definition: dnnl_types.h:987
5D CNN weights tensor (incl. groups), an alias to dnnl_decab
Definition: dnnl_types.h:398
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1136
Undefined memory format kind, used for empty memory descriptors.
Definition: dnnl_types.h:88
A softmax primitive.
Definition: dnnl_types.h:633
source engine
Definition: dnnl_types.h:1578
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:1115
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1108
Undefined propagation type.
Definition: dnnl_types.h:591
5D CNN weights tensor (incl. groups), an alias to dnnl_abcde
Definition: dnnl_types.h:396
4D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcd16b ...
Definition: dnnl_types.h:448
Memory descriptor.
Definition: dnnl_types.h:884
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1159
const struct dnnl_primitive_desc_iterator * const_dnnl_primitive_desc_iterator_t
A constant primitive descriptor iterator handle.
Definition: dnnl_types.h:1354
Forward data propagation (alias for dnnl_forward_inference).
Definition: dnnl_types.h:600
const struct dnnl_memory * const_dnnl_memory_t
A constant memory handle.
Definition: dnnl_types.h:941
dnnl_data_type_t data_type
Data type of the tensor elements.
Definition: dnnl_types.h:904
5D CNN activations tensor blocked by channels with block size 16, an alias to dnnl_aBcde16b ...
Definition: dnnl_types.h:439
6D CNN weights tensor (incl. groups), an alias to dnnl_abcdef
Definition: dnnl_types.h:402
batch normalization descriptor
Definition: dnnl_types.h:1593
dnnl_data_type_t accum_data_type
The accumulator data type. Initialized automatically.
Definition: dnnl_types.h:1098
dnnl_blocking_desc_t blocking
Description of the data layout for memory formats that use blocking.
Definition: dnnl_types.h:922
dnnl_dims_t inner_idxs
The logical indices of the blocks, e.g.
Definition: dnnl_types.h:798
Indicates the weights have an additional buffer, that depends on the compensation_mask.
Definition: dnnl_types.h:862
Eltwise: ReLU.
Definition: dnnl_types.h:666
Binary mul.
Definition: dnnl_types.h:722
Unidirectional execution of RNN primitive from right to left.
Definition: dnnl_types.h:1224
dnnl_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: dnnl_types.h:975
dnnl_memory_desc_t data_scaleshift_desc
Scale and shift data and gradient memory descriptors.
Definition: dnnl_types.h:1144
stub
Definition: dnnl_types.h:1584
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:983
4D CNN weights tensor (incl. groups), an alias to dnnl_abcd
Definition: dnnl_types.h:394
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:1138
5D CNN weights tensor, an alias to dnnl_bcdea
Definition: dnnl_types.h:391
An auxiliary structure to specify primitive's inputs/outputs at execution.
Definition: dnnl_types.h:1520
dnnl_memory_desc_t src_layer_desc
Source layer memory descriptor.
Definition: dnnl_types.h:1248
3D CNN weights tensor, an alias to dnnl_abc
Definition: dnnl_types.h:367
permuted 4D tensor
Definition: dnnl_types.h:201
Undefined memory format tag.
Definition: dnnl_types.h:175
5D RNN weights tensor in the format (num_layers, num_directions, input_channels, num_gates, output_channels).
Definition: dnnl_types.h:417
float layer_norm_epsilon
Layer normalization epsilon parameter.
Definition: dnnl_types.h:1183
unsigned int flags
RNN cell flags.
Definition: dnnl_types.h:1292
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1006
Fuse with ReLU.
Definition: dnnl_types.h:764
3D CNN activations tensor blocked by channels with block size 4, an alias to dnnl_aBc4b ...
Definition: dnnl_types.h:460
plain 3D tensor
Definition: dnnl_types.h:185
dnnl_memory_desc_t diff_dst_iter_desc
Destination gradient iteration memory descriptor for hidden state.
Definition: dnnl_types.h:1284
4D RNN bias tensor in the format (num_layers, num_directions, num_gates, output_channels).
Definition: dnnl_types.h:431
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:1195
permuted 3D tensor
Definition: dnnl_types.h:203
6D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:289
const struct dnnl_primitive * const_dnnl_primitive_t
A constant primitive handle.
Definition: dnnl_types.h:1436
A descriptor of a Local Response Normalization (LRN) operation.
Definition: dnnl_types.h:1102
int ndims
Number of dimensions.
Definition: dnnl_types.h:886
dnnl_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: dnnl_types.h:1034
number of inputs expected
Definition: dnnl_types.h:1564
An element-wise primitive.
Definition: dnnl_types.h:631
Direct convolution.
Definition: dnnl_types.h:656
dnnl_memory_desc_t weights_iter_desc
Weights iteration memory descriptor.
Definition: dnnl_types.h:1256
Forward data propagation (alias for dnnl_forward_training).
Definition: dnnl_types.h:602
A matrix multiplication primitive.
Definition: dnnl_types.h:647
A shuffle primitive.
Definition: dnnl_types.h:621
5D CNN weights tensor, an alias to dnnl_cdeba
Definition: dnnl_types.h:387
Default order execution.
Definition: dnnl_types.h:1621
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1072
The library manages scratchpad (default)
Definition: dnnl_types.h:1380
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: dnnl_types.h:1280
A descriptor of a Batch Normalization operation.
Definition: dnnl_types.h:1128
Eltwise: square root.
Definition: dnnl_types.h:676
(scratch) memory, additional to all inputs and outputs memory (bytes)
Definition: dnnl_types.h:1573
struct dnnl_post_ops * dnnl_post_ops_t
A post operation chain handle.
Definition: dnnl_types.h:1420
permuted 5D tensor
Definition: dnnl_types.h:196
5D CNN weights tensor, an alias to dnnl_acdeb
Definition: dnnl_types.h:389
Primitive or engine failed on execution.
Definition: dnnl_types.h:62
dnnl_prop_kind_t
Kinds of propagation.
Definition: dnnl_types.h:588
lrn descriptor
Definition: dnnl_types.h:1592
permuted 4D tensor
Definition: dnnl_types.h:199
dnnl_memory_desc_t diff_placeholder_desc
Placeholders.
Definition: dnnl_types.h:1288
An opaque structure to describe a primitive descriptor.
dnnl_prop_kind_t prop_kind
The kind of propagation.
Definition: dnnl_types.h:964
dnnl_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: dnnl_types.h:1032
dnnl_memory_desc_t data_desc
Source and destination memory descriptor, and source and destination gradient memory descriptor...
Definition: dnnl_types.h:1009
permuted 2D tensor
Definition: dnnl_types.h:197
A binary primitive.
Definition: dnnl_types.h:649
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:971
An opaque structure to describe an execution stream.
Forward data propagation (inference mode).
Definition: dnnl_types.h:598
Convolution algorithm(either direct or Winograd) is chosen just in time.
Definition: dnnl_types.h:660
permuted 3D tensor
Definition: dnnl_types.h:198
destination engine
Definition: dnnl_types.h:1579
GRU cell with linear before reset.
Definition: dnnl_types.h:718
dnnl_memory_desc_t diff_src_iter_desc
Source gradient iter memory descriptor for hidden state.
Definition: dnnl_types.h:1272
dnnl_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: dnnl_types.h:1084
GEMM descriptor.
Definition: dnnl_types.h:1597
Internal weights format for 4x3 Winograd.
Definition: dnnl_types.h:810
LSTM cell.
Definition: dnnl_types.h:708
layer normalization descriptor
Definition: dnnl_types.h:1594
convolution descriptor
Definition: dnnl_types.h:1586
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:1088
#define DNNL_RNN_MAX_N_PARTS
Maximum number of parts of RNN weights tensor that require separate computation.
Definition: dnnl_types.h:836
Eltwise: logistic.
Definition: dnnl_types.h:684
GRU cell.
Definition: dnnl_types.h:710
Undefined data type, used for empty memory descriptors.
Definition: dnnl_types.h:70
2D CNN weights tensor, an alias to dnnl_ba
Definition: dnnl_types.h:365
A convolution primitive.
Definition: dnnl_types.h:627
dnnl_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: dnnl_types.h:1211
4D tensor blocked by 1st and 2nd dimension with block size 8
Definition: dnnl_types.h:250
dnnl_format_kind_t
Memory format kind.
Definition: dnnl_types.h:86
dnnl_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: dnnl_types.h:979
Internal weights format for 2x3 Winograd.
Definition: dnnl_types.h:806
32-bit/single-precision floating point.
Definition: dnnl_types.h:76
destination memory desc
Definition: dnnl_types.h:1606
Unspecified format kind.
Definition: dnnl_types.h:91
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1020
dnnl_memory_extra_flags_t
Flags for memory special features.
Definition: dnnl_types.h:853
dnnl_memory_desc_t diff_weights_layer_desc
Weights gradient layer memory descriptor.
Definition: dnnl_types.h:1276
3D CNN weights tensor, an alias to dnnl_bca
Definition: dnnl_types.h:373
Just a sentinel, not real memory format tag.
Definition: dnnl_types.h:333
rnn descriptor
Definition: dnnl_types.h:1596
eltwise descriptor
Definition: dnnl_types.h:1589
Winograd deconvolution.
Definition: dnnl_types.h:664
memory consumption – extra
Definition: dnnl_types.h:1568
plain 5D tensor
Definition: dnnl_types.h:187
A layer normalization primitive.
Definition: dnnl_types.h:641
dnnl_primitive_kind_t primitive_kind
The kind of primitive.
Definition: dnnl_types.h:1191
dnnl_engine_kind_t
Kinds of engines.
Definition: dnnl_types.h:1321
An unspecified engine.
Definition: dnnl_types.h:1323
Eltwise: square.
Definition: dnnl_types.h:672
permuted 4D tensor
Definition: dnnl_types.h:195
float alpha
Algorithm specific parameter.
Definition: dnnl_types.h:1049
5D tensor blocked by 2nd dimension with block size 16
Definition: dnnl_types.h:260
GPU engine.
Definition: dnnl_types.h:1327
3D RNN data tensor in the format (seq_length, batch, input channels).
Definition: dnnl_types.h:405
4D CNN activations tensor, an alias to dnnl_acdb
Definition: dnnl_types.h:354