Skip to content

Commit f0f9ae8

Browse files
committed
[QD8-BF16-QB4] Update XNNPACK flatbuffer with new XNNPACK Datatypes
ghstack-source-id: 73da694 ghstack-comment-id: 2914405631 Pull Request resolved: #11164
1 parent fff7b3c commit f0f9ae8

File tree

4 files changed

+34
-1
lines changed

4 files changed

+34
-1
lines changed

backends/xnnpack/runtime/XNNCompiler.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,10 @@ std::pair<float, float> getOutputMinMax(const NodePtr node) noexcept {
9797
}
9898

9999
/*
100-
Converts flatbuffer xnn data type to xnnpack data type
100+
Converts flatbuffer xnn data type to xnnpack data type.
101+
102+
NOTE:
103+
Flatbuffer Enum Values are not the same as XNNPACK's datatype enum values.
101104
*/
102105
xnn_datatype getDataType(const DataType& data_type) {
103106
switch (data_type) {
@@ -121,6 +124,14 @@ xnn_datatype getDataType(const DataType& data_type) {
121124
return xnn_datatype::xnn_datatype_qdint8;
122125
case DataType::xnn_datatype_qbint4:
123126
return xnn_datatype::xnn_datatype_qbint4;
127+
case DataType::xnn_datatype_qpint8:
128+
return xnn_datatype::xnn_datatype_qpint8;
129+
case DataType::xnn_datatype_int32:
130+
return xnn_datatype::xnn_datatype_int32;
131+
case DataType::xnn_datatype_pfp32:
132+
return xnn_datatype::xnn_datatype_pfp32;
133+
case DataType::xnn_datatype_bf16:
134+
return xnn_datatype::xnn_datatype_bf16;
124135
default:
125136
return xnn_datatype::xnn_datatype_invalid;
126137
}

backends/xnnpack/serialization/runtime_schema.fbs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ enum XNNDatatype : short {
2929
xnn_datatype_qdint8 = 9,
3030
/// Quantized 4-bit signed integer with shared blockwise quantization parameters.
3131
xnn_datatype_qbint4 = 10,
32+
/// Dynamically quantized 8-bit signed integers packed with their per-row
33+
/// quantization parameters.
34+
xnn_datatype_qpint8 = 11,
35+
/// 32-bit signed integers.
36+
xnn_datatype_int32 = 12,
37+
/// IEEE754 single-precision packed floating-point.
38+
xnn_datatype_pfp32 = 13,
39+
/// BFloat16, i.e. the upper 16 bits of a float32.
40+
xnn_datatype_bf16 = 14,
3241
}
3342

3443
// type of quantization

backends/xnnpack/serialization/schema.fbs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,15 @@ enum XNNDatatype : short {
2929
xnn_datatype_qdint8 = 9,
3030
/// Quantized 4-bit signed integer with shared blockwise quantization parameters.
3131
xnn_datatype_qbint4 = 10,
32+
/// Dynamically quantized 8-bit signed integers packed with their per-row
33+
/// quantization parameters.
34+
xnn_datatype_qpint8 = 11,
35+
/// 32-bit signed integers.
36+
xnn_datatype_int32 = 12,
37+
/// IEEE754 single-precision packed floating-point.
38+
xnn_datatype_pfp32 = 13,
39+
/// BFloat16, i.e. the upper 16 bits of a float32.
40+
xnn_datatype_bf16 = 14,
3241
}
3342

3443
// type of quantization

backends/xnnpack/serialization/xnnpack_graph_schema.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,10 @@ class XNNDatatype(IntEnum):
413413
xnn_datatype_qcint4 = 8
414414
xnn_datatype_qdint8 = 9
415415
xnn_datatype_qbint4 = 10
416+
xnn_datatype_qpint8 = 11
417+
xnn_datatype_int32 = 12
418+
xnn_datatype_pfp32 = 13
419+
xnn_datatype_bf16 = 14
416420

417421

418422
@dataclass

0 commit comments

Comments
 (0)