oneDNN supports multiple data types. However, the 32-bit IEEE floating-point
data type (
f32) is the fundamental type in oneDNN. It
is the only data type that must be supported by an implementation. All the
other types discussed below are optional.
f32 data type is often used for intermediate results in
the mixed precision computations because it provides better accuracy. For
example, the elementwise primitive and elementwise post-ops always use
oneDNN defines the following data types:
Data type specification.
Undefined data type (used for empty memory descriptors).
32-bit signed integer.
8-bit signed integer.
8-bit unsigned integer.
oneDNN supports training and inference with the following data types:
Using lower precision arithmetic may require changes in the deep learning model implementation.
Individual primitives may have additional limitations with respect to data type support based on the precision requirements. The list of data types supported by each primitive is included in the corresponding sections of the specification guide.