-
Notifications
You must be signed in to change notification settings - Fork 799
Description
Hello HNSWLib community,
We are the Huawei Kunpeng BoostKit team. We have noticed the request for NEON/SVE optimizations for HNSWLib on the ARM platform in issue #637. We have implemented NEON vectorization optimizations for the distance calculation functions in space_l2.h and space_ip.h for the ARM platform. Our evaluation on the ARM platform shows a certain performance improvement.
We would like to contribute this work upstream. There are a few key points about this change set:
We have not introduced or modified any public APIs (no new external interfaces, and no changes to existing interfaces).
These changes have passed the built-in unit tests of HNSWLib in our environment.
These optimizations are ARM-specific and are conditionally compiled, so they will not affect the compilation or execution on the x86 platform; non-ARM platforms will continue to use the existing generic implementation.
Before preparing to submit the PR, we’d appreciate maintainers’ guidance on:
Whether there is interest in accepting ARM-specific CPU optimizations of this scope.
Preferred integration approach (e.g., where ARM-specific code should be placed, naming and usage rules for feature macros and conditional compilation, and minimum compiler/toolchain requirements).
Any constraints or requirements we should follow (e.g., portability policies, CI (continuous integration) expectations, benchmarking standards, etc.).
We can provide the complete patch set and benchmark results on AArch64.
Best regards,
Huawei Kunpeng BoostKit Team