C API types definitions. More...
Go to the source code of this file.
Classes | |
| struct | dnnl_blocking_desc_t |
| Generic description of blocked data layout for most memory formats. More... | |
| struct | dnnl_wino_desc_t |
| Description of tensor of weights for winograd 2x3 convolution. More... | |
| struct | dnnl_rnn_packed_desc_t |
| Description of tensor of packed weights for rnn. More... | |
| struct | dnnl_memory_extra_desc_t |
| Description of extra information stored in memory. More... | |
| struct | dnnl_memory_desc_t |
| Memory descriptor. More... | |
| struct | dnnl_convolution_desc_t |
| A descriptor of a convolution operation. More... | |
| struct | dnnl_shuffle_desc_t |
| A descriptor of a shuffle operation. More... | |
| struct | dnnl_eltwise_desc_t |
| A descriptor of a element-wise operation. More... | |
| struct | dnnl_softmax_desc_t |
| A descriptor of a Softmax operation. More... | |
| struct | dnnl_pooling_desc_t |
| A descriptor of a pooling operation. More... | |
| struct | dnnl_pooling_v2_desc_t |
| A descriptor of a pooling operation. More... | |
| struct | dnnl_lrn_desc_t |
| A descriptor of a Local Response Normalization (LRN) operation. More... | |
| struct | dnnl_batch_normalization_desc_t |
| A descriptor of a Batch Normalization operation. More... | |
| struct | dnnl_layer_normalization_desc_t |
| A descriptor of a Layer Normalization operation. More... | |
| struct | dnnl_inner_product_desc_t |
| A descriptor of an inner product operation. More... | |
| struct | dnnl_rnn_desc_t |
| A descriptor for an RNN operation. More... | |
| struct | dnnl_binary_desc_t |
| A descriptor of a binary operation. More... | |
| struct | dnnl_matmul_desc_t |
| A descriptor of a matrix multiplication operation. More... | |
| struct | dnnl_resampling_desc_t |
| A descriptor of resampling operation. More... | |
| struct | dnnl_reduction_desc_t |
| A descriptor of reduction operation. More... | |
| struct | dnnl_exec_arg_t |
| A structure that contains an index and a memory object, and is used to pass arguments to dnnl_primitive_execute(). More... | |
| struct | dnnl_version_t |
| Structure containing version information as per Semantic Versioning More... | |
Macros | |
| #define | DNNL_MAX_NDIMS 12 |
| Maximum number of dimensions a tensor can have. More... | |
| #define | DNNL_RUNTIME_DIM_VAL INT64_MIN |
| A wildcard value for dimensions that are unknown at a primitive creation time. | |
| #define | DNNL_RUNTIME_SIZE_VAL ((size_t)DNNL_RUNTIME_DIM_VAL) |
A size_t counterpart of the DNNL_RUNTIME_DIM_VAL. More... | |
| #define | DNNL_RUNTIME_F32_VAL (DNNL_RUNTIME_F32_VAL_REP.f) |
| A wildcard value for floating point values that are unknown at a primitive creation time. | |
| #define | DNNL_RUNTIME_S32_VAL DNNL_RUNTIME_S32_VAL_REP |
| A wildcard value for int32_t values that are unknown at a primitive creation time. | |
| #define | DNNL_RNN_MAX_N_PARTS 4 |
| Maximum number of parts of RNN weights tensor that require separate computation. | |
| #define | DNNL_MEMORY_NONE (NULL) |
| Special pointer value that indicates that a memory object should not have an underlying buffer. | |
| #define | DNNL_MEMORY_ALLOCATE ((void *)(size_t)-1) |
| Special pointer value that indicates that the library needs to allocate an underlying buffer for a memory object. | |
| #define | DNNL_ARG_SRC_0 1 |
| Source argument #0. | |
| #define | DNNL_ARG_SRC DNNL_ARG_SRC_0 |
| A special mnemonic for source argument for primitives that have a single source. More... | |
| #define | DNNL_ARG_SRC_LAYER DNNL_ARG_SRC_0 |
| A special mnemonic for RNN input vector. More... | |
| #define | DNNL_ARG_FROM DNNL_ARG_SRC_0 |
| A special mnemonic for reorder source argument. More... | |
| #define | DNNL_ARG_SRC_1 2 |
| Source argument #1. | |
| #define | DNNL_ARG_SRC_ITER DNNL_ARG_SRC_1 |
| A special mnemonic for RNN input recurrent hidden state vector. More... | |
| #define | DNNL_ARG_SRC_2 3 |
| Source argument #2. | |
| #define | DNNL_ARG_SRC_ITER_C DNNL_ARG_SRC_2 |
| A special mnemonic for RNN input recurrent cell state vector. More... | |
| #define | DNNL_ARG_DST_0 17 |
| Destination argument #0. | |
| #define | DNNL_ARG_DST DNNL_ARG_DST_0 |
| A special mnemonic for destination argument for primitives that have a single destination. More... | |
| #define | DNNL_ARG_TO DNNL_ARG_DST_0 |
| A special mnemonic for reorder destination argument. More... | |
| #define | DNNL_ARG_DST_LAYER DNNL_ARG_DST_0 |
| A special mnemonic for RNN output vector. An alias for DNNL_ARG_DST_0. | |
| #define | DNNL_ARG_DST_1 18 |
| Destination argument #1. | |
| #define | DNNL_ARG_DST_ITER DNNL_ARG_DST_1 |
| A special mnemonic for RNN input recurrent hidden state vector. More... | |
| #define | DNNL_ARG_DST_2 19 |
| Destination argument #2. | |
| #define | DNNL_ARG_DST_ITER_C DNNL_ARG_DST_2 |
| A special mnemonic for LSTM output recurrent cell state vector. More... | |
| #define | DNNL_ARG_WEIGHTS_0 33 |
| Weights argument #0. | |
| #define | DNNL_ARG_WEIGHTS DNNL_ARG_WEIGHTS_0 |
| A special mnemonic for primitives that have a single weights argument. More... | |
| #define | DNNL_ARG_SCALE_SHIFT DNNL_ARG_WEIGHTS_0 |
| A special mnemonic for scale and shift argument of normalization primitives. More... | |
| #define | DNNL_ARG_WEIGHTS_LAYER DNNL_ARG_WEIGHTS_0 |
| A special mnemonic for RNN weights applied to the layer input. More... | |
| #define | DNNL_ARG_WEIGHTS_1 34 |
| Weights argument #1. | |
| #define | DNNL_ARG_WEIGHTS_ITER DNNL_ARG_WEIGHTS_1 |
| A special mnemonic for RNN weights applied to the recurrent input. More... | |
| #define | DNNL_ARG_WEIGHTS_2 35 |
| Weights argument #2. | |
| #define | DNNL_ARG_WEIGHTS_PEEPHOLE DNNL_ARG_WEIGHTS_2 |
| A special mnemonic for RNN weights applied to the peephole weights. More... | |
| #define | DNNL_ARG_WEIGHTS_3 36 |
| Weights argument #3. | |
| #define | DNNL_ARG_WEIGHTS_PROJECTION DNNL_ARG_WEIGHTS_3 |
| A special mnemonic for RNN weights applied to the projection weights. More... | |
| #define | DNNL_ARG_BIAS 41 |
| Bias tensor argument. | |
| #define | DNNL_ARG_MEAN 49 |
| Mean values tensor argument. | |
| #define | DNNL_ARG_VARIANCE 50 |
| Variance values tensor argument. | |
| #define | DNNL_ARG_SCALE 51 |
| A special mnemonic for scale argument of normalization primitives. | |
| #define | DNNL_ARG_SHIFT 52 |
| A special mnemonic for shift argument of normalization primitives. | |
| #define | DNNL_ARG_WORKSPACE 64 |
| Workspace tensor argument. More... | |
| #define | DNNL_ARG_SCRATCHPAD 80 |
| Scratchpad (temporary storage) tensor argument. | |
| #define | DNNL_ARG_DIFF_SRC_0 129 |
| Gradient (diff) of the source argument #0. | |
| #define | DNNL_ARG_DIFF_SRC DNNL_ARG_DIFF_SRC_0 |
| A special mnemonic for primitives that have a single diff source argument. More... | |
| #define | DNNL_ARG_DIFF_SRC_LAYER DNNL_ARG_DIFF_SRC_0 |
| A special mnemonic for gradient (diff) of RNN input vector. More... | |
| #define | DNNL_ARG_DIFF_SRC_1 130 |
| Gradient (diff) of the source argument #1. | |
| #define | DNNL_ARG_DIFF_SRC_ITER DNNL_ARG_DIFF_SRC_1 |
| A special mnemonic for gradient (diff) of RNN input recurrent hidden state vector. More... | |
| #define | DNNL_ARG_DIFF_SRC_2 131 |
| Gradient (diff) of the source argument #2. | |
| #define | DNNL_ARG_DIFF_SRC_ITER_C DNNL_ARG_DIFF_SRC_2 |
| A special mnemonic for gradient (diff) of RNN input recurrent cell state vector. More... | |
| #define | DNNL_ARG_DIFF_DST_0 145 |
| Gradient (diff) of the destination argument #0. | |
| #define | DNNL_ARG_DIFF_DST DNNL_ARG_DIFF_DST_0 |
| A special mnemonic for primitives that have a single diff destination argument. More... | |
| #define | DNNL_ARG_DIFF_DST_LAYER DNNL_ARG_DIFF_DST_0 |
| A special mnemonic for gradient (diff) of RNN output vector. More... | |
| #define | DNNL_ARG_DIFF_DST_1 146 |
| Gradient (diff) of the destination argument #1. | |
| #define | DNNL_ARG_DIFF_DST_ITER DNNL_ARG_DIFF_DST_1 |
| A special mnemonic for gradient (diff) of RNN input recurrent hidden state vector. More... | |
| #define | DNNL_ARG_DIFF_DST_2 147 |
| Gradient (diff) of the destination argument #2. | |
| #define | DNNL_ARG_DIFF_DST_ITER_C DNNL_ARG_DIFF_DST_2 |
| A special mnemonic for gradient (diff) of RNN input recurrent cell state vector. More... | |
| #define | DNNL_ARG_DIFF_WEIGHTS_0 161 |
| Gradient (diff) of the weights argument #0. | |
| #define | DNNL_ARG_DIFF_WEIGHTS DNNL_ARG_DIFF_WEIGHTS_0 |
| A special mnemonic for primitives that have a single diff weights argument. More... | |
| #define | DNNL_ARG_DIFF_SCALE_SHIFT DNNL_ARG_DIFF_WEIGHTS_0 |
| A special mnemonic for diff of scale and shift argument of normalization primitives. More... | |
| #define | DNNL_ARG_DIFF_WEIGHTS_LAYER DNNL_ARG_DIFF_WEIGHTS_0 |
| A special mnemonic for diff of RNN weights applied to the layer input. More... | |
| #define | DNNL_ARG_DIFF_WEIGHTS_1 162 |
| Gradient (diff) of the weights argument #1. | |
| #define | DNNL_ARG_DIFF_WEIGHTS_ITER DNNL_ARG_DIFF_WEIGHTS_1 |
| A special mnemonic for diff of RNN weights applied to the recurrent input. More... | |
| #define | DNNL_ARG_DIFF_WEIGHTS_2 163 |
| Gradient (diff) of the weights argument #2. | |
| #define | DNNL_ARG_DIFF_WEIGHTS_PEEPHOLE DNNL_ARG_DIFF_WEIGHTS_2 |
| A special mnemonic for diff of RNN weights applied to the peephole weights. More... | |
| #define | DNNL_ARG_DIFF_WEIGHTS_3 164 |
| Gradient (diff) of the weights argument #3. | |
| #define | DNNL_ARG_DIFF_WEIGHTS_PROJECTION DNNL_ARG_DIFF_WEIGHTS_3 |
| A special mnemonic for diff of RNN weights applied to the projection weights. More... | |
| #define | DNNL_ARG_DIFF_BIAS 169 |
| Gradient (diff) of the bias tensor argument. | |
| #define | DNNL_ARG_DIFF_SCALE 255 |
| A special mnemonic for scale argument of normalization primitives. | |
| #define | DNNL_ARG_DIFF_SHIFT 256 |
| A special mnemonic for shift argument of normalization primitives. | |
| #define | DNNL_ARG_ATTR_OUTPUT_SCALES 513 |
| Output scaling factors provided at execution time. | |
| #define | DNNL_ARG_MULTIPLE_SRC 1024 |
| Starting index for source arguments for primitives that take a variable number of source arguments. | |
| #define | DNNL_ARG_MULTIPLE_DST 2048 |
| Starting index for destination arguments for primitives that produce a variable number of destination arguments. | |
| #define | DNNL_ARG_ATTR_ZERO_POINTS 4096 |
| Zero points provided at execution time. | |
| #define | DNNL_ARG_ATTR_POST_OP_DW 8192 |
| Arguments for fused depthwise convolution. More... | |
| #define | DNNL_ARG_ATTR_MULTIPLE_POST_OP_BASE 16384 |
| Starting point for a binary post operation. | |
| #define | DNNL_ARG_ATTR_MULTIPLE_POST_OP(idx) (DNNL_ARG_ATTR_MULTIPLE_POST_OP_BASE * ((idx) + 1)) |
| Arguments for a binary post operation. More... | |
| #define | DNNL_ARG_ATTR_INPUT_SCALES 1048576 |
| Input scaling factors provided at execution time. | |
| #define | DNNL_RUNTIME_NONE 0u |
| No runtime (disabled) | |
| #define | DNNL_RUNTIME_SEQ 1u |
| Sequential runtime (CPU only) | |
| #define | DNNL_RUNTIME_OMP 2u |
| OpenMP runtime (CPU only) | |
| #define | DNNL_RUNTIME_TBB 4u |
| TBB runtime (CPU only) | |
| #define | DNNL_RUNTIME_THREADPOOL 8u |
| Threadpool runtime (CPU only) | |
| #define | DNNL_RUNTIME_OCL 256u |
| OpenCL runtime. | |
| #define | DNNL_RUNTIME_SYCL 512u |
| SYCL runtime. | |
| #define | DNNL_RUNTIME_DPCPP DNNL_RUNTIME_SYCL |
| DPC++ runtime. | |
| #define | DNNL_JIT_PROFILE_NONE 0u |
| Disable profiling completely. | |
| #define | DNNL_JIT_PROFILE_VTUNE 1u |
| Enable VTune Amplifier integration. | |
| #define | DNNL_JIT_PROFILE_LINUX_PERFMAP 2u |
| Enable Linux perf integration via perfmap files. | |
| #define | DNNL_JIT_PROFILE_LINUX_JITDUMP 4u |
| Enable Linux perf integration via jitdump files. | |
| #define | DNNL_JIT_PROFILE_LINUX_JITDUMP_USE_TSC 8u |
| Instruct Linux perf integration via jitdump files to use TSC. More... | |
| #define | DNNL_JIT_PROFILE_LINUX_PERF (DNNL_JIT_PROFILE_LINUX_JITDUMP | DNNL_JIT_PROFILE_LINUX_PERFMAP) |
| Enable Linux perf integration (both jitdump and perfmap) | |
Typedefs | |
| typedef int64_t | dnnl_dim_t |
| A type to describe tensor dimension. | |
| typedef dnnl_dim_t | dnnl_dims_t[DNNL_MAX_NDIMS] |
| A type to describe tensor dimensions. | |
| typedef struct dnnl_memory * | dnnl_memory_t |
| A memory handle. | |
| typedef const struct dnnl_memory * | const_dnnl_memory_t |
| A constant memory handle. | |
| typedef void * | dnnl_op_desc_t |
| A pointer to any of the operation descriptors. | |
| typedef const void * | const_dnnl_op_desc_t |
| A pointer to any of the operation descriptors (constant variant). | |
| typedef dnnl_convolution_desc_t | dnnl_deconvolution_desc_t |
| A descriptor of a deconvolution operation. | |
| typedef dnnl_softmax_desc_t | dnnl_logsoftmax_desc_t |
| A descriptor of a LogSoftmax operation. More... | |
| typedef struct dnnl_engine * | dnnl_engine_t |
| An engine handle. | |
| typedef struct dnnl_primitive_desc_iterator * | dnnl_primitive_desc_iterator_t |
| A primitive descriptor iterator handle. | |
| typedef const struct dnnl_primitive_desc_iterator * | const_dnnl_primitive_desc_iterator_t |
| A constant primitive descriptor iterator handle. | |
| typedef struct dnnl_primitive_desc * | dnnl_primitive_desc_t |
| A primitive descriptor handle. | |
| typedef const struct dnnl_primitive_desc * | const_dnnl_primitive_desc_t |
| A constant primitive descriptor handle. | |
| typedef struct dnnl_primitive_attr * | dnnl_primitive_attr_t |
| A primitive descriptor attributes handle that controls primitive behavior. | |
| typedef const struct dnnl_primitive_attr * | const_dnnl_primitive_attr_t |
| A constant primitive descriptor attributes handle. | |
| typedef struct dnnl_post_ops * | dnnl_post_ops_t |
| A post operation chain handle. | |
| typedef const struct dnnl_post_ops * | const_dnnl_post_ops_t |
| A constant post operation chain handle. | |
| typedef struct dnnl_primitive * | dnnl_primitive_t |
| A primitive handle. | |
| typedef const struct dnnl_primitive * | const_dnnl_primitive_t |
| A constant primitive handle. | |
| typedef struct dnnl_stream * | dnnl_stream_t |
| An execution stream handle. | |
| typedef const struct dnnl_stream * | const_dnnl_stream_t |
| A constant execution stream handle. | |
Enumerations | |
| enum | dnnl_status_t |
| Status values returned by the library functions. More... | |
| enum | dnnl_data_type_t |
| Data type specification. More... | |
| enum | dnnl_format_kind_t |
| Memory format kind. More... | |
| enum | dnnl_format_tag_t |
| Memory format tag specification. More... | |
| enum | dnnl_prop_kind_t |
| Kinds of propagation. More... | |
| enum | dnnl_primitive_kind_t |
| Kinds of primitives. More... | |
| enum | dnnl_alg_kind_t |
| Kinds of algorithms. More... | |
| enum | dnnl_normalization_flags_t |
| Flags for normalization primitives. More... | |
| enum | dnnl_wino_memory_format_t |
| Winograd-specific formats. More... | |
| enum | dnnl_memory_extra_flags_t |
| Flags for memory special features. More... | |
| enum | dnnl_rnn_flags_t |
| Flags for RNN cell. More... | |
| enum | dnnl_rnn_direction_t |
| A direction of RNN primitive execution. More... | |
| enum | dnnl_engine_kind_t |
| Kinds of engines. More... | |
| enum | dnnl_scratchpad_mode_t |
| Scratchpad mode. More... | |
| enum | dnnl_query_t |
| Primitive descriptor query specification. More... | |
| enum | dnnl_stream_flags_t |
| Stream flags. More... | |
| enum | dnnl_cpu_isa_t |
| CPU instruction set flags. More... | |
| enum | dnnl_cpu_isa_hints_t |
| CPU ISA hints flags. More... | |
C API types definitions.