Skip to content

Clarification on the Distance Kernels used by Knowhere when using HNSW Index (Especially on ARM) #1370

@ThatikondV

Description

@ThatikondV

Hi,

From my understanding, Knowhere internally calls into HNSWlib for HNSW index construction and search. I have a question regarding which kernel implementations are actually used during this flow.

My questions:

  1. When Knowhere uses HNSW for indexing/search, are the distance computations (L2 / IP) executed by: 1. Knowhere’s own optimized vector kernels (e.g., SVE/NEON in distances_*), 2. or the scalar functions from HNSWlib’s space_l2.h and space_ip.h?

  2. If Knowhere’s optimized kernels (e.g., SVE) are not reused in the HNSW integration, is there any plan to unify or bridge the distance computation layer between Knowhere and HNSW, so that ARM-optimized paths can be reused across both?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions