Skip to content

Commit 08fca87

Browse files
committed
doc: add f4_e3m0 in data-types section
1 parent 8a5b7bd commit 08fca87

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

doc/programming_model/data_types.md

+13-12
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ operations which take bool as inputs and/or outputs data type.
2323
| f8\_e4m3 | [OFP8 standard 8-bit floating-point](https://www.opencompute.org/documents/ocp-8-bit-floating-point-specification-ofp8-revision-1-0-2023-06-20-pdf) with 4 exponent and 3 mantissa bits |
2424
| e8m0 | [MX standard 8-bit scaling type](https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf) |
2525
| f4\_e2m1 | [MX standard 4-bit floating-point](https://www.opencompute.org/documents/ocp-microscaling-formats-mx-v1-0-spec-final-pdf) with 2 exponent and 1 mantissa bits |
26+
| f4\_e3m0 | 4-bit floating-point with 3 exponent bits and no mantissa bit |
2627

2728

2829
@note
@@ -33,10 +34,10 @@ operations which take bool as inputs and/or outputs data type.
3334

3435
oneDNN supports training and inference with the following data types:
3536

36-
| Usage mode | CPU | GPU |
37-
|:-----------|:-------------------------------------------------------------------|:----------------------------------------------|
38-
| Inference | f32, bf16, f16, f8\_e5m2/f8\_e4m3, f4\_e2m1, s8/u8, s4/u4, boolean | f32, bf16, f16, f8\_e5m2/f8\_e4m3, s8/u8, f64 |
39-
| Training | f32, bf16, f16 | f32, bf16, f16, f64 |
37+
| Usage mode | CPU | GPU |
38+
|:-----------|:-----------------------------------------------------------------------------|:----------------------------------------------|
39+
| Inference | f32, bf16, f16, f8\_e5m2/f8\_e4m3, f4\_e2m1, f4\_e3m0, s8/u8, s4/u4, boolean | f32, bf16, f16, f8\_e5m2/f8\_e4m3, s8/u8, f64 |
40+
| Training | f32, bf16, f16 | f32, bf16, f16, f64 |
4041

4142
@note
4243
Using lower precision arithmetic may require changes in the deep learning
@@ -82,7 +83,7 @@ a primitive computation:
8283

8384
The `Op` output datatype depends on the datatype of its inputs:
8485
- if `src`, `weights`, ... are floating-point datatype (f32, f16,
85-
bf16, f8\_e5m2, f8\_e4m3, f4\_e2m1), then the `Op` outputs f32 elements.
86+
bf16, f8\_e5m2, f8\_e4m3, f4\_e2m1, f4\_e3m0), then the `Op` outputs f32 elements.
8687
- if `src`, `weights`, ... are integral datatypes (s8, u8, s32), then
8788
the `Op` outputs s32 elements.
8889
- if the primitive allows to mix input datatypes, the `Op` outputs
@@ -167,7 +168,7 @@ types that oneDNN recognizes.
167168
| f16 | Intel AVX512-FP16 |
168169
| boolean | Intel AVX2 |
169170
| f8\_e5m2, f8\_e4m3 | Intel AVX512-FP16 |
170-
| f4\_e2m1 | TBA |
171+
| f4\_e2m1, f4\_e3m0 | TBA |
171172
172173
@note
173174
See @ref dev_guide_int8_computations in the Developer Guide for additional
@@ -213,12 +214,12 @@ The following table indicates the data types with performant compute primitives
213214
for each uArch supported by oneDNN. Unless otherwise noted, all data types have
214215
reference support on all architectures.
215216
216-
| uArch | Supported Data types |
217-
|:-------|:----------------------------------------------------------|
218-
| Xe-LP | f32, f16, s8, u8 |
219-
| Xe-HPG | f32, f16, bf16, s8, u8 |
220-
| Xe-HPC | f64, f32, bf16, f16, s8, u8 |
221-
| TBA | f64, f32, bf16, f16, s8, u8, f8\_e5m2, f8\_e4m3, f4\_e2m1 |
217+
| uArch | Supported Data types |
218+
|:-------|:--------------------------------------------------------------------|
219+
| Xe-LP | f32, f16, s8, u8 |
220+
| Xe-HPG | f32, f16, bf16, s8, u8 |
221+
| Xe-HPC | f64, f32, bf16, f16, s8, u8 |
222+
| TBA | f64, f32, bf16, f16, s8, u8, f8\_e5m2, f8\_e4m3, f4\_e2m1, f4\_e3m0 |
222223
223224
224225
@note

0 commit comments

Comments
 (0)