Deep Neural Network Library (DNNL)  1.1.3
Performance library for Deep Learning
Classes | Enumerations
dnnl.hpp File Reference

C++ API. More...

#include "dnnl_config.h"

Go to the source code of this file.

Classes

struct  dnnl::error
 DNNL exception class. More...
 
class  dnnl::handle_traits< T >
 A class that provides the destructor for an DNNL C handle. More...
 
class  dnnl::handle< T, traits >
 A class for wrapping an DNNL handle. More...
 
class  dnnl::primitive
 Base class for all computational primitives. More...
 
struct  dnnl::post_ops
 Post operations. More...
 
struct  dnnl::primitive_attr
 Primitive attributes. More...
 
struct  dnnl::engine
 An execution engine. More...
 
struct  dnnl::stream
 An execution stream. More...
 
struct  dnnl::memory
 Memory that describes the data. More...
 
struct  dnnl::memory::desc
 A memory descriptor. More...
 
struct  dnnl::primitive_desc_base
 The base class for all primitive descriptors. More...
 
struct  dnnl::reorder
 Initializes a reorder primitive using the description of the source (src_engine and src_md) and destination (dst_engine and dst_md) memory, and an attr attribute. More...
 
struct  dnnl::concat
 Implements primitive descriptor and primitive for concat. More...
 
struct  dnnl::sum
 Creates an out-of-place sum primitive descriptor for sum of n inputs multiplied by the scale with resulting output_desc memory descriptor. More...
 
struct  dnnl::primitive_desc
 A base class for descriptors of all primitives that have an operation descriptor and that support iteration over multiple implementations. More...
 
struct  dnnl::convolution_forward
 Convolution forward propagation. More...
 
struct  dnnl::convolution_forward::desc
 Descriptor for convolution forward propagation. More...
 
struct  dnnl::convolution_forward::primitive_desc
 Primitive descriptor for convolution forward propagation. More...
 
struct  dnnl::convolution_backward_data
 Convolution backward propagation. More...
 
struct  dnnl::convolution_backward_data::desc
 Descriptor for convolution backward propagation. More...
 
struct  dnnl::convolution_backward_data::primitive_desc
 Primitive descriptor for convolution backward propagation. More...
 
struct  dnnl::convolution_backward_weights
 Convolution weight update. More...
 
struct  dnnl::convolution_backward_weights::desc
 Descriptor for convolution weight update. More...
 
struct  dnnl::convolution_backward_weights::primitive_desc
 Primitive descriptor for convolution weight update. More...
 
struct  dnnl::deconvolution_forward
 Deconvolution forward propagation. More...
 
struct  dnnl::deconvolution_forward::desc
 Descriptor for convolution forward propagation. More...
 
struct  dnnl::deconvolution_forward::primitive_desc
 Primitive descriptor for deconvolution forward propagation. More...
 
struct  dnnl::deconvolution_backward_data
 Deconvolution backward propagation. More...
 
struct  dnnl::deconvolution_backward_data::desc
 Descriptor for deconvolution backward propagation. More...
 
struct  dnnl::deconvolution_backward_data::primitive_desc
 Primitive descriptor for deconvolution backward propagation. More...
 
struct  dnnl::deconvolution_backward_weights
 Deconvolution weight update. More...
 
struct  dnnl::deconvolution_backward_weights::desc
 Descriptor for deconvolution weight update. More...
 
struct  dnnl::deconvolution_backward_weights::primitive_desc
 Primitive descriptor for deconvolution weight update. More...
 
struct  dnnl::lrn_forward
 Local response normalization for forward propagation. More...
 
struct  dnnl::lrn_forward::desc
 Descriptor for local response normalization forward propagation. More...
 
struct  dnnl::lrn_forward::primitive_desc
 Primitive descriptor for local response normalization forward propagation. More...
 
struct  dnnl::lrn_backward
 Local response normalization for backward propagation. More...
 
struct  dnnl::lrn_backward::desc
 Descriptor for local response normalization backward propagation. More...
 
struct  dnnl::lrn_backward::primitive_desc
 Primitive descriptor for local response normalization backward propagation. More...
 
struct  dnnl::pooling_forward
 Pooling for forward propagation. More...
 
struct  dnnl::pooling_forward::desc
 Descriptor for pooling forward propagation. More...
 
struct  dnnl::pooling_forward::primitive_desc
 Primitive descriptor for pooling forward propagation. More...
 
struct  dnnl::pooling_backward::desc
 Descriptor for pooling backward propagation. More...
 
struct  dnnl::pooling_backward::primitive_desc
 Primitive descriptor for pooling backward propagation. More...
 
struct  dnnl::eltwise_forward
 Element-wise operations for forward propagation. More...
 
struct  dnnl::eltwise_forward::desc
 Initializes an eltwise descriptor for forward propagation using prop_kind (possible values are dnnl::forward_training and dnnl::forward_inference), aalgorithm algorithm, memory descriptor data_desc, alpha, and beta parameters. More...
 
struct  dnnl::eltwise_forward::primitive_desc
 Primitive descriptor for eltwise forward propagation. More...
 
struct  dnnl::eltwise_backward
 Element-wise operations for backward propagation. More...
 
struct  dnnl::eltwise_backward::desc
 Initializes an eltwise descriptor for backward propagation using aalgorithm algorithm memory descriptors diff_data_desc and data_desc, and the alpha and beta parameters. More...
 
struct  dnnl::eltwise_backward::primitive_desc
 Primitive descriptor for eltwise backward propagation. More...
 
struct  dnnl::softmax_forward
 Softmax for forward propagation. More...
 
struct  dnnl::softmax_forward::desc
 Descriptor for softmax forward propagation. More...
 
struct  dnnl::softmax_forward::primitive_desc
 Primitive descriptor for softmax forward propagation. More...
 
struct  dnnl::softmax_backward
 Softmax for backward propagation. More...
 
struct  dnnl::softmax_backward::desc
 Descriptor for softmax backward propagation. More...
 
struct  dnnl::softmax_backward::primitive_desc
 Primitive descriptor for softmax backward propagation. More...
 
struct  dnnl::batch_normalization_forward
 Batch normalization for forward propagation. More...
 
struct  dnnl::batch_normalization_forward::desc
 Descriptor for batch normalization forward propagation. More...
 
struct  dnnl::batch_normalization_forward::primitive_desc
 Primitive descriptor for batch normalization forward propagation. More...
 
struct  dnnl::batch_normalization_backward
 Batch normalization backward propagation. More...
 
struct  dnnl::batch_normalization_backward::desc
 Descriptor for batch normalization backward propagation. More...
 
struct  dnnl::batch_normalization_backward::primitive_desc
 Primitive descriptor for batch normalization backward propagation. More...
 
struct  dnnl::layer_normalization_forward
 layer normalization for forward propagation. More...
 
struct  dnnl::layer_normalization_forward::desc
 Descriptor for layer normalization forward propagation. More...
 
struct  dnnl::layer_normalization_forward::primitive_desc
 Primitive descriptor for layer normalization forward propagation. More...
 
struct  dnnl::layer_normalization_backward
 layer normalization backward propagation. More...
 
struct  dnnl::layer_normalization_backward::desc
 Descriptor for layer normalization backward propagation. More...
 
struct  dnnl::layer_normalization_backward::primitive_desc
 Primitive descriptor for layer normalization backward propagation. More...
 
struct  dnnl::inner_product_forward
 Inner product for forward propagation. More...
 
struct  dnnl::inner_product_forward::desc
 Initializes an inner product descriptor for forward propagation using prop_kind (possible values are dnnl::prop_kind::forward_training and dnnl::prop_kind::forward_inference) and memory descriptors. More...
 
struct  dnnl::inner_product_forward::primitive_desc
 Primitive descriptor for inner product forward propagation. More...
 
struct  dnnl::inner_product_backward_data
 Inner product for backward propagation with respect to data. More...
 
struct  dnnl::inner_product_backward_data::desc
 Initializes an inner product descriptor for backward propagation with respect to data using memory descriptors. More...
 
struct  dnnl::inner_product_backward_data::primitive_desc
 Primitive descriptor for inner product backward propagation with respect to data. More...
 
struct  dnnl::inner_product_backward_weights
 Inner product for backward propagation with respect to weights. More...
 
struct  dnnl::inner_product_backward_weights::desc
 Initializes an inner product descriptor for backward propagation with respect to weights using memory descriptors. More...
 
struct  dnnl::inner_product_backward_weights::primitive_desc
 Primitive descriptor for inner product backward propagation with respect to weights. More...
 
struct  dnnl::vanilla_rnn_forward
 Vanilla RNN for forward propagation. More...
 
struct  dnnl::vanilla_rnn_forward::desc
 Descriptor for RNN forward propagation. More...
 
struct  dnnl::vanilla_rnn_forward::primitive_desc
 Primitive descriptor for RNN forward propagation. More...
 
struct  dnnl::vanilla_rnn_backward
 Vanilla RNN for backward propagation. More...
 
struct  dnnl::vanilla_rnn_backward::desc
 RNN descriptor for backward propagation. More...
 
struct  dnnl::vanilla_rnn_backward::primitive_desc
 Primitive descriptor for RNN backward propagation. More...
 
struct  dnnl::lstm_forward
 LSTM for forward propagation. More...
 
struct  dnnl::lstm_forward::desc
 Descriptor for LSTM forward propagation. More...
 
struct  dnnl::lstm_forward::primitive_desc
 Primitive descriptor for LSTM forward propagation. More...
 
struct  dnnl::lstm_backward
 LSTM for backward propagation. More...
 
struct  dnnl::lstm_backward::desc
 LSTM descriptor for backward propagation. More...
 
struct  dnnl::lstm_backward::primitive_desc
 Primitive descriptor for LSTM backward propagation. More...
 
struct  dnnl::gru_forward
 GRU for forward propagation. More...
 
struct  dnnl::gru_forward::desc
 Descriptor for GRU forward propagation. More...
 
struct  dnnl::gru_forward::primitive_desc
 Primitive descriptor for GRU forward propagation. More...
 
struct  dnnl::gru_backward
 GRU for backward propagation. More...
 
struct  dnnl::gru_backward::desc
 GRU descriptor for backward propagation. More...
 
struct  dnnl::gru_backward::primitive_desc
 Primitive descriptor for GRU backward propagation. More...
 
struct  dnnl::lbr_gru_forward
 LBR_GRU for forward propagation. More...
 
struct  dnnl::lbr_gru_forward::desc
 Descriptor for LBR GRU forward propagation. More...
 
struct  dnnl::lbr_gru_forward::primitive_desc
 Primitive descriptor for LBR_GRU forward propagation. More...
 
struct  dnnl::lbr_gru_backward
 LBR_GRU for backward propagation. More...
 
struct  dnnl::lbr_gru_backward::desc
 LBR_GRU descriptor for backward propagation. More...
 
struct  dnnl::lbr_gru_backward::primitive_desc
 Primitive descriptor for LBR_GRU backward propagation. More...
 
struct  dnnl::shuffle_forward
 Shuffle for forward propagation. More...
 
struct  dnnl::shuffle_forward::desc
 Descriptor for shuffle forward propagation. More...
 
struct  dnnl::shuffle_forward::primitive_desc
 Primitive descriptor for shuffle forward propagation. More...
 
struct  dnnl::shuffle_backward
 Shuffle for backward propagation. More...
 
struct  dnnl::binary
 Implements descriptor, primitive descriptor, and primitive for the binary. More...
 
struct  dnnl::binary::desc
 Descriptor for binary. More...
 

Enumerations

enum  dnnl::scratchpad_mode { dnnl::scratchpad_mode::library = dnnl_scratchpad_mode_library, dnnl::scratchpad_mode::user = dnnl_scratchpad_mode_user }
 Scratchpad mode. More...
 
enum  dnnl::prop_kind {
  dnnl::prop_kind::undef = dnnl_prop_kind_undef, dnnl::prop_kind::forward_training = dnnl_forward_training, dnnl::prop_kind::forward_inference = dnnl_forward_inference, dnnl::prop_kind::forward_scoring = dnnl_forward_scoring,
  dnnl::prop_kind::forward = dnnl_forward, dnnl::prop_kind::backward = dnnl_backward, dnnl::prop_kind::backward_data = dnnl_backward_data, dnnl::prop_kind::backward_weights = dnnl_backward_weights,
  dnnl::prop_kind::backward_bias = dnnl_backward_bias
}
 Propagation kind. More...
 
enum  dnnl::algorithm { ,
  dnnl::algorithm::convolution_auto = dnnl_convolution_auto, dnnl::algorithm::convolution_direct = dnnl_convolution_direct, dnnl::algorithm::convolution_winograd = dnnl_convolution_winograd, dnnl::algorithm::deconvolution_direct = dnnl_deconvolution_direct,
  dnnl::algorithm::deconvolution_winograd = dnnl_deconvolution_winograd, dnnl::algorithm::eltwise_relu = dnnl_eltwise_relu, dnnl::algorithm::eltwise_tanh = dnnl_eltwise_tanh, dnnl::algorithm::eltwise_elu = dnnl_eltwise_elu,
  dnnl::algorithm::eltwise_square = dnnl_eltwise_square, dnnl::algorithm::eltwise_abs = dnnl_eltwise_abs, dnnl::algorithm::eltwise_sqrt = dnnl_eltwise_sqrt, dnnl::algorithm::eltwise_swish = dnnl_eltwise_swish,
  dnnl::algorithm::eltwise_linear = dnnl_eltwise_linear, dnnl::algorithm::eltwise_bounded_relu = dnnl_eltwise_bounded_relu, dnnl::algorithm::eltwise_soft_relu = dnnl_eltwise_soft_relu, dnnl::algorithm::eltwise_logistic = dnnl_eltwise_logistic,
  dnnl::algorithm::eltwise_exp = dnnl_eltwise_exp, dnnl::algorithm::eltwise_gelu = dnnl_eltwise_gelu, dnnl::algorithm::lrn_across_channels = dnnl_lrn_across_channels, dnnl::algorithm::lrn_within_channel = dnnl_lrn_within_channel,
  dnnl::algorithm::pooling_max = dnnl_pooling_max, dnnl::algorithm::pooling_avg = dnnl_pooling_avg, dnnl::algorithm::pooling_avg_include_padding = dnnl_pooling_avg_include_padding, dnnl::algorithm::pooling_avg_exclude_padding = dnnl_pooling_avg_exclude_padding,
  dnnl::algorithm::vanilla_rnn = dnnl_vanilla_rnn, dnnl::algorithm::vanilla_lstm = dnnl_vanilla_lstm, dnnl::algorithm::vanilla_gru = dnnl_vanilla_gru, dnnl::algorithm::lbr_gru = dnnl_lbr_gru,
  dnnl::algorithm::binary_add = dnnl_binary_add, dnnl::algorithm::binary_mul = dnnl_binary_mul
}
 Kinds of algorithms. More...
 
enum  dnnl::normalization_flags : unsigned { dnnl::normalization_flags::use_global_stats = dnnl_use_global_stats, dnnl::normalization_flags::use_scale_shift = dnnl_use_scaleshift, dnnl::normalization_flags::fuse_norm_relu = dnnl_fuse_norm_relu }
 Flags for batch normalization primitive. More...
 
enum  dnnl::query {
  dnnl::query::undef = dnnl_query_undef, dnnl::query::engine = dnnl_query_engine, dnnl::query::primitive_kind = dnnl_query_primitive_kind, dnnl::query::num_of_inputs_s32 = dnnl_query_num_of_inputs_s32,
  dnnl::query::num_of_outputs_s32 = dnnl_query_num_of_outputs_s32, dnnl::query::time_estimate_f64 = dnnl_query_time_estimate_f64, dnnl::query::memory_consumption_s64 = dnnl_query_memory_consumption_s64, dnnl::query::scratchpad_engine = dnnl_query_scratchpad_engine,
  dnnl::query::reorder_src_engine = dnnl_query_reorder_src_engine, dnnl::query::reorder_dst_engine = dnnl_query_reorder_dst_engine, dnnl::query::impl_info_str = dnnl_query_impl_info_str, dnnl::query::op_d = dnnl_query_op_d,
  dnnl::query::convolution_d = dnnl_query_convolution_d, dnnl::query::deconvolution_d = dnnl_query_deconvolution_d, dnnl::query::shuffle_d = dnnl_query_shuffle_d, dnnl::query::eltwise_d = dnnl_query_eltwise_d,
  dnnl::query::softmax_d = dnnl_query_softmax_d, dnnl::query::pooling_d = dnnl_query_pooling_d, dnnl::query::lrn_d = dnnl_query_lrn_d, dnnl::query::batch_normalization_d = dnnl_query_batch_normalization_d,
  dnnl::query::layer_normalization_d = dnnl_query_layer_normalization_d, dnnl::query::inner_product_d = dnnl_query_inner_product_d, dnnl::query::rnn_d = dnnl_query_rnn_d, dnnl::query::binary_d = dnnl_query_binary_d,
  dnnl::query::src_md = dnnl_query_src_md, dnnl::query::diff_src_md = dnnl_query_diff_src_md, dnnl::query::weights_md = dnnl_query_weights_md, dnnl::query::diff_weights_md = dnnl_query_diff_weights_md,
  dnnl::query::dst_md = dnnl_query_dst_md, dnnl::query::diff_dst_md = dnnl_query_diff_dst_md, dnnl::query::workspace_md = dnnl_query_workspace_md, dnnl::query::scratchpad_md = dnnl_query_scratchpad_md
}
 Primitive descriptor query specification. More...
 

Detailed Description

C++ API.