Skip to content

Conversation

iliailia
Copy link
Collaborator

@iliailia iliailia commented Oct 7, 2025

This adds a new method to VectorStore that takes rotations of a query iris, computes the distances between them and a given iris vector and returns the minimal distance lifted to 32-bit shares for further comparisons. Batching is supported. Aby3Store contains an optimized implementation via oblivious minimal trees.

@iliailia iliailia requested review from naure and bgillesp October 7, 2025 08:54
@iliailia iliailia changed the base branch from main to dev October 7, 2025 08:55
@naure
Copy link
Collaborator

naure commented Oct 8, 2025

In this PR, the search algorithm has to provide the rotations: query: &[Self::QueryRef; ROTATIONS].

However, my understanding of this was to move the concept of rotations into the iris-worker. This way, the search algorithm does not have to be aware of rotations, it only manipulates the one central query: Self::QueryRef. See POP-2962/batch-rotation-aware-dot-products-in-iris-worker.

This has two advantages:

  1. The search code does not become more complex than it already is.
  2. The iris worker is in a better place to be tuned and optimized when it is aware of and responsible for rotations.

@iliailia iliailia self-assigned this Oct 9, 2025
@iliailia iliailia merged commit 8be4269 into dev Oct 9, 2025
15 of 18 checks passed
@iliailia iliailia deleted the ilia/eval-minimal-distance branch October 9, 2025 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants