[−][src]Enum onednn_sys::dnnl_format_tag_t
Memory format tag specification.
oneDNN formats describe physical data layout. The physical layout
is described as a sequence of the dimensions as they are laid out in the
memory (from the outer-most to the inner-most). Note that this order
doesn't affect the logical order of the dimensions that is kept in the
dims
field of the dnnl_memory_desc_t structure. The logical order of the
dimensions is specified by the primitive that uses the tensor.
For example, CNN 5D tensor always has its logical dimensions in the order
(batch, channels, depth, height, width)
, while the physical layout might be
NCDHW
(corresponds to #dnnl_ncdhw format tag) or
NDHWC
(corresponds to #dnnl_ndhwc format tag).
int batch = 2, channels = 16, depth = 13, height = 13, width = 13;
int ndims = 5; // 5D tensor
dnnl_dims_t dims = {batch, channels, depth, height, width};
dnnl_memory_desc_t data_in_ncdhw;
dnnl_memory_desc_init_by_tag(
&data_in_ncdhw, 5, dims, dnnl_f32, dnnl_ncdhw);
// note that in both cases dims passed are the same
dnnl_memory_desc_t data_in_ndhwc;
dnnl_memory_desc_init_by_tag(
&data_in_ndhwc, 5, dims, dnnl_f32, dnnl_ndhwc);
Memory format tags can be further divided into two categories:
- Domain-agnostic names, i.e. names the do not depend on the tensor usage
in the specific primitive. These names use letters from
a
tol
to denote logical dimension from 1 to 12, and form the order in which the dimensions are laid in memory. For instance, #dnnl_ab is used to denote 2D tensor where the second logical dimension (akab
) is the innermost, i.e. has stride = 1, and the first logical dimension (a
) laid out in memory with stride equal to the size of second dimension. On the other hand, #dnnl_ba is just transposed version of the same tensor: the first dimension (a
) becomes the innermost one. - Domain-specific names, i.e. names that make sense only in the context of
a certain domain, such as CNN. This names are just aliases to the
corresponding domain-agnostic tags and used mostly for the convenience.
For example, #dnnl_nc is used to denote 2D CNN activations tensor
memory format, where channels are the innermost dimension and batch is an
outermost one. Moreover, #dnnl_nc is just an alias to #dnnl_ab,
since for oneDNN CNN primitives the logical dimensions of
activations tensors come in order: batch, channels, spatial.
In other words, batch corresponds to the first logical dimension (
a
), channels correspond to the second one (b
).
The following domain-specific notation applies to memory format tags:
- @c 'n' denotes the mini-batch dimension
- @c 'c' denotes a channels dimension
- When there are multiple channel dimensions (for example, in convolution weights tensor), @c 'i' and @c 'o' denote dimensions of input and output channels
- @c 'd', @c 'h', and @c 'w' denote spatial depth, height, and width respectively
Upper-case letters indicate that the data is laid out in blocks for a particular dimension. In such cases, the format name contains both upper- and lower-case letters for that dimension with a lower-case letter preceded by the block size. For example: #dnnl_nChw8c describes a format where the outermost dimension is mini-batch, followed by the channel block number, followed by the spatial height and width, and finally followed by 8-element channel blocks.
@sa @ref dev_guide_understanding_memory_formats
Variants (Non-exhaustive)
Undefined memory format tag
Undefined memory format tag. The primitive selects a format automatically.
< plain 1D tensor
< plain 2D tensor
< plain 3D tensor
< plain 4D tensor
< plain 5D tensor
< plain 6D tensor
< permuted 4D tensor
< permuted 5D tensor
< permuted 3D tensor
< permuted 5D tensor
< permuted 6D tensor
< permuted 4D tensor
< permuted 5D tensor
< permuted 2D tensor
< permuted 3D tensor
< permuted 4D tensor
< permuted 5D tensor
< permuted 3D tensor
< permuted 4D tensor
< permuted 5D tensor
< permuted 3D tensor
< permuted 4D tensor
< permuted 4D tensor
< permuted 5D tensor
< permuted 5D tensor
< permuted 6D tensor
3D tensor blocked by 2nd dimension with block size 16
3D tensor blocked by 2nd dimension with block size 16
3D tensor blocked by 2nd dimension with block size 16
3D tensor blocked by 2nd dimension with block size 32
3D tensor blocked by 2nd dimension with block size 4
3D tensor blocked by 2nd dimension with block size 4
3D tensor blocked by 2nd dimension with block size 4
3D tensor blocked by 2nd dimension with block size 4
3D tensor blocked by 2nd dimension with block size 4
3D tensor blocked by 2nd dimension with block size 4
3D tensor blocked by 2nd dimension with block size 4
3D tensor blocked by 2nd dimension with block size 8
3D tensor blocked by 2nd dimension with block size 8
3D tensor blocked by 2nd dimension with block size 8
3D tensor blocked by 2nd dimension with block size 8
3D tensor blocked by 2nd dimension with block size 8
3D tensor blocked by 2nd dimension with block size 8
3D tensor blocked by 2nd dimension with block size 8
3D tensor blocked by 2nd dimension with block size 8
3D tensor blocked by 2nd dimension with block size 8
4D tensor blocked by 2nd dimension with block size 16
4D tensor blocked by 2nd dimension with block size 16
4D tensor blocked by 2nd dimension with block size 16
4D tensor blocked by 2nd dimension with block size 16
4D tensor blocked by 2nd dimension with block size 16
4D tensor blocked by 2nd dimension with block size 32
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 4
4D tensor blocked by 2nd dimension with block size 8
4D tensor blocked by 2nd dimension with block size 8
4D tensor blocked by 2nd dimension with block size 8
4D tensor blocked by 2nd dimension with block size 8
4D tensor blocked by 2nd dimension with block size 8
4D tensor blocked by 1st and 2nd dimension with block size 8
4D tensor blocked by 1st and 2nd dimension with block size 8
4D tensor blocked by 1st and 2nd dimension with block size 8
4D tensor blocked by 1st and 2nd dimension with block size 8
4D tensor blocked by 1st and 2nd dimension with block size 8
4D tensor blocked by 1st and 2nd dimension with block size 8
4D tensor blocked by 1st and 2nd dimension with block size 8
4D tensor blocked by 1st and 2nd dimension with block size 8
4D tensor blocked by 1st and 2nd dimension with block size 8
4D tensor blocked by 1st and 2nd dimension with block size 8
4D tensor blocked by 1st and 2nd dimension with block size 8
4D tensor blocked by 3rd dimension with block size 4
5D tensor blocked by 1st dimension with block size 16
5D tensor blocked by 1st dimension with block size 8
5D tensor blocked by 2nd dimension with block size 16
5D tensor blocked by 2nd dimension with block size 16
5D tensor blocked by 2nd dimension with block size 16
5D tensor blocked by 2nd dimension with block size 16
5D tensor blocked by 2nd dimension with block size 16
5D tensor blocked by 2nd dimension with block size 16
5D tensor blocked by 2nd dimension with block size 32
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 4
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 2nd dimension with block size 8
5D tensor blocked by 3rd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 16
6D tensor blocked by 2nd dimension with block size 16
6D tensor blocked by 2nd dimension with block size 16
6D tensor blocked by 2nd dimension with block size 16
6D tensor blocked by 2nd dimension with block size 8
6D tensor blocked by 2nd dimension with block size 8
6D tensor blocked by 3rd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
6D tensor blocked by 2nd dimension with block size 4
Just a sentinel, not real memory format tag. Must be changed after new format tag is added.
Implementations
impl dnnl_format_tag_t
[src]
pub const dnnl_x: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nc: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_cn: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_tn: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nt: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ncw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nwc: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nchw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nhwc: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_chwn: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ncdhw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ndhwc: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_oi: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_io: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_oiw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_owi: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_wio: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_iwo: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_oihw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_hwio: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ohwi: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ihwo: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_iohw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_oidhw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_iodhw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_dhwio: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_odhwi: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_idhwo: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_goiw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_wigo: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_goihw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_hwigo: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_giohw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_goidhw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_giodhw: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_dhwigo: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_tnc: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ntc: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ldnc: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ldigo: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ldgoi: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ldio: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ldoi: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_ldgo: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nCdhw32c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nCdhw16c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nCdhw4c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nCdhw8c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nChw32c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nChw16c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nChw4c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nChw8c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nCw32c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nCw16c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nCw4c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_nCw8c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_NCw16n16c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_NCdhw16n16c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_NChw16n16c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_NCw32n32c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_NChw32n32c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_NCdhw32n32c: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Oiw16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw4i16o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw2i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw4i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw4o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Oiw4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw8i16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw8i8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw8o8i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Owi16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OwI16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Owi4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Owi8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOhw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOhw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Ohwi16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OhwI16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Ohwi32o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Ohwi4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Ohwi8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Oihw16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw4i16o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw4i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw4o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Oihw4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw8i16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw8i8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw2i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOhw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw8o8i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Odhwi16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OdhwI16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Odhwi4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Odhwi8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Oidhw16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw4i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw4o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Oidhw4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw8i16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw8i8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOdhw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw4i16o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw2i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw8o8i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOdhw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIdhw4o8i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOdhw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Goiw16g: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Goiw8g: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOiw16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw4i16o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw2i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw4i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw4o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOiw4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw8i16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw8i8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw8o8i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOwi16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOwI16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOwi4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOwi8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Goiw32g: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw2i4o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw2o4i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw4i8o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw4o8i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOhw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOhw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOhwi16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOhwI16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOhwi32o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOhwi4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOhwi8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Goihw16g: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOihw16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw2i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw4i16o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw4i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw4o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOihw4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Goihw8g: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw8i16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw8i8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOhw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw8o8i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Goihw32g: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIw4o8i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw4o8i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOw4i8o8i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOhw4i8o8i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_IOdhw4i8o8i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_OIhw2o8i8o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIw4o8i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw4o8i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw4o8i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOw4i8o8i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOhw4i8o8i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOdhw4i8o8i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw2o8i8o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw2i4o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw2o4i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw4i8o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIhw4o8i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOdhw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOdhw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOdhwi16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOdhwI16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOdhwi4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOdhwi8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw16i16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw4i16o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw2i8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw16o16i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOidhw16o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw4i4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw4o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOidhw4o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw8i16o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw8i8o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gIOdhw8o16i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw8o8i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw8o4i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Goidhw16g: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_Goidhw32g: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw2i4o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw4i8o2i: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw2o4i2o: dnnl_format_tag_t
[src]
impl dnnl_format_tag_t
[src]
pub const dnnl_gOIdhw4o8i2o: dnnl_format_tag_t
[src]
Trait Implementations
impl Clone for dnnl_format_tag_t
[src]
fn clone(&self) -> dnnl_format_tag_t
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for dnnl_format_tag_t
[src]
impl Debug for dnnl_format_tag_t
[src]
impl Eq for dnnl_format_tag_t
[src]
impl Hash for dnnl_format_tag_t
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl PartialEq<dnnl_format_tag_t> for dnnl_format_tag_t
[src]
fn eq(&self, other: &dnnl_format_tag_t) -> bool
[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for dnnl_format_tag_t
[src]
impl StructuralPartialEq for dnnl_format_tag_t
[src]
Auto Trait Implementations
impl RefUnwindSafe for dnnl_format_tag_t
impl Send for dnnl_format_tag_t
impl Sync for dnnl_format_tag_t
impl Unpin for dnnl_format_tag_t
impl UnwindSafe for dnnl_format_tag_t
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,