Deep Neural Network Library (DNNL)  1.1.3
Performance library for Deep Learning
Classes | Macros | Typedefs | Enumerations
Memory

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_memory
 An opaque structure to describe a memory. More...
 

Macros

#define DNNL_MAX_NDIMS   12
 Maximum number of dimensions a tensor can have. More...
 
#define DNNL_RNN_MAX_N_PARTS   4
 Maximum number of parts of RNN weights tensor that require separate computation. More...
 

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_memorydnnl_memory_t
 A memory handle.
 
typedef const struct dnnl_memoryconst_dnnl_memory_t
 A constant memory handle.
 

Enumerations

enum  dnnl_wino_memory_format_t {
  dnnl_wino_undef = 0, dnnl_wino_wei_aaOIoi, dnnl_wino_wei_aaOio, dnnl_wino_wei_aaOBiOo,
  dnnl_wino_wei_OBaaIBOIio
}
 Winograd-specific formats. More...
 
enum  dnnl_memory_extra_flags_t { , dnnl_memory_extra_flag_compensation_conv_s8s8 = 0x1U }
 Flags for memory special features. More...
 

Detailed Description

Macro Definition Documentation

◆ DNNL_MAX_NDIMS

#define DNNL_MAX_NDIMS   12

Maximum number of dimensions a tensor can have.

Only restricts the amount of space used for the tensor description. Individual computational primitives may support only tensors of certain dimensions.

◆ DNNL_RNN_MAX_N_PARTS

#define DNNL_RNN_MAX_N_PARTS   4

Maximum number of parts of RNN weights tensor that require separate computation.

Enumeration Type Documentation

◆ dnnl_wino_memory_format_t

Winograd-specific formats.

Enumerator
dnnl_wino_undef 

Undefined memory format, used for empty memory descriptors.

dnnl_wino_wei_aaOIoi 

Internal weights format for 2x3 Winograd.

dnnl_wino_wei_aaOio 

Internal weights format for 2x3 Winograd.

dnnl_wino_wei_aaOBiOo 

Internal weights format for 2x3 Winograd.

dnnl_wino_wei_OBaaIBOIio 

Internal weights format for 4x3 Winograd.

◆ dnnl_memory_extra_flags_t

Flags for memory special features.

Enumerator
dnnl_memory_extra_flag_compensation_conv_s8s8 

Indicates the weights have an additional buffer, that depends on the compensation_mask.

For instance, in 4D case with the compensation mask equals (1 << 0) the additional buffer would consist of OC values: O[oc : 0,OC] = -128 * SUM(ic : 0,IC; kh : 0,KH; kw : 0,KW){ weights(oc, ic, kh, kw) }