SME1 support for int4 GEMM and GEMMV kernels#9257
SME1 support for int4 GEMM and GEMMV kernels#9257qti-vaiskv wants to merge 2 commits intogoogle:masterfrom
Conversation
Qualcomm Kleidiai library supports QMX specific kernels
dsharlet
left a comment
There was a problem hiding this comment.
It looks like this is adding a new dependency, a fork of KleidiAI? https://github.com/qualcomm/kleidiai
We can't have two versions of the same library in our repo. I'm surprised it works at all.
Is it even necessary? https://github.com/qualcomm/kleidiai doesn't appear to have any commits that aren't in the upstream repo.
|
There are few missing SME1 kernels especially the int4 datatypes in the parent Kleidiai. We have added support for these kernels in Qualcomm's fork of Kleidiai. We are maintaining this repo to account for these missing kernels and there will not be any duplicate definitions of the functions that are already part of Kleidiai. https://github.com/qualcomm/kleidiai/commits/kleidiai-qmx-xnnpack/ Note: In this PR we have added only the cmake support. We will add the bazel support as well in this same PR. |
|
I agree we should support SME 1, for all devices, not just Oryon V3. I assume on SME1 this is alot faster than kleidi, which falls back on Neon I8MM? I looked at your ssve dot kernel, because its interesting youre doing ssve, not just sme fmopa the 'sme' dot code is really sve, but in streaming mode. have you tried the sve version of this? seems like it would perform better with threads we, google/xnnpack, really only use bazel, so build changes with both are preferred. |
Adds support for SME1 int4 GEMM and GEMMV kernels.