Add smmla/ummla support in quantized Conv2d#6802
Conversation
|
cc: @anijain2305 , @FrozenGene , @mbaret , @u99127 |
9c8a6fe to
b8c8c91
Compare
|
Thanks for the review @mbaret ! The only caveat now is that we would need support for LLVM-11 in the CI to run the integration test (llvm-8 does not have i8mm support). I am commenting out the test for now, and I will enable it back once the LLVM version in the CI will be updated |
mbaret
left a comment
There was a problem hiding this comment.
LGTM, nice job again Giuseppe.
This introduces support for `smmla`/`ummla` instructions in TVM: - Added `is_mmla_available` function in `arm_utils.py` - Added the tiling node + tensorization schedule in `conv2d_gemm.py` - Added the intrinsic support in `tensor_intrin.py` - Added the test-case in `test_topi_conv2d_int8.py` Change-Id: Iff48c77f16fe1e64ecb733da965a879651ce635f
32f03d4 to
fe99830
Compare
|
Hi @anijain2305 , @FrozenGene , Any chance you could review this? Thanks in advance! |
|
About llvm11, i think we could update it for our ci |
|
Hi @FrozenGene , |
yes |
* Add smmla/ummla support in quantized Conv2d This introduces support for `smmla`/`ummla` instructions in TVM: - Added `is_mmla_available` function in `arm_utils.py` - Added the tiling node + tensorization schedule in `conv2d_gemm.py` - Added the intrinsic support in `tensor_intrin.py` - Added the test-case in `test_topi_conv2d_int8.py` Change-Id: Iff48c77f16fe1e64ecb733da965a879651ce635f * Address review comments and test failures * Fix linting * Rebasing
* Add smmla/ummla support in quantized Conv2d This introduces support for `smmla`/`ummla` instructions in TVM: - Added `is_mmla_available` function in `arm_utils.py` - Added the tiling node + tensorization schedule in `conv2d_gemm.py` - Added the intrinsic support in `tensor_intrin.py` - Added the test-case in `test_topi_conv2d_int8.py` Change-Id: Iff48c77f16fe1e64ecb733da965a879651ce635f * Address review comments and test failures * Fix linting * Rebasing
* Add smmla/ummla support in quantized Conv2d This introduces support for `smmla`/`ummla` instructions in TVM: - Added `is_mmla_available` function in `arm_utils.py` - Added the tiling node + tensorization schedule in `conv2d_gemm.py` - Added the intrinsic support in `tensor_intrin.py` - Added the test-case in `test_topi_conv2d_int8.py` Change-Id: Iff48c77f16fe1e64ecb733da965a879651ce635f * Address review comments and test failures * Fix linting * Rebasing
High level description of the submission
This introduces support for
smmla/ummlainstructions in TVM:is_mmla_availablefunction inarm_utils.pyconv2d_gemm.pytensor_intrin.pytest_topi_conv2d_int8.pyRFC
This PR is based on the following RFC: https://discuss.tvm.apache.org/t/rfc-improve-quantized-convolution-through-mmla-instructions/8336
Change-Id: Iff48c77f16fe1e64ecb733da965a879651ce635f