-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Add smmla/ummla support in quantized Conv2d #6802
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
cc: @anijain2305 , @FrozenGene , @mbaret , @u99127 |
cbalint13
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice addition @giuseros !
LGTM
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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