Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)  0.16
Performance library for Deep Learning
mkldnn_types.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright 2016-2018 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 
17 #ifndef MKLDNN_TYPES_H
18 #define MKLDNN_TYPES_H
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 #ifndef DOXYGEN_SHOULD_SKIP_THIS
25 #include <stddef.h>
26 #include <stdint.h>
27 #endif
28 
39 typedef enum {
60 
62 typedef enum {
72  mkldnn_s8 = 5,
74  mkldnn_u8 = 6,
76 
78 typedef enum {
84 
107 typedef enum {
333 
335 typedef enum {
339 
341 typedef enum {
342  /* TODO: suggest renames */
365 
368 typedef enum {
406 
408 typedef enum {
465 
467 typedef enum {
513 
522 #define TENSOR_MAX_DIMS 12
523 
528 
530 typedef struct {
532  mkldnn_dims_t block_dims;
535  mkldnn_strides_t strides[2];
537  mkldnn_dims_t padding_dims;
540  mkldnn_dims_t offset_padding_to_data;
543  ptrdiff_t offset_padding;
545 
546 typedef enum {
556 
558 typedef struct {
559  mkldnn_wino_memory_format_t wino_format;
560  int r;
561  int alpha;
562  int ic;
563  int oc;
564  int ic_block;
565  int oc_block;
568  size_t size;
570 
575 typedef void *mkldnn_op_desc_t;
577 typedef const void *const_mkldnn_op_desc_t;
578 
583 typedef struct {
586  mkldnn_primitive_kind_t primitive_kind;
588  int ndims;
591  mkldnn_dims_t dims;
595  mkldnn_memory_format_t format;
596  union {
602  /* ... other descriptions possible */
603  } layout_desc;
605 
609 typedef struct {
612  mkldnn_primitive_kind_t primitive_kind;
637  mkldnn_dims_t strides;
639  mkldnn_dims_t dilates;
643  mkldnn_dims_t padding[2];
645  mkldnn_padding_kind_t padding_kind;
649 
652 
654 typedef struct {
657  mkldnn_primitive_kind_t primitive_kind;
685  float alpha, beta;
691 
692 /* @deprecated: use mkldnn_eltwise_desc_t */
694 
696 typedef struct {
699  mkldnn_primitive_kind_t primitive_kind;
710 
712 typedef struct {
715  mkldnn_primitive_kind_t primitive_kind;
732  mkldnn_dims_t strides;
734  mkldnn_dims_t kernel;
738  mkldnn_dims_t padding[2];
740  mkldnn_padding_kind_t padding_kind;
744 
746 typedef struct {
749  mkldnn_primitive_kind_t primitive_kind;
765  float lrn_alpha;
767  float lrn_beta;
769  float lrn_k;
771 
773 typedef struct {
776  mkldnn_primitive_kind_t primitive_kind;
800  unsigned flags;
802 
804 typedef struct {
807  mkldnn_primitive_kind_t primitive_kind;
831 
833 typedef struct {
836  mkldnn_primitive_kind_t primitive_kind;
843 
845 typedef enum {
849 
850 typedef struct {
859  unsigned int flags;
862  float alpha;
865  float clipping;
867 
869 typedef enum {
870  /* Unidirectional execution of RNN primitive from left to right. */
872  /* Unidirectional execution of RNN primitive from right to left. */
874  /* Bidirectional execution of RNN primitive with concatenation of the
875  * results. */
877  /* Bidirectional execution of RNN primitive with summation of the
878  * results. */
882 
884 typedef struct {
887  mkldnn_primitive_kind_t primitive_kind;
894  mkldnn_rnn_direction_t direction;
924 
931 typedef enum {
937 
940 struct mkldnn_engine;
943 #if 0
944 /* FIXME: looks like this never happens */
946 typedef const struct mkldnn_engine *const_mkldnn_engine_t;
947 #endif
948 
957 
961 
963 typedef const struct mkldnn_primitive_desc_iterator
965 
973 struct mkldnn_primitive_desc;
974 
977 
980 
993 struct mkldnn_primitive_attr;
994 
998 
1001 
1021 struct mkldnn_post_ops;
1022 
1025 
1028 
1036 struct mkldnn_primitive;
1041 
1043 typedef struct {
1045  const_mkldnn_primitive_t primitive;
1049 
1081 typedef enum {
1097  /* memory and op descriptor section */
1112  /* (memory) primitive descriptor section */
1123 } mkldnn_query_t;
1124 
1131 typedef enum {
1139 
1142 struct mkldnn_stream;
1146 typedef const struct mkldnn_stream *const_mkldnn_stream_t;
1147 
1152 #ifdef __cplusplus
1153 }
1154 #endif
1155 
1156 
1157 #endif
mkldnn_data_type_t accum_data_type
The accumulator data type.
Definition: mkldnn_types.h:829
LRN within a single channel.
Definition: mkldnn_types.h:444
struct mkldnn_post_ops * mkldnn_post_ops_t
A post operation chain handle.
Definition: mkldnn_types.h:1024
mkldnn_padding_kind_t padding_kind
The kind of padding to use.
Definition: mkldnn_types.h:740
size_t size
Definition: mkldnn_types.h:568
A descriptor of a Local Response Normalization (LRN) operation.
Definition: mkldnn_types.h:746
5D weights tensor in the oidhw format with output channels data laid out in memory in 16-element bloc...
Definition: mkldnn_types.h:188
4D weights tensor in the format (output channels, width, height, input channels) with output channels...
Definition: mkldnn_types.h:217
6D weights tensor in the oidhw format with output channels data laid out in memory in 16-element bloc...
Definition: mkldnn_types.h:246
A Softmax primitive.
Definition: mkldnn_types.h:392
number of outputs expected
Definition: mkldnn_types.h:1088
int alpha
Definition: mkldnn_types.h:561
mkldnn_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: mkldnn_types.h:918
mkldnn_dims_t dilates
Convolution dilates in each spatial dimension.
Definition: mkldnn_types.h:639
mkldnn_status_t
Status values returned by Intel(R) MKL-DNN functions.
Definition: mkldnn_types.h:39
A descriptor of a convolution operation.
Definition: mkldnn_types.h:609
mkldnn_rnn_direction_t direction
The direction of RNN primitive execution.
Definition: mkldnn_types.h:894
The operation failed and should be retried.
Definition: mkldnn_types.h:45
mkldnn_memory_desc_t dst_layer_desc
Destination layer memory descriptor.
Definition: mkldnn_types.h:906
int ic_block
Definition: mkldnn_types.h:564
4D bias tensor in the format (num_layers, num_directions, num_gates, output_channels).
Definition: mkldnn_types.h:320
4D data tensor in the chwn format typically used in Neon.
Definition: mkldnn_types.h:126
The operation failed because of incorrect function arguments.
Definition: mkldnn_types.h:47
Forward data propagation (alias for mkldnn_forward_inference)
Definition: mkldnn_types.h:353
An opaque structure to describe an engine.
Backward data propagation.
Definition: mkldnn_types.h:359
4D weights tensor in the oihw format with both input and output channels data laid out in memory in 1...
Definition: mkldnn_types.h:201
Undefined memory format, used for empty memory descriptors.
Definition: mkldnn_types.h:109
float alpha
alpha is a negative slope parameter (used only if (flags & mkldnn_rnn_cell_with_relu) != 0) ...
Definition: mkldnn_types.h:862
#define TENSOR_MAX_DIMS
Maximum number of dimensions a tensor can have.
Definition: mkldnn_types.h:522
4D weights tensor in the format (input channels, output channels, width, height). ...
Definition: mkldnn_types.h:146
A descriptor of a Softmax operation.
Definition: mkldnn_types.h:696
6D weights tensor in the blocked version of goidhw format with output channels data laid out in memor...
Definition: mkldnn_types.h:297
mkldnn_padding_kind_t padding_kind
The kind of padding to use.
Definition: mkldnn_types.h:645
6D weights tensor in the blocked version of goidhw format with output channels data laid out in memor...
Definition: mkldnn_types.h:300
int oc_block
Definition: mkldnn_types.h:565
4D data tensor in the nchw format with channels data laid out in memory in 8-element blocks...
Definition: mkldnn_types.h:129
A descriptor of an inner product operation.
Definition: mkldnn_types.h:804
3D data tensor in the format (seq_length, batch, input channels).
Definition: mkldnn_types.h:304
An opaque structure for a chain of post operations.
An opaque structure to describe a primitive descriptor .
batch normalization descriptor
Definition: mkldnn_types.h:1107
mkldnn_rnn_direction_t
A direction of RNN primitive execution.
Definition: mkldnn_types.h:869
mkldnn_memory_desc_t diff_data_scaleshift_desc
Definition: mkldnn_types.h:791
A convolution primitive.
Definition: mkldnn_types.h:384
mkldnn_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: mkldnn_types.h:815
struct mkldnn_stream * mkldnn_stream_t
An execution stream handle.
Definition: mkldnn_types.h:1144
4D data tensor in the nchw format with channels data laid out in memory in 16-element blocks...
Definition: mkldnn_types.h:132
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:702
struct mkldnn_primitive_desc_iterator * mkldnn_primitive_desc_iterator_t
A primitive descriptor iterator handle.
Definition: mkldnn_types.h:959
Undefined primitive (XXX: why do we have it?).
Definition: mkldnn_types.h:370
An inner product primitive.
Definition: mkldnn_types.h:400
Round down.
Definition: mkldnn_types.h:82
Definition: mkldnn_types.h:1109
mkldnn_memory_desc_t dst_desc
Destination memory descriptor.
Definition: mkldnn_types.h:633
mkldnn_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: mkldnn_types.h:726
Tensors of weights for 2x3 winograd convolutions.
Definition: mkldnn_types.h:550
Definition: mkldnn_types.h:440
mkldnn_memory_desc_t diff_desc
Source and Destination of gradient memory descriptor.
Definition: mkldnn_types.h:706
size_t output_index
Desired output index.
Definition: mkldnn_types.h:1047
mkldnn_data_type_t data_type
Data type of the tensor elements.
Definition: mkldnn_types.h:593
mkldnn_rnn_cell_flags_t
Flags for RNN cell.
Definition: mkldnn_types.h:845
mkldnn_dims_t offset_padding_to_data
Per-dimension offset from the padding to actual data, the top-level tensor with offsets applied must ...
Definition: mkldnn_types.h:540
float lrn_beta
LRN beta parameter.
Definition: mkldnn_types.h:767
32-bit signed integer.
Definition: mkldnn_types.h:68
Max pooling.
Definition: mkldnn_types.h:435
4D weights tensor in the oihw format with output channels data laid out in memory in 16-element block...
Definition: mkldnn_types.h:180
execution engine
Definition: mkldnn_types.h:1084
void * mkldnn_op_desc_t
A pointer to any of the operation descriptors.
Definition: mkldnn_types.h:575
mkldnn_data_type_t accum_data_type
The accumulator data type.
Definition: mkldnn_types.h:647
4D weights tensor in the oihw format with input channels data laid out in memory in 16-element blocks...
Definition: mkldnn_types.h:192
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:753
mkldnn_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: mkldnn_types.h:730
Definition: mkldnn_types.h:847
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:669
A descriptor of a convolution followed by relu operation.
Definition: mkldnn_types.h:833
float lrn_alpha
LRN alpha parameter.
Definition: mkldnn_types.h:765
struct mkldnn_primitive * mkldnn_primitive_t
A primitive handle.
Definition: mkldnn_types.h:1038
input memory primitive desc
Definition: mkldnn_types.h:1114
ptrdiff_t mkldnn_strides_t[TENSOR_MAX_DIMS]
A type to describe strides within a tensor.
Definition: mkldnn_types.h:527
5D weights tensor in the oihw format with extra outer dimension for groups.
Definition: mkldnn_types.h:223
const_mkldnn_primitive_t primitive
Primitive to specify the output for.
Definition: mkldnn_types.h:1045
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:719
int 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:763
ptrdiff_t offset_padding
Offset from memory origin to the current block, non-zero only in a description of a memory sub-block...
Definition: mkldnn_types.h:543
A descriptor of a element-wise operation.
Definition: mkldnn_types.h:654
rnn descriptor
Definition: mkldnn_types.h:1110
An element-wise primitive.
Definition: mkldnn_types.h:388
float beta
Definition: mkldnn_types.h:685
mkldnn_memory_desc_t src_desc
Source memory descriptor.
Definition: mkldnn_types.h:813
destination grad.
Definition: mkldnn_types.h:1121
mkldnn_alg_kind_t activation_kind
Activation function used.
Definition: mkldnn_types.h:857
6D weights tensor in the oihw format with both input and output channels data laid out in memory in 1...
Definition: mkldnn_types.h:164
A descriptor for an rnn operation.
Definition: mkldnn_types.h:884
eltwise descriptor
Definition: mkldnn_types.h:1102
A memory primitive.
Definition: mkldnn_types.h:372
float clipping
clipping parameter (used only if (flags & mkldnn_rnn_cell_with_clipping) != 0)
Definition: mkldnn_types.h:865
4D weights tensor in the oihw format with both input and output channels data laid out in memory in 1...
Definition: mkldnn_types.h:198
mkldnn_memory_desc_t bias_desc
Bias memory descriptor.
Definition: mkldnn_types.h:629
Eltwise: soft_relu.
Definition: mkldnn_types.h:431
mkldnn_wino_memory_format_t
Definition: mkldnn_types.h:546
The operation failed due to an out-of-memory condition.
Definition: mkldnn_types.h:43
RNN cell.
Definition: mkldnn_types.h:450
float negative_slope
ReLU scaling factor for negative values.
Definition: mkldnn_types.h:689
Backward weights propagation.
Definition: mkldnn_types.h:361
mkldnn_memory_desc_t weights_iter_desc
Weights iteration memory descriptor.
Definition: mkldnn_types.h:902
stub
Definition: mkldnn_types.h:1098
int ic2_block
Definition: mkldnn_types.h:566
32-bit/single-precision floating point.
Definition: mkldnn_types.h:66
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:661
const struct mkldnn_primitive_desc_iterator * const_mkldnn_primitive_desc_iterator_t
A constant primitive descriptor iterator handle.
Definition: mkldnn_types.h:963
2D weights tensor in the format (input channels, output channels).
Definition: mkldnn_types.h:141
Just a sentinel, not real memory format.
Definition: mkldnn_types.h:325
Omit statistics.
Definition: mkldnn_types.h:502
Memory descriptor.
Definition: mkldnn_types.h:583
mkldnn_dims_t kernel
Pooling kernel spatial dimensions.
Definition: mkldnn_types.h:734
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:782
mkldnn_convolution_desc_t mkldnn_deconvolution_desc_t
A descriptor of a deconvolution operation.
Definition: mkldnn_types.h:651
mkldnn_batch_normalization_flag_t
Flags for batch-normalization primititve.
Definition: mkldnn_types.h:467
pooling descriptor
Definition: mkldnn_types.h:1105
mkldnn_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: mkldnn_types.h:760
mkldnn_alg_kind_t alg_kind
The kind of pooling algorithm.
Definition: mkldnn_types.h:722
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:612
mkldnn_memory_desc_t dst_desc
Destination memory descriptor.
Definition: mkldnn_types.h:825
mkldnn_memory_desc_t weights_layer_desc
Weights layer memory descriptor.
Definition: mkldnn_types.h:900
mkldnn_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: mkldnn_types.h:631
unsigned int flags
RNN cell flags.
Definition: mkldnn_types.h:859
4D weights tensor in the format (output channels, input channels, height, width) with output channels...
Definition: mkldnn_types.h:209
The operation was successful.
Definition: mkldnn_types.h:41
mkldnn_memory_desc_t dst_iter_desc
Destination iter memory descriptor.
Definition: mkldnn_types.h:908
5D weights tensor in the blocked version of goihw format with both input and output channels data lai...
Definition: mkldnn_types.h:230
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:749
5D weights tensor in the oihw format with output channels data laid out in memory in 16-element block...
Definition: mkldnn_types.h:242
mkldnn_memory_desc_t src_iter_desc
Source iteration memory descriptor.
Definition: mkldnn_types.h:898
Backward propagation (with respect to all parameters.
Definition: mkldnn_types.h:357
5D data tensor in the ndhwc format typically used in TensorFlow.
Definition: mkldnn_types.h:136
softmax descriptor
Definition: mkldnn_types.h:1104
mkldnn_round_mode_t
Rounding mode.
Definition: mkldnn_types.h:78
A deconvolution primitive.
Definition: mkldnn_types.h:386
mkldnn_memory_desc_t data_scaleshift_desc
Scale and shift data and gradient memory descriptors.
Definition: mkldnn_types.h:790
Use global statistics.
Definition: mkldnn_types.h:480
4D weights tensor in the format (output channels, width, height, input channels) with output channels...
Definition: mkldnn_types.h:213
no query
Definition: mkldnn_types.h:1082
5D weights tensor in the blocked version of goihw format with output channels data laid out in memory...
Definition: mkldnn_types.h:271
5D weights tensor in the blocked version of oidhw format with output channels data laid out in memory...
Definition: mkldnn_types.h:167
mkldnn_memory_desc_t mean_desc
Mean and variance data memory descriptors.
Definition: mkldnn_types.h:796
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:776
8-bit unsigned integer.
Definition: mkldnn_types.h:74
mkldnn_alg_kind_t alg_kind
LRN algorithm.
Definition: mkldnn_types.h:756
Average pooling include padding.
Definition: mkldnn_types.h:437
Unspecified format.
Definition: mkldnn_types.h:112
mkldnn_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: mkldnn_types.h:623
destination memory primitive desc
Definition: mkldnn_types.h:1120
5D weights tensor in the format (num_layers, num_directions, input_chanels, num_gates, output_channels).
Definition: mkldnn_types.h:310
GRU cell with linear before reset.
Definition: mkldnn_types.h:463
Local response normalization (LRN) across multiple channels.
Definition: mkldnn_types.h:442
4D weights tensor in the oihw format with input channels data laid out in memory in 16-element blocks...
Definition: mkldnn_types.h:331
GRU cell.
Definition: mkldnn_types.h:454
Eager stream.
Definition: mkldnn_types.h:1135
implementation name
Definition: mkldnn_types.h:1095
Eltwise: parametric exponential linear unit (elu)
Definition: mkldnn_types.h:419
mkldnn_dims_t padding_dims
Size of the data including padding in each dimension.
Definition: mkldnn_types.h:537
Eltwise: ReLU.
Definition: mkldnn_types.h:415
1D data tensor.
Definition: mkldnn_types.h:118
float lrn_k
LRN k parameter.
Definition: mkldnn_types.h:769
4D weights tensor in the format (input channels, height, width, output channels). ...
Definition: mkldnn_types.h:149
mkldnn_memory_format_t
Memory format specification.
Definition: mkldnn_types.h:107
Eltwise: square.
Definition: mkldnn_types.h:421
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:811
mkldnn_wino_desc_t wino_desc
Tensor of weights for integer 8bit winograd convolution.
Definition: mkldnn_types.h:601
mkldnn_data_type_t accum_data_type
The accumulator data type.
Definition: mkldnn_types.h:742
4D data tensor in the nhwc format typically used in TensorFlow.
Definition: mkldnn_types.h:124
Backward bias propagation.
Definition: mkldnn_types.h:363
5D weights tensor in the goihw format with both input and output channels data laid out in memory in ...
Definition: mkldnn_types.h:283
Use scale and shift parameters.
Definition: mkldnn_types.h:493
mkldnn_memory_desc_t weights_desc
Weights memory descriptor.
Definition: mkldnn_types.h:625
4D weights tensor in the oihw format with input channels data laid out in memory in 8-element blocks...
Definition: mkldnn_types.h:328
mkldnn_rnn_cell_desc_t cell_desc
The RNN cell desc.
Definition: mkldnn_types.h:892
5D weights tensor in the oihw format with input channels data laid out in memory in 16-element blocks...
Definition: mkldnn_types.h:250
Definition: mkldnn_types.h:879
5D weights tensor in the blocked version of goihw format with group data laid out in memory in 8-elem...
Definition: mkldnn_types.h:277
Undefined memory format, used for empty memory descriptors.
Definition: mkldnn_types.h:548
int ndims
Number of dimensions.
Definition: mkldnn_types.h:588
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:586
An opaque structure to describe an execution stream.
const struct mkldnn_primitive_attr * const_mkldnn_primitive_attr_t
A constant primitive descriptor attributes handle.
Definition: mkldnn_types.h:1000
A convolution primitive merged with ReLU.
Definition: mkldnn_types.h:402
Undefined propagation type.
Definition: mkldnn_types.h:344
mkldnn_blocking_desc_t blocking
Description of the data layout for memory formats that use blocking.
Definition: mkldnn_types.h:599
5D data tensor in the ncdhw format.
Definition: mkldnn_types.h:134
float negative_slope
Scaling factor for negative values, stored as float-precision but interpreted in a way specific to th...
Definition: mkldnn_types.h:841
5D states tensor in the format (num_layers, num_directions, num_states, batch, state channels)...
Definition: mkldnn_types.h:307
mkldnn_dims_t dims
Dimensions in the following order: mini-batch, channel, spatial.
Definition: mkldnn_types.h:591
A rnn primitive.
Definition: mkldnn_types.h:404
mkldnn_dims_t strides
Convolution strides in each spatial dimension.
Definition: mkldnn_types.h:637
mkldnn_prop_kind_t
Kinds of propagation.
Definition: mkldnn_types.h:341
CPU engine.
Definition: mkldnn_types.h:935
mkldnn_memory_desc_t bias_desc
Bias memory descriptor.
Definition: mkldnn_types.h:904
Eltwise: square root.
Definition: mkldnn_types.h:425
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:704
mkldnn_memory_format_t format
Memory format.
Definition: mkldnn_types.h:595
mkldnn_stream_kind_t
Kinds of streams.
Definition: mkldnn_types.h:1131
mkldnn_memory_desc_t src_desc
Source memory descriptor.
Definition: mkldnn_types.h:621
4D weights tensor in the format (height, width, input channels, output channels). ...
Definition: mkldnn_types.h:152
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:836
A wrapper structure to specify a particular output of a primitive.
Definition: mkldnn_types.h:1043
Winograd convolution.
Definition: mkldnn_types.h:413
A ReLU primitive.
Definition: mkldnn_types.h:390
Eltwise: linear.
Definition: mkldnn_types.h:427
mkldnn_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: mkldnn_types.h:784
Eltwise: logistic.
Definition: mkldnn_types.h:433
Direct convolution.
Definition: mkldnn_types.h:411
Primitive iterator passed over last primitive descriptor.
Definition: mkldnn_types.h:54
const struct mkldnn_primitive * const_mkldnn_primitive_t
A constant primitive handle.
Definition: mkldnn_types.h:1040
source gradient memory primitive desc
Definition: mkldnn_types.h:1117
mkldnn_alg_kind_t cell_kind
RNN cell kind.
Definition: mkldnn_types.h:854
Definition: mkldnn_types.h:871
An opaque structure for primitive descriptor attributes.
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:890
int oc
Definition: mkldnn_types.h:563
5D data tensor in the ncdhw format with channels data laid out in memory in 16-element blocks...
Definition: mkldnn_types.h:139
float batch_norm_epsilon
Batch normalization epsilon parameter.
Definition: mkldnn_types.h:799
runtime estimation (seconds)
Definition: mkldnn_types.h:1090
5D weights tensor in the blocked version of goihw format with output channels data laid out in memory...
Definition: mkldnn_types.h:274
A (in-place) concat primitive.
Definition: mkldnn_types.h:380
mkldnn_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: mkldnn_types.h:671
4D weights tensor in the oihw format with both input and output channels data laid out in memory in 8...
Definition: mkldnn_types.h:173
LSTM cell.
Definition: mkldnn_types.h:452
Definition: mkldnn_types.h:880
mkldnn_memory_desc_t diff_weights_layer_desc
Weights gradient layer memory descriptor.
Definition: mkldnn_types.h:914
Definition: mkldnn_types.h:551
mkldnn_wino_memory_format_t wino_format
Definition: mkldnn_types.h:559
Undefined data type, used for empty memory descriptors.
Definition: mkldnn_types.h:64
16-bit signed integer.
Definition: mkldnn_types.h:70
mkldnn_memory_desc_t src_layer_desc
Source layer memory descriptor.
Definition: mkldnn_types.h:896
5D weights tensor in the blocked version of oidhw format with output channels data laid out in memory...
Definition: mkldnn_types.h:170
A (out-of-place) concat primitive.
Definition: mkldnn_types.h:378
Fuse with ReLU.
Definition: mkldnn_types.h:511
mkldnn_query_t
Primitive descriptor query specification.
Definition: mkldnn_types.h:1081
A descriptor of a Batch Normalization operation.
Definition: mkldnn_types.h:773
const struct mkldnn_stream * const_mkldnn_stream_t
A constant execution stream handle.
Definition: mkldnn_types.h:1146
A sum primitive.
Definition: mkldnn_types.h:382
5D weights tensor in the blocked version of goihw format with output channels data laid out in memory...
Definition: mkldnn_types.h:265
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:699
unsigned flags
Definition: mkldnn_types.h:800
5D weights tensor in the blocked version of goihw format with group data laid out in memory in 16-ele...
Definition: mkldnn_types.h:280
2D weights tensor in the format (input channels, output channels).
Definition: mkldnn_types.h:143
memory consumption – extra (scratch) memory, additional to all inputs and outputs memory (bytes) ...
Definition: mkldnn_types.h:1091
An batch normalization primitive.
Definition: mkldnn_types.h:398
Definition: mkldnn_types.h:409
A descriptor of a pooling operation.
Definition: mkldnn_types.h:712
mkldnn_dims_t strides
Pooling kernel strides for spatial dimensions.
Definition: mkldnn_types.h:732
deconvolution descriptor
Definition: mkldnn_types.h:1101
int softmax_axis
The axis along which to perform the softmax.
Definition: mkldnn_types.h:708
mkldnn_memory_desc_t diff_dst_iter_desc
Destination gradient iteration memory descriptor.
Definition: mkldnn_types.h:922
8-bit signed integer.
Definition: mkldnn_types.h:72
The data in padding regions is zero.
Definition: mkldnn_types.h:337
mkldnn_memory_desc_t variance_desc
Definition: mkldnn_types.h:797
source memory primitive desc
Definition: mkldnn_types.h:1116
mkldnn_primitive_kind_t
Kinds of primitives.
Definition: mkldnn_types.h:368
5D weights tensor in the blocked format.
Definition: mkldnn_types.h:312
Winograd deconvolution.
Definition: mkldnn_types.h:448
number of inputs expected
Definition: mkldnn_types.h:1087
struct mkldnn_engine * mkldnn_engine_t
An engine handle.
Definition: mkldnn_types.h:942
mkldnn_memory_desc_t weights_desc
Weights memory descriptor.
Definition: mkldnn_types.h:817
An unspecified engine.
Definition: mkldnn_types.h:1133
A view primitive.
Definition: mkldnn_types.h:374
Description of tensor of weights for integer 8bit winograd convolution.
Definition: mkldnn_types.h:558
4D weights tensor in the format (output channels, input channels, height, width) with output channels...
Definition: mkldnn_types.h:205
Average pooling exclude padding.
Definition: mkldnn_types.h:439
Definition: mkldnn_types.h:850
Forward data propagation (inference mode).
Definition: mkldnn_types.h:351
6D weight tensor in the goidhw format with extra dimension for groups
Definition: mkldnn_types.h:286
5D weight tensor in the oidhw format.
Definition: mkldnn_types.h:157
Definition: mkldnn_types.h:552
Direct deconvolution.
Definition: mkldnn_types.h:446
Eltwise: abs.
Definition: mkldnn_types.h:423
5D weights tensor in the oihw format with output channels data laid out in memory in 16-element block...
Definition: mkldnn_types.h:238
mkldnn_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: mkldnn_types.h:635
4D weights tensor in the oihw format with both input and output channels data laid out in memory in 1...
Definition: mkldnn_types.h:176
5D weights tensor in the hwio format with extra dimension for groups that comes after the output chan...
Definition: mkldnn_types.h:226
stub
Definition: mkldnn_types.h:1113
int ic
Definition: mkldnn_types.h:562
5D weights tensor in the blocked version of goihw format with both input and output channels data lai...
Definition: mkldnn_types.h:254
The operation failed because requested functionality is not implemented.
Definition: mkldnn_types.h:52
Eltwise: hyperbolic tangent non-linearity (tanh)
Definition: mkldnn_types.h:417
mkldnn_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: mkldnn_types.h:827
2D data tensor.
Definition: mkldnn_types.h:120
Primitive or engine failed on execution.
Definition: mkldnn_types.h:56
memory descriptor for memory and view
Definition: mkldnn_types.h:1099
const struct mkldnn_post_ops * const_mkldnn_post_ops_t
A constant post operation chain handle.
Definition: mkldnn_types.h:1027
An LRN primitive.
Definition: mkldnn_types.h:396
Definition: mkldnn_types.h:876
mkldnn_padding_kind_t
Kinds of padding.
Definition: mkldnn_types.h:335
mkldnn_memory_desc_t dst_desc
Destination memory descriptor.
Definition: mkldnn_types.h:728
Lazy stream.
Definition: mkldnn_types.h:1137
5D weights tensor in the blocked version of goihw format with output channels data laid out in memory...
Definition: mkldnn_types.h:268
mkldnn_memory_desc_t diff_src_iter_desc
Source gradient iter memory descriptor.
Definition: mkldnn_types.h:912
5D weights tensor in the format (num_layers, num_directions, num_gates, output_channels, input_chanels).
Definition: mkldnn_types.h:315
const struct mkldnn_primitive_desc * const_mkldnn_primitive_desc_t
A constant primitive descriptor handle.
Definition: mkldnn_types.h:979
Forward data propagation (training mode).
Definition: mkldnn_types.h:347
mkldnn_convolution_desc_t convolution_desc
A descriptor of a convolution operation.
Definition: mkldnn_types.h:838
The operation failed because a primitive was not ready for execution.
Definition: mkldnn_types.h:49
An opaque structure to describe a primitive.
A tensor in a generic format described by the stride and blocking values in each dimension.
Definition: mkldnn_types.h:116
mkldnn_data_type_t
Data type specification.
Definition: mkldnn_types.h:62
convolution descriptor
Definition: mkldnn_types.h:1100
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:887
mkldnn_eltwise_desc_t mkldnn_relu_desc_t
Definition: mkldnn_types.h:693
mkldnn_memory_desc_t src_desc
Source memory descriptor.
Definition: mkldnn_types.h:724
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:780
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:657
mkldnn_alg_kind_t alg_kind
The kind of eltwise algorithm.
Definition: mkldnn_types.h:667
4D weights tensor in the oihw format with both input and output channels data laid out in memory in 1...
Definition: mkldnn_types.h:220
mkldnn_memory_desc_t diff_src_layer_desc
Source gradient layer memory descriptor.
Definition: mkldnn_types.h:910
Eltwise: bounded_relu.
Definition: mkldnn_types.h:429
mkldnn_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: mkldnn_types.h:819
Definition: mkldnn_types.h:873
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:616
mkldnn_engine_kind_t
Kinds of engines.
Definition: mkldnn_types.h:931
Definition: mkldnn_types.h:846
Queried element is not required for given primitive.
Definition: mkldnn_types.h:58
6D weights tensor in the blocked version of goihw format with both input and output channels data lai...
Definition: mkldnn_types.h:294
General tensor format for integer 8bit winograd convolution.
Definition: mkldnn_types.h:322
Generic description of blocked data layout for most memory formats.
Definition: mkldnn_types.h:530
Round nearest.
Definition: mkldnn_types.h:80
6D weights tensor in the oidhw format with output channels data laid out in memory in 16-element bloc...
Definition: mkldnn_types.h:290
const void * const_mkldnn_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: mkldnn_types.h:577
int r
Definition: mkldnn_types.h:560
A reorder primitive.
Definition: mkldnn_types.h:376
5D weights tensor in the blocked version of goihw format with both input and output channels data lai...
Definition: mkldnn_types.h:258
An unspecified engine.
Definition: mkldnn_types.h:933
5D weights tensor in the blocked version of goihw format with both input and output channels data lai...
Definition: mkldnn_types.h:262
int oc2_block
Definition: mkldnn_types.h:567
5D weights tensor in the blocked version of goihw format with both input and output channels data lai...
Definition: mkldnn_types.h:234
mkldnn_alg_kind_t
Kinds of algorithms.
Definition: mkldnn_types.h:408
int mkldnn_dims_t[TENSOR_MAX_DIMS]
A type to describe tensor dimensions.
Definition: mkldnn_types.h:525
inner product descriptor
Definition: mkldnn_types.h:1108
mkldnn_memory_desc_t bias_desc
Bias memory descriptor.
Definition: mkldnn_types.h:821
A pooling primitive.
Definition: mkldnn_types.h:394
weights memory primitive descriptor desc
Definition: mkldnn_types.h:1118
output memory primitive desc
Definition: mkldnn_types.h:1115
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:758
5D weights tensor in the format (depth, height, width, input channels, output channels).
Definition: mkldnn_types.h:155
4D weights tensor in the oihw format with both input and output channels data laid out in memory in 8...
Definition: mkldnn_types.h:195
Forward data propagation (alias for mkldnn_forward_training)
Definition: mkldnn_types.h:355
3D data tensor in the format (batch, seq_length, input channels).
Definition: mkldnn_types.h:302
lrn descriptor
Definition: mkldnn_types.h:1106
struct mkldnn_primitive_desc * mkldnn_primitive_desc_t
A primitive descriptor handle.
Definition: mkldnn_types.h:976
workspace memory primitive desc
Definition: mkldnn_types.h:1122
mkldnn_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: mkldnn_types.h:627
mkldnn_alg_kind_t alg_kind
The kind of the convolution algorithm.
Definition: mkldnn_types.h:619
6D weights tensor in the oidhw format with output channels data laid out in memory in 16-element bloc...
Definition: mkldnn_types.h:161
Definition: mkldnn_types.h:1103
weights grad.
Definition: mkldnn_types.h:1119
mkldnn_memory_desc_t diff_dst_layer_desc
Destination gradient layer memory descriptor.
Definition: mkldnn_types.h:920
4D data tensor in the nchw format typically used in Caffe.
Definition: mkldnn_types.h:122
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:715
mkldnn_memory_desc_t diff_weights_iter_desc
Weights gradient iter memory descriptor.
Definition: mkldnn_types.h:916
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:807
primitive kind
Definition: mkldnn_types.h:1085
5D weights tensor in the blocked format.
Definition: mkldnn_types.h:317
mkldnn_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: mkldnn_types.h:823
mkldnn_dims_t block_dims
Block size for each of the dimensions.
Definition: mkldnn_types.h:532
4D weights tensor in the oihw format with output channels data laid out in memory in 16-element block...
Definition: mkldnn_types.h:184
struct mkldnn_primitive_attr * mkldnn_primitive_attr_t
A primitive descriptor attributes handle that controls primitive behavior.
Definition: mkldnn_types.h:997
An opaque structure to describe a primitive descriptor iterator .
Tensor of weights for 4x3 convolution.
Definition: mkldnn_types.h:554