NVIDIA / NVIDIA/cuvs

[BUG] CAGRA IP Distance returning invalid neighbors

Open
#152 1 comment 0 reactions 1 assignee View on GitHub

@tarang-jain is already working on this.

Since May 24, 2024.

bug
Dominant language
Cuda
Stars
854
Forks
236
Avg merge
3d 3h
Merged PRs (30d)
62

Description

Zilliz changed their CAGRA testing for IP distance to generate random numbers with negatives and they found some of the neighbors being returned are -1.

What's also weird about their test results is that they were using nn-descent and not getting an exception (since nn-descent doesn't yet support IP).

While beginning triage this issue in Python, I realized that the IP distance was never exposed in the Python layer. We should fix this and also add explicit pytests to verify 1) correct neighbors are returned when negatives are in the input vectors, and 2) the algorithm fails gracefully when IP distance is used with nn-descent as the build algo.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.