perf: optimize SINDI IP and BM25 SVE kernels - #1815
Merged
sre-ci-robot merged 1 commit intoSep 10, 2026
Merged
Conversation
Collaborator
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: chasingegg The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@chasingegg 🔍 Important: PR Classification Needed! For efficient project management and a seamless review process, it's essential to classify your PR correctly. Here's how:
For any PR outside the kind/improvement category, ensure you link to the associated issue using the format: “issue: #”. Thanks for your efforts and contribution to the community!. |
Signed-off-by: chasingegg <gaoc96@qq.com>
chasingegg
force-pushed
the
codex/optimize-sindi-sve-kernels
branch
from
September 10, 2026 03:01
84ab3c0 to
8de237d
Compare
Collaborator
|
/lgtm |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
issue: #1730
uint16_tlocal IDs withand/lsr, issuing independent gathers together, and marking independent pointer argumentsrestrict.armv8.2-a+sve); this PR does not require SVE2.Benchmark
Host: 8-core Arm Neoverse V2, 128-bit SVE; 256 deterministic queries, 8 search threads, one warm-up and five timed rounds. QPS values are geometric means across two benchmark processes.
sparse_embedding.parquet(2,751,968 rows / 616,335,749 nonzeros):The six-case geometric-mean gain is +5.38% for IP and +10.07% for BM25. Across MS MARCO, NQ, HotpotQA, and FEVER, BM25 gains +1.71% on original queries and +4.48% on synthetic NNZ 10/20/50 queries.
Verification
knowheresuccessfully with the release configuration.-march=armv8.2-a+sve; disassembly contains no SVE2fcvtltinstruction.1e-5.