[CPU EP] Int4 support for QuantizeLinear, DequantizeLinear, and Transpose #20362
Update include/framework/ with int4
40da6791
Update onnxruntime_c_api.h with int4 type
e3e8a6bd
Update cpu_contrib_kernels.cc with int4 Q/DQ
5e01e0f6
Update framework/data_types.cc with int4 types
44e0e023
Update onnxruntime map type info with int4 types
ce03eb22
Update Tensor methods to calc int4 tensor data sizze
e1590078
Update function to map tensor_proto int4 to onnxruntime enum
46c3d0d6
Update tensorprotoutils to handle int4 protobufs
583dae1e
Add functions to map Int4x2 to an onnxruntime tensor type enum
0009a47c
Update com.microsoft.DequantizeLinear schema to support int4 types fo…
d11a3d49
Add option to disable int4 type in Conv and MatMul qdq node group sel…
208c4037
Add DequantizeLinear with int4 support (missing block quant)
f91ae697
update transpose helper to support int4
7323793a
Update provider bridge with int4 apis
8c79905a
Update quantizer tool with int4
fc695caa
Remove duplicate enum
eeacb78b
Remove MatMulSelector constructor arg
6f9da045
Remove unnecessary explicit template instantiation
7e8c4588
Add static_cast
3b7ed5f3
Add temporary CPU EP Int4 test (qdq conv)
c7086a5e
Update operator docs
34dfa171
Update testing version of tensorprotoutils with int4 helpers
e7bec9cf
Run lintrunner
cd8912e0
Fix api to create int4 ort value
4cf3a751
Wrap long lines in tensorprotoutils
ca785c2a
Add operator unit tests for Dequant int4/uint4
f87e785c
Remove comments
d028f2f7
Add QuantizeLinear int4 impl
24cc6172
adrianlizarraga
changed the title [NOT READY] DequantizeLinear int4 support [NOT READY] Q/DQ int4 support for CPU EP 2 years ago
Update operator docs
f35b09ef
Disable potentially bugged onnx tests
e33f198e
Add TODO username
10f28aa7
Fix warning as error and clean up
de1ded4c
Merge branch 'main' into adrianl/dq-transpose-int4
378718ea
Mlas kernels to quantize int4 (not blocked). Missing powerpc
746312b8
branchless update of 4-bit element
2935f797
more branchless update of int4 lane
807537cd
Fix cast warning as error
a36a128d
Remove decrement of N
bc445571
Clean up Int4x2 class
f40992dc
Github linter fixes
d0e17e21
Remove temporary unittest
6568d48a
Case statement missing :
b8d5869f
Merge branch 'main' into adrianl/dq-transpose-int4
67b8cffc
Add powerpc int4 quant kernel
934a0634
Try to exclude MLAS C++ code from Github's cpplint workflow. MLAS has…
48538532
Remove backslash from cpplint flags
51193846
Template on sign instead of unpacked type
279a50d5
Use typename
488117fd
Add utils to compute tensor storage size and num elements for sub-byt…
4c862bdf
Add more uses of Tensor::CalcTensorStorageSize()
27c554e5
Merge branch 'main' into adrianl/dq-transpose-int4
e2ac5d28
Add new PrimitiveDataTypeBase methods to provider api
2e8c3b91
Remove SparseTensor registrations for int4 types
f26d8856
Support Transpose int4
f3fdc2e5
Revert to default types for older transpose opsets
8adbb4a8
Update op docs
0ac8427a
Add comments
da80e3a3
Exclude TRT from int4 traspose test
f72c3d59
Test C API for creating int4 OrtValues
66055127
Add comment to qmath macro for defining the int4 quantization functions
ea96d09d
Clean up tensorprotoutils macros
aa029ba1
Use CalcNumInt4Pairs()
2b9f53a4
Merge branch 'main' into adrianl/dq-transpose-int4
b89e6e90
Add comment reference to ONNX PR that fixes int4 q/dq onnx node tests
84c6c728
Add another use of CalcNumInt4Pairs() in base_tester.h
7bee6f16
Add another use of CalcNumInt4Pairs() in cpu quantize_linear tests
14352222
Temporarily disable the block_size attribute for Q/DQ ops
5d8b0295
Disable QDQ fusions for int4
ca2a1c5f
Add typename
0efc3523
adrianlizarraga
changed the title [NOT READY] Q/DQ int4 support for CPU EP Int4 support for Q, DQ, Transpose on CPU EP 2 years ago
adrianlizarraga
changed the title Int4 support for Q, DQ, Transpose on CPU EP [CPU EP] Int4 support for QuantizeLinear, DequantizeLinear, and Transpose 2 years ago
Add python quantization unit test for int4 qdq
7452329c
Merge branch 'main' into adrianl/dq-transpose-int4
4b4df982
Merge latest main branch
8eec173e
Review comments
6c06bfbf
Save one instruction in MlasSetInt4Element()
09c11c64
Use workaround to ensure quant tool stores negative INT4 weights pack…
12d7d0ec
Add int4 qdq quantization tool test
43c7bf17
Check opset when using int4 types with quant tool
d4a05b7a
Check opset version when creating qdq config for QNN
27301e63
Merge branch 'main' into adrianl/dq-transpose-int4
8eea1c19
yufenglee
approved these changes
on 2024-05-31
jywu-mysoft
deleted the adrianl/dq-transpose-int4 branch 2 years ago
Assignees
No one assigned
Login to write a write a comment.
Login via GitHub