Intel(R) Math Kernel Library for Deep Neural Networks (Intel(R) MKL-DNN)  0.17.1
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 
135 typedef enum {
240 
241  /* Opaque data types, are not to be used explicitly */
242 
243  /* data */
250 
251  /* weights, 3D */
262 
263  /* weights, 4D */
289 
290  /* weights, 5D */
301 
302  /* weights w/ groups, 4D */
313 
314  /* weights w/ groups, 5D */
340 
341  /* weights w/ groups, 6D */
350 
352 
353  /* RNN packed weights */
356 
361 
363 typedef enum {
367 
369 typedef enum {
370  /* TODO: suggest renames */
393 
396 typedef enum {
436 
438 typedef enum {
495 
497 typedef enum {
543 
552 #define TENSOR_MAX_DIMS 12
553 
558 
562 typedef struct {
564  mkldnn_dims_t block_dims;
567  mkldnn_strides_t strides[2];
569  mkldnn_dims_t padding_dims;
572  mkldnn_dims_t offset_padding_to_data;
575  ptrdiff_t offset_padding;
577 
578 typedef enum {
588 
590 typedef struct {
591  mkldnn_wino_memory_format_t wino_format;
592  int r;
593  int alpha;
594  int ic;
595  int oc;
596  int ic_block;
597  int oc_block;
600  float adj_scale;
601  size_t size;
603 
608 typedef void *mkldnn_op_desc_t;
610 typedef const void *const_mkldnn_op_desc_t;
611 
616 typedef struct {
619  mkldnn_primitive_kind_t primitive_kind;
621  int ndims;
637  mkldnn_dims_t dims;
641  mkldnn_memory_format_t format;
642  union {
648  /* ... other descriptions possible */
649  } layout_desc;
651 
655 typedef struct {
658  mkldnn_primitive_kind_t primitive_kind;
683  mkldnn_dims_t strides;
685  mkldnn_dims_t dilates;
689  mkldnn_dims_t padding[2];
691  mkldnn_padding_kind_t padding_kind;
695 
698 
700 typedef struct {
703  mkldnn_primitive_kind_t primitive_kind;
711  int axis;
715 
717 typedef struct {
720  mkldnn_primitive_kind_t primitive_kind;
748  float alpha, beta;
754 
755 /* @deprecated: use mkldnn_eltwise_desc_t */
757 
759 typedef struct {
762  mkldnn_primitive_kind_t primitive_kind;
773 
775 typedef struct {
778  mkldnn_primitive_kind_t primitive_kind;
795  mkldnn_dims_t strides;
797  mkldnn_dims_t kernel;
801  mkldnn_dims_t padding[2];
803  mkldnn_padding_kind_t padding_kind;
807 
809 typedef struct {
812  mkldnn_primitive_kind_t primitive_kind;
828  float lrn_alpha;
830  float lrn_beta;
832  float lrn_k;
834 
836 typedef struct {
839  mkldnn_primitive_kind_t primitive_kind;
863  unsigned flags;
865 
867 typedef struct {
870  mkldnn_primitive_kind_t primitive_kind;
894 
896 typedef struct {
899  mkldnn_primitive_kind_t primitive_kind;
906 
908 typedef enum {
912 
913 typedef struct {
922  unsigned int flags;
925  float alpha;
928  float clipping;
930 
932 typedef enum {
933  /* Unidirectional execution of RNN primitive from left to right. */
935  /* Unidirectional execution of RNN primitive from right to left. */
937  /* Bidirectional execution of RNN primitive with concatenation of the
938  * results. */
940  /* Bidirectional execution of RNN primitive with summation of the
941  * results. */
945 
947 typedef struct {
950  mkldnn_primitive_kind_t primitive_kind;
957  mkldnn_rnn_direction_t direction;
987 
994 typedef enum {
1000 
1003 struct mkldnn_engine;
1006 #if 0
1007 /* FIXME: looks like this never happens */
1009 typedef const struct mkldnn_engine *const_mkldnn_engine_t;
1010 #endif
1011 
1020 
1024 
1028 
1036 struct mkldnn_primitive_desc;
1037 
1040 
1043 
1056 struct mkldnn_primitive_attr;
1057 
1061 
1064 
1084 struct mkldnn_post_ops;
1085 
1088 
1091 
1099 struct mkldnn_primitive;
1104 
1106 typedef struct {
1108  const_mkldnn_primitive_t primitive;
1112 
1145 typedef enum {
1161  /* memory and op descriptor section */
1178  /* (memory) primitive descriptor section */
1189 } mkldnn_query_t;
1190 
1197 typedef enum {
1205 
1208 struct mkldnn_stream;
1212 typedef const struct mkldnn_stream *const_mkldnn_stream_t;
1213 
1218 #ifdef __cplusplus
1219 }
1220 #endif
1221 
1222 
1223 #endif
mkldnn_data_type_t accum_data_type
The accumulator data type.
Definition: mkldnn_types.h:892
LRN within a single channel.
Definition: mkldnn_types.h:474
struct mkldnn_post_ops * mkldnn_post_ops_t
A post operation chain handle.
Definition: mkldnn_types.h:1087
mkldnn_padding_kind_t padding_kind
The kind of padding to use.
Definition: mkldnn_types.h:803
size_t size
Definition: mkldnn_types.h:601
A descriptor of a Local Response Normalization (LRN) operation.
Definition: mkldnn_types.h:809
blocked weights format
Definition: mkldnn_types.h:300
blocked weights format
Definition: mkldnn_types.h:303
op descriptor
Definition: mkldnn_types.h:1163
blocked weights format with additional buffer with size equal to the number of output channels multip...
Definition: mkldnn_types.h:327
blocked weights format
Definition: mkldnn_types.h:287
blocked weights format
Definition: mkldnn_types.h:345
A Softmax primitive.
Definition: mkldnn_types.h:422
number of outputs expected
Definition: mkldnn_types.h:1152
int alpha
Definition: mkldnn_types.h:593
mkldnn_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: mkldnn_types.h:981
mkldnn_dims_t dilates
Convolution dilates in each spatial dimension.
Definition: mkldnn_types.h:685
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:655
mkldnn_rnn_direction_t direction
The direction of RNN primitive execution.
Definition: mkldnn_types.h:957
The operation failed and should be retried.
Definition: mkldnn_types.h:45
blocked weights format
Definition: mkldnn_types.h:259
mkldnn_memory_desc_t dst_layer_desc
Destination layer memory descriptor.
Definition: mkldnn_types.h:969
int ic_block
Definition: mkldnn_types.h:596
4D RNN bias tensor in the format (num_layers, num_directions, num_gates, output_channels).
Definition: mkldnn_types.h:239
4D data tensor with the physical layout chwn, used in Neon.
Definition: mkldnn_types.h:163
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:381
An opaque structure to describe an engine.
Backward data propagation.
Definition: mkldnn_types.h:387
blocked weights format
Definition: mkldnn_types.h:283
Undefined memory format, used for empty memory descriptors.
Definition: mkldnn_types.h:137
float alpha
alpha is a negative slope parameter (used only if (flags & mkldnn_rnn_cell_with_relu) != 0) ...
Definition: mkldnn_types.h:925
#define TENSOR_MAX_DIMS
Maximum number of dimensions a tensor can have.
Definition: mkldnn_types.h:552
4D weights tensor with physical layout oihw, used in Caffe.
Definition: mkldnn_types.h:184
A descriptor of a Softmax operation.
Definition: mkldnn_types.h:759
blocked weights format
Definition: mkldnn_types.h:348
mkldnn_padding_kind_t padding_kind
The kind of padding to use.
Definition: mkldnn_types.h:691
blocked weights format
Definition: mkldnn_types.h:349
int oc_block
Definition: mkldnn_types.h:597
blocked data format
Definition: mkldnn_types.h:246
A descriptor of an inner product operation.
Definition: mkldnn_types.h:867
3D RNN data tensor in the format (seq_length, batch, input channels).
Definition: mkldnn_types.h:215
An opaque structure for a chain of post operations.
An opaque structure to describe a primitive descriptor .
batch normalization descriptor
Definition: mkldnn_types.h:1173
mkldnn_rnn_direction_t
A direction of RNN primitive execution.
Definition: mkldnn_types.h:932
mkldnn_memory_desc_t diff_data_scaleshift_desc
Definition: mkldnn_types.h:854
A convolution primitive.
Definition: mkldnn_types.h:414
mkldnn_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: mkldnn_types.h:878
int axis
axis for shuffling.
Definition: mkldnn_types.h:711
struct mkldnn_stream * mkldnn_stream_t
An execution stream handle.
Definition: mkldnn_types.h:1210
blocked data format
Definition: mkldnn_types.h:247
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:765
struct mkldnn_primitive_desc_iterator * mkldnn_primitive_desc_iterator_t
A primitive descriptor iterator handle.
Definition: mkldnn_types.h:1022
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:703
Undefined primitive (XXX: why do we have it?).
Definition: mkldnn_types.h:398
An inner product primitive.
Definition: mkldnn_types.h:430
Round down.
Definition: mkldnn_types.h:82
Definition: mkldnn_types.h:1175
4D grouped weights tensor with the physical layout goiw.
Definition: mkldnn_types.h:199
mkldnn_memory_desc_t dst_desc
Destination memory descriptor.
Definition: mkldnn_types.h:679
mkldnn_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: mkldnn_types.h:789
Tensors of weights for 2x3 winograd convolutions.
Definition: mkldnn_types.h:582
Definition: mkldnn_types.h:470
mkldnn_memory_desc_t diff_desc
Source and Destination of gradient memory descriptor.
Definition: mkldnn_types.h:769
size_t output_index
Desired output index.
Definition: mkldnn_types.h:1110
mkldnn_data_type_t data_type
Data type of the tensor elements.
Definition: mkldnn_types.h:639
mkldnn_rnn_cell_flags_t
Flags for RNN cell.
Definition: mkldnn_types.h:908
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:572
float lrn_beta
LRN beta parameter.
Definition: mkldnn_types.h:830
32-bit signed integer.
Definition: mkldnn_types.h:68
Max pooling.
Definition: mkldnn_types.h:465
blocked weights format
Definition: mkldnn_types.h:273
execution engine
Definition: mkldnn_types.h:1148
void * mkldnn_op_desc_t
A pointer to any of the operation descriptors.
Definition: mkldnn_types.h:608
mkldnn_data_type_t accum_data_type
The accumulator data type.
Definition: mkldnn_types.h:693
blocked weights format
Definition: mkldnn_types.h:280
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:816
mkldnn_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: mkldnn_types.h:793
Definition: mkldnn_types.h:910
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:732
A descriptor of a convolution followed by relu operation.
Definition: mkldnn_types.h:896
float lrn_alpha
LRN alpha parameter.
Definition: mkldnn_types.h:828
struct mkldnn_primitive * mkldnn_primitive_t
A primitive handle.
Definition: mkldnn_types.h:1101
input memory primitive desc
Definition: mkldnn_types.h:1180
blocked weights format
Definition: mkldnn_types.h:294
ptrdiff_t mkldnn_strides_t[TENSOR_MAX_DIMS]
A type to describe strides within a tensor.
Definition: mkldnn_types.h:557
5D grouped weights tensor with the physical layout goihw, used in Caffe.
Definition: mkldnn_types.h:203
const_mkldnn_primitive_t primitive
Primitive to specify the output for.
Definition: mkldnn_types.h:1108
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:782
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:826
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:575
A descriptor of a element-wise operation.
Definition: mkldnn_types.h:717
rnn descriptor
Definition: mkldnn_types.h:1176
An element-wise primitive.
Definition: mkldnn_types.h:418
float beta
Definition: mkldnn_types.h:748
mkldnn_memory_desc_t src_desc
Source memory descriptor.
Definition: mkldnn_types.h:876
destination grad.
Definition: mkldnn_types.h:1187
mkldnn_alg_kind_t activation_kind
Activation function used.
Definition: mkldnn_types.h:920
blocked weights format
Definition: mkldnn_types.h:297
A descriptor for an rnn operation.
Definition: mkldnn_types.h:947
eltwise descriptor
Definition: mkldnn_types.h:1168
A memory primitive.
Definition: mkldnn_types.h:400
float clipping
clipping parameter (used only if (flags & mkldnn_rnn_cell_with_clipping) != 0)
Definition: mkldnn_types.h:928
blocked weights format
Definition: mkldnn_types.h:282
mkldnn_memory_desc_t bias_desc
Bias memory descriptor.
Definition: mkldnn_types.h:675
Eltwise: soft_relu.
Definition: mkldnn_types.h:461
mkldnn_wino_memory_format_t
Definition: mkldnn_types.h:578
The operation failed due to an out-of-memory condition.
Definition: mkldnn_types.h:43
RNN cell.
Definition: mkldnn_types.h:480
float negative_slope
ReLU scaling factor for negative values.
Definition: mkldnn_types.h:752
blocked weights format
Definition: mkldnn_types.h:309
Backward weights propagation.
Definition: mkldnn_types.h:389
blocked weights format
Definition: mkldnn_types.h:344
mkldnn_memory_desc_t weights_iter_desc
Weights iteration memory descriptor.
Definition: mkldnn_types.h:965
stub
Definition: mkldnn_types.h:1162
int ic2_block
Definition: mkldnn_types.h:598
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:724
const struct mkldnn_primitive_desc_iterator * const_mkldnn_primitive_desc_iterator_t
A constant primitive descriptor iterator handle.
Definition: mkldnn_types.h:1026
blocked weights format
Definition: mkldnn_types.h:256
blocked data format
Definition: mkldnn_types.h:245
2D weights tensor with physical layout oi.
Definition: mkldnn_types.h:172
Just a sentinel, not real memory format.
Definition: mkldnn_types.h:359
Omit statistics.
Definition: mkldnn_types.h:532
Memory descriptor.
Definition: mkldnn_types.h:616
mkldnn_dims_t kernel
Pooling kernel spatial dimensions.
Definition: mkldnn_types.h:797
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:845
mkldnn_convolution_desc_t mkldnn_deconvolution_desc_t
A descriptor of a deconvolution operation.
Definition: mkldnn_types.h:697
mkldnn_batch_normalization_flag_t
Flags for batch-normalization primititve.
Definition: mkldnn_types.h:497
pooling descriptor
Definition: mkldnn_types.h:1171
mkldnn_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: mkldnn_types.h:823
mkldnn_alg_kind_t alg_kind
The kind of pooling algorithm.
Definition: mkldnn_types.h:785
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:658
blocked weights format
Definition: mkldnn_types.h:255
mkldnn_memory_desc_t dst_desc
Destination memory descriptor.
Definition: mkldnn_types.h:888
3D weights tensor with physical layout wio.
Definition: mkldnn_types.h:181
mkldnn_memory_desc_t weights_layer_desc
Weights layer memory descriptor.
Definition: mkldnn_types.h:963
mkldnn_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: mkldnn_types.h:677
blocked weights format
Definition: mkldnn_types.h:308
unsigned int flags
RNN cell flags.
Definition: mkldnn_types.h:922
3D data tensor with the physical layout ncw.
Definition: mkldnn_types.h:151
blocked weights format
Definition: mkldnn_types.h:285
The operation was successful.
Definition: mkldnn_types.h:41
mkldnn_memory_desc_t dst_iter_desc
Destination iter memory descriptor.
Definition: mkldnn_types.h:971
blocked weights format
Definition: mkldnn_types.h:320
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:812
blocked weights format
Definition: mkldnn_types.h:328
mkldnn_memory_desc_t src_iter_desc
Source iteration memory descriptor.
Definition: mkldnn_types.h:961
blocked weights format
Definition: mkldnn_types.h:342
Backward propagation (with respect to all parameters.
Definition: mkldnn_types.h:385
5D data tensor with the physical layout ndhwc, used in TensorFlow.
Definition: mkldnn_types.h:169
softmax descriptor
Definition: mkldnn_types.h:1170
mkldnn_round_mode_t
Rounding mode.
Definition: mkldnn_types.h:78
A deconvolution primitive.
Definition: mkldnn_types.h:416
mkldnn_memory_desc_t data_scaleshift_desc
Scale and shift data and gradient memory descriptors.
Definition: mkldnn_types.h:853
Use global statistics.
Definition: mkldnn_types.h:510
blocked weights format
Definition: mkldnn_types.h:286
no query
Definition: mkldnn_types.h:1146
blocked weights format
Definition: mkldnn_types.h:335
blocked weights format
Definition: mkldnn_types.h:298
mkldnn_memory_desc_t mean_desc
Mean and variance data memory descriptors.
Definition: mkldnn_types.h:859
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:839
8-bit unsigned integer.
Definition: mkldnn_types.h:74
mkldnn_alg_kind_t alg_kind
LRN algorithm.
Definition: mkldnn_types.h:819
Average pooling include padding.
Definition: mkldnn_types.h:467
Unspecified format.
Definition: mkldnn_types.h:140
mkldnn_memory_desc_t diff_src_desc
Source gradient memory descriptor.
Definition: mkldnn_types.h:669
destination memory primitive desc
Definition: mkldnn_types.h:1186
5D RNN weights tensor in the format (num_layers, num_directions, input_channels, num_gates, output_channels).
Definition: mkldnn_types.h:225
GRU cell with linear before reset.
Definition: mkldnn_types.h:493
Local response normalization (LRN) across multiple channels.
Definition: mkldnn_types.h:472
blocked weights format
Definition: mkldnn_types.h:270
GRU cell.
Definition: mkldnn_types.h:484
Eager stream.
Definition: mkldnn_types.h:1201
implementation name
Definition: mkldnn_types.h:1159
3D weights tensor with physical layout oiw.
Definition: mkldnn_types.h:178
Eltwise: parametric exponential linear unit (elu)
Definition: mkldnn_types.h:449
mkldnn_dims_t padding_dims
Size of the data including padding in each dimension.
Definition: mkldnn_types.h:569
Eltwise: ReLU.
Definition: mkldnn_types.h:445
1D data tensor.
Definition: mkldnn_types.h:146
float lrn_k
LRN k parameter.
Definition: mkldnn_types.h:832
4D weights tensor with physical layout ihwo.
Definition: mkldnn_types.h:190
mkldnn_memory_format_t
Memory format specification.
Definition: mkldnn_types.h:135
Eltwise: square.
Definition: mkldnn_types.h:451
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:874
mkldnn_wino_desc_t wino_desc
Tensor of weights for integer 8bit winograd convolution.
Definition: mkldnn_types.h:647
mkldnn_data_type_t accum_data_type
The accumulator data type.
Definition: mkldnn_types.h:805
4D data tensor with the physical layout nhwc, used in TensorFlow.
Definition: mkldnn_types.h:160
Backward bias propagation.
Definition: mkldnn_types.h:391
blocked weights format
Definition: mkldnn_types.h:339
Use scale and shift parameters.
Definition: mkldnn_types.h:523
int group_size
number of groups in group convolution
Definition: mkldnn_types.h:713
weights format with additional buffer size equal to the number of output channels multiplied by numbe...
Definition: mkldnn_types.h:319
mkldnn_memory_desc_t weights_desc
Weights memory descriptor.
Definition: mkldnn_types.h:671
blocked weights format
Definition: mkldnn_types.h:269
mkldnn_rnn_cell_desc_t cell_desc
The RNN cell desc.
Definition: mkldnn_types.h:955
blocked weights format
Definition: mkldnn_types.h:329
A descriptor of a shuffle operation.
Definition: mkldnn_types.h:700
Definition: mkldnn_types.h:942
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:709
blocked weights format
Definition: mkldnn_types.h:337
blocked weights format
Definition: mkldnn_types.h:305
Undefined memory format, used for empty memory descriptors.
Definition: mkldnn_types.h:580
int ndims
Number of dimensions.
Definition: mkldnn_types.h:621
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:619
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:1063
A convolution primitive merged with ReLU.
Definition: mkldnn_types.h:432
Undefined propagation type.
Definition: mkldnn_types.h:372
mkldnn_blocking_desc_t blocking
Description of the data layout for memory formats that use blocking.
Definition: mkldnn_types.h:645
5D data tensor with the physical layout ncdhw.
Definition: mkldnn_types.h:166
float negative_slope
Scaling factor for negative values, stored as float-precision but interpreted in a way specific to th...
Definition: mkldnn_types.h:904
5D RNN states tensor in the format (num_layers, num_directions, num_states, batch, state channels).
Definition: mkldnn_types.h:218
mkldnn_dims_t dims
Dimensions in the following order:
Definition: mkldnn_types.h:637
A rnn primitive.
Definition: mkldnn_types.h:434
mkldnn_dims_t strides
Convolution strides in each spatial dimension.
Definition: mkldnn_types.h:683
blocked weights format
Definition: mkldnn_types.h:293
mkldnn_prop_kind_t
Kinds of propagation.
Definition: mkldnn_types.h:369
CPU engine.
Definition: mkldnn_types.h:998
mkldnn_memory_desc_t bias_desc
Bias memory descriptor.
Definition: mkldnn_types.h:967
Eltwise: square root.
Definition: mkldnn_types.h:455
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:767
mkldnn_memory_format_t format
Memory format.
Definition: mkldnn_types.h:641
blocked weights format
Definition: mkldnn_types.h:257
mkldnn_stream_kind_t
Kinds of streams.
Definition: mkldnn_types.h:1197
mkldnn_memory_desc_t src_desc
Source memory descriptor.
Definition: mkldnn_types.h:667
4D weights tensor with physical layout hwio, used in TensorFlow.
Definition: mkldnn_types.h:187
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:899
A wrapper structure to specify a particular output of a primitive.
Definition: mkldnn_types.h:1106
Winograd convolution.
Definition: mkldnn_types.h:443
A ReLU primitive.
Definition: mkldnn_types.h:420
Eltwise: linear.
Definition: mkldnn_types.h:457
mkldnn_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: mkldnn_types.h:847
Eltwise: logistic.
Definition: mkldnn_types.h:463
Direct convolution.
Definition: mkldnn_types.h:441
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:1103
source gradient memory primitive desc
Definition: mkldnn_types.h:1183
mkldnn_alg_kind_t cell_kind
RNN cell kind.
Definition: mkldnn_types.h:917
Definition: mkldnn_types.h:934
An opaque structure for primitive descriptor attributes.
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:953
int oc
Definition: mkldnn_types.h:595
blocked data format
Definition: mkldnn_types.h:249
float batch_norm_epsilon
Batch normalization epsilon parameter.
Definition: mkldnn_types.h:862
runtime estimation (seconds)
Definition: mkldnn_types.h:1154
blocked weights format
Definition: mkldnn_types.h:336
A (in-place) concat primitive.
Definition: mkldnn_types.h:410
mkldnn_memory_desc_t diff_data_desc
Source and destination gradient memory descriptor.
Definition: mkldnn_types.h:734
blocked weights format
Definition: mkldnn_types.h:271
LSTM cell.
Definition: mkldnn_types.h:482
blocked weights format
Definition: mkldnn_types.h:260
Definition: mkldnn_types.h:943
mkldnn_memory_desc_t diff_weights_layer_desc
Weights gradient layer memory descriptor.
Definition: mkldnn_types.h:977
Definition: mkldnn_types.h:583
mkldnn_wino_memory_format_t wino_format
Definition: mkldnn_types.h:591
Undefined data type, used for empty memory descriptors.
Definition: mkldnn_types.h:64
16-bit signed integer.
Definition: mkldnn_types.h:70
A shuffle primitive.
Definition: mkldnn_types.h:406
blocked weights format with additional buffer with size equal to the number of output channels and co...
Definition: mkldnn_types.h:278
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:706
mkldnn_memory_desc_t src_layer_desc
Source layer memory descriptor.
Definition: mkldnn_types.h:959
blocked weights format
Definition: mkldnn_types.h:299
blocked weights format
Definition: mkldnn_types.h:292
A (out-of-place) concat primitive.
Definition: mkldnn_types.h:408
blocked weights format
Definition: mkldnn_types.h:306
Fuse with ReLU.
Definition: mkldnn_types.h:541
mkldnn_query_t
Primitive descriptor query specification.
Definition: mkldnn_types.h:1145
A descriptor of a Batch Normalization operation.
Definition: mkldnn_types.h:836
const struct mkldnn_stream * const_mkldnn_stream_t
A constant execution stream handle.
Definition: mkldnn_types.h:1212
blocked data format
Definition: mkldnn_types.h:248
A sum primitive.
Definition: mkldnn_types.h:412
blocked weights format
Definition: mkldnn_types.h:333
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:762
unsigned flags
Definition: mkldnn_types.h:863
blocked weights format
Definition: mkldnn_types.h:261
blocked weights format
Definition: mkldnn_types.h:310
blocked weights format
Definition: mkldnn_types.h:252
blocked weights format
Definition: mkldnn_types.h:338
2D weights tensor with physical layout io.
Definition: mkldnn_types.h:175
memory consumption – extra (scratch) memory, additional to all inputs and outputs memory (bytes) ...
Definition: mkldnn_types.h:1155
An batch normalization primitive.
Definition: mkldnn_types.h:428
Definition: mkldnn_types.h:439
A descriptor of a pooling operation.
Definition: mkldnn_types.h:775
mkldnn_dims_t strides
Pooling kernel strides for spatial dimensions.
Definition: mkldnn_types.h:795
deconvolution descriptor
Definition: mkldnn_types.h:1166
blocked weights format
Definition: mkldnn_types.h:312
int softmax_axis
The axis along which to perform the softmax.
Definition: mkldnn_types.h:771
mkldnn_memory_desc_t diff_dst_iter_desc
Destination gradient iteration memory descriptor.
Definition: mkldnn_types.h:985
8-bit signed integer.
Definition: mkldnn_types.h:72
The data in padding regions is zero.
Definition: mkldnn_types.h:365
mkldnn_memory_desc_t variance_desc
Definition: mkldnn_types.h:860
source memory primitive desc
Definition: mkldnn_types.h:1182
mkldnn_primitive_kind_t
Kinds of primitives.
Definition: mkldnn_types.h:396
RNN packed weights (unused)
Definition: mkldnn_types.h:354
Winograd deconvolution.
Definition: mkldnn_types.h:478
number of inputs expected
Definition: mkldnn_types.h:1151
struct mkldnn_engine * mkldnn_engine_t
An engine handle.
Definition: mkldnn_types.h:1005
mkldnn_memory_desc_t weights_desc
Weights memory descriptor.
Definition: mkldnn_types.h:880
An unspecified engine.
Definition: mkldnn_types.h:1199
A view primitive.
Definition: mkldnn_types.h:402
Description of tensor of weights for winograd 2x3 convolution.
Definition: mkldnn_types.h:590
blocked weights format
Definition: mkldnn_types.h:284
Average pooling exclude padding.
Definition: mkldnn_types.h:469
Definition: mkldnn_types.h:913
Forward data propagation (inference mode).
Definition: mkldnn_types.h:379
6D grouped weights tensor with the physical layout goidhw, used in Caffe.
Definition: mkldnn_types.h:211
5D weights tensor with physical layout iodhw, used in Caffe.
Definition: mkldnn_types.h:193
Definition: mkldnn_types.h:584
Direct deconvolution.
Definition: mkldnn_types.h:476
Eltwise: abs.
Definition: mkldnn_types.h:453
blocked weights format
Definition: mkldnn_types.h:322
mkldnn_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: mkldnn_types.h:681
blocked weights format
Definition: mkldnn_types.h:272
5D grouped weights tensor with the physical layout hwigo, used in TensorFlow.
Definition: mkldnn_types.h:207
stub
Definition: mkldnn_types.h:1179
int ic
Definition: mkldnn_types.h:594
blocked weights format
Definition: mkldnn_types.h:330
The operation failed because requested functionality is not implemented.
Definition: mkldnn_types.h:52
Eltwise: hyperbolic tangent non-linearity (tanh)
Definition: mkldnn_types.h:447
mkldnn_memory_desc_t diff_dst_desc
Destination gradient memory descriptor.
Definition: mkldnn_types.h:890
blocked weights format
Definition: mkldnn_types.h:311
2D data tensor.
Definition: mkldnn_types.h:148
float adj_scale
Definition: mkldnn_types.h:600
Primitive or engine failed on execution.
Definition: mkldnn_types.h:56
memory descriptor for memory and view
Definition: mkldnn_types.h:1164
const struct mkldnn_post_ops * const_mkldnn_post_ops_t
A constant post operation chain handle.
Definition: mkldnn_types.h:1090
An LRN primitive.
Definition: mkldnn_types.h:426
Definition: mkldnn_types.h:939
mkldnn_padding_kind_t
Kinds of padding.
Definition: mkldnn_types.h:363
mkldnn_memory_desc_t dst_desc
Destination memory descriptor.
Definition: mkldnn_types.h:791
Lazy stream.
Definition: mkldnn_types.h:1203
blocked weights format
Definition: mkldnn_types.h:334
blocked weights format
Definition: mkldnn_types.h:254
mkldnn_memory_desc_t diff_src_iter_desc
Source gradient iter memory descriptor.
Definition: mkldnn_types.h:975
5D RNN weights tensor in the format (num_layers, num_directions, num_gates, output_channels, input_channels).
Definition: mkldnn_types.h:232
blocked weights format
Definition: mkldnn_types.h:304
const struct mkldnn_primitive_desc * const_mkldnn_primitive_desc_t
A constant primitive descriptor handle.
Definition: mkldnn_types.h:1042
shuffle descriptor
Definition: mkldnn_types.h:1167
Forward data propagation (training mode).
Definition: mkldnn_types.h:375
mkldnn_convolution_desc_t convolution_desc
A descriptor of a convolution operation.
Definition: mkldnn_types.h:901
3D data tensor with the physical layout nwc.
Definition: mkldnn_types.h:154
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:144
mkldnn_data_type_t
Data type specification.
Definition: mkldnn_types.h:62
convolution descriptor
Definition: mkldnn_types.h:1165
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:950
mkldnn_eltwise_desc_t mkldnn_relu_desc_t
Definition: mkldnn_types.h:756
mkldnn_memory_desc_t src_desc
Source memory descriptor.
Definition: mkldnn_types.h:787
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:843
blocked weights format
Definition: mkldnn_types.h:295
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:720
mkldnn_alg_kind_t alg_kind
The kind of eltwise algorithm.
Definition: mkldnn_types.h:730
blocked weights format
Definition: mkldnn_types.h:288
mkldnn_memory_desc_t diff_src_layer_desc
Source gradient layer memory descriptor.
Definition: mkldnn_types.h:973
Eltwise: bounded_relu.
Definition: mkldnn_types.h:459
mkldnn_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: mkldnn_types.h:882
Definition: mkldnn_types.h:936
mkldnn_prop_kind_t prop_kind
The kind of propagation.
Definition: mkldnn_types.h:662
mkldnn_engine_kind_t
Kinds of engines.
Definition: mkldnn_types.h:994
Definition: mkldnn_types.h:909
Queried element is not required for given primitive.
Definition: mkldnn_types.h:58
blocked weights format
Definition: mkldnn_types.h:347
Weights format used in 8bit Winograd convolution.
Definition: mkldnn_types.h:351
Generic description of blocked data layout for most memory formats.
Definition: mkldnn_types.h:562
Round nearest.
Definition: mkldnn_types.h:80
blocked weights format
Definition: mkldnn_types.h:346
const void * const_mkldnn_op_desc_t
A pointer to any of the operation descriptors (constant variant).
Definition: mkldnn_types.h:610
blocked weights format
Definition: mkldnn_types.h:253
blocked weights format
Definition: mkldnn_types.h:343
int r
Definition: mkldnn_types.h:592
A reorder primitive.
Definition: mkldnn_types.h:404
blocked weights format
Definition: mkldnn_types.h:331
blocked weights format
Definition: mkldnn_types.h:291
An unspecified engine.
Definition: mkldnn_types.h:996
blocked weights format
Definition: mkldnn_types.h:307
blocked weights format
Definition: mkldnn_types.h:332
int oc2_block
Definition: mkldnn_types.h:599
blocked weights format
Definition: mkldnn_types.h:321
mkldnn_alg_kind_t
Kinds of algorithms.
Definition: mkldnn_types.h:438
int mkldnn_dims_t[TENSOR_MAX_DIMS]
A type to describe tensor dimensions.
Definition: mkldnn_types.h:555
inner product descriptor
Definition: mkldnn_types.h:1174
mkldnn_memory_desc_t bias_desc
Bias memory descriptor.
Definition: mkldnn_types.h:884
A pooling primitive.
Definition: mkldnn_types.h:424
weights memory primitive descriptor desc
Definition: mkldnn_types.h:1184
output memory primitive desc
Definition: mkldnn_types.h:1181
mkldnn_memory_desc_t data_desc
Source and destination memory descriptor.
Definition: mkldnn_types.h:821
5D weights tensor with physical layout dhwio, used in TensorFlow.
Definition: mkldnn_types.h:196
blocked weights format
Definition: mkldnn_types.h:281
Forward data propagation (alias for mkldnn_forward_training)
Definition: mkldnn_types.h:383
3D RNN data tensor in the format (batch, seq_length, input channels).
Definition: mkldnn_types.h:213
lrn descriptor
Definition: mkldnn_types.h:1172
struct mkldnn_primitive_desc * mkldnn_primitive_desc_t
A primitive descriptor handle.
Definition: mkldnn_types.h:1039
workspace memory primitive desc
Definition: mkldnn_types.h:1188
mkldnn_memory_desc_t diff_weights_desc
Weights gradient memory descriptor.
Definition: mkldnn_types.h:673
blocked weights format
Definition: mkldnn_types.h:258
mkldnn_alg_kind_t alg_kind
The kind of the convolution algorithm.
Definition: mkldnn_types.h:665
blocked weights format
Definition: mkldnn_types.h:296
weights format with additional buffer size equal to the number of output channels and containing the ...
Definition: mkldnn_types.h:268
Definition: mkldnn_types.h:1169
weights grad.
Definition: mkldnn_types.h:1185
mkldnn_memory_desc_t diff_dst_layer_desc
Destination gradient layer memory descriptor.
Definition: mkldnn_types.h:983
4D data tensor with the physical layout nchw, used in Caffe.
Definition: mkldnn_types.h:157
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:778
mkldnn_memory_desc_t diff_weights_iter_desc
Weights gradient iter memory descriptor.
Definition: mkldnn_types.h:979
mkldnn_primitive_kind_t primitive_kind
The kind of primitive.
Definition: mkldnn_types.h:870
primitive kind
Definition: mkldnn_types.h:1149
blocked data format
Definition: mkldnn_types.h:244
RNN packed weights (unused)
Definition: mkldnn_types.h:355
mkldnn_memory_desc_t diff_bias_desc
Bias gradient memory descriptor.
Definition: mkldnn_types.h:886
mkldnn_dims_t block_dims
Block size for each of the dimensions.
Definition: mkldnn_types.h:564
blocked weights format
Definition: mkldnn_types.h:279
struct mkldnn_primitive_attr * mkldnn_primitive_attr_t
A primitive descriptor attributes handle that controls primitive behavior.
Definition: mkldnn_types.h:1060
An opaque structure to describe a primitive descriptor iterator .
Tensor of weights for 4x3 convolution.
Definition: mkldnn_types.h:586