Skip to content

feat(vectordb): integrate KRL for ARM Kunpeng vector search optimization#256

Merged
MaojiaSheng merged 1 commit intovolcengine:mainfrom
Mijamind719:ARM_Optimized
Feb 24, 2026
Merged

feat(vectordb): integrate KRL for ARM Kunpeng vector search optimization#256
MaojiaSheng merged 1 commit intovolcengine:mainfrom
Mijamind719:ARM_Optimized

Conversation

@Mijamind719
Copy link
Contributor

@Mijamind719 Mijamind719 commented Feb 22, 2026

  • Add third_party/krl: Kunpeng Retrieval Library (KRL) source with ARM NEON/SIMD-optimized L2 and inner-product distance routines
  • vector_base.h: add ARM platform macros OV_PLATFORM_ARM, OV_SIMD_NEON, OV_SIMD_SVE
  • space_l2.h: on ARM use krl_L2sqr in l2_sqr_neon instead of scalar path
  • space_ip.h: on ARM use krl_ipdis in inner_product_neon instead of scalar path
  • CMakeLists.txt: enable OV_PLATFORM_ARM on aarch64, build and link KRL static library

On ARM, vectordb uses KRL-optimized paths; on x86 the existing AVX/SSE implementations are unchanged.

Description

Related Issue

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Test update

Changes Made

Testing

  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have tested this on the following platforms:
    • Linux
    • macOS
    • Windows

Checklist

  • My code follows the project's coding style
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

Screenshots (if applicable)

Additional Notes

- Add third_party/krl: Kunpeng Retrieval Library (KRL) source with ARM NEON/SIMD-optimized L2 and inner-product distance routines
- vector_base.h: add ARM platform macros OV_PLATFORM_ARM, OV_SIMD_NEON, OV_SIMD_SVE
- space_l2.h: on ARM use krl_L2sqr in l2_sqr_neon instead of scalar path
- space_ip.h: on ARM use krl_ipdis in inner_product_neon instead of scalar path
- CMakeLists.txt: enable OV_PLATFORM_ARM on aarch64, build and link KRL static library

On ARM, vectordb uses KRL-optimized paths; on x86 the existing AVX/SSE implementations are unchanged.
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


mijamind719 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@Mijamind719 Mijamind719 changed the title 【WIP】feat(vectordb): integrate KRL for ARM Kunpeng vector search optimization feat(vectordb): integrate KRL for ARM Kunpeng vector search optimization Feb 23, 2026
@MaojiaSheng MaojiaSheng merged commit 498d560 into volcengine:main Feb 24, 2026
21 of 22 checks passed
@github-project-automation github-project-automation bot moved this from Backlog to Done in OpenViking project Feb 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants