Skip to content

Conversation

@enp1s0
Copy link
Member

@enp1s0 enp1s0 commented May 27, 2025

The current CAGRA-Q instance selection criterion is the same as the one for the standard CAGRA, which is not always optimal for CAGRA-Q. This PR updates the criterion for CAGRA-Q to improve the throughput when team_size=AUTO.

The size (Byte) of each vector is smaller in a dataset compressed with CAGRA-Q compared to an uncompressed one. Because of this, we may be able to improve throughput by using a smaller team_size. This PR updates the scoring method for selecting a CAGRA-Q instance to take that into account. Based on my performance tests for SIFT, GloVe, GIST, NYTimes, and OpenAI 5M, the updated scoring method avoided selecting the worst team_size values, unlike the current method.

@enp1s0 enp1s0 requested a review from a team as a code owner May 27, 2025 17:11
@enp1s0 enp1s0 self-assigned this May 27, 2025
@github-actions github-actions bot added the cpp label May 27, 2025
@enp1s0 enp1s0 added improvement Improves an existing functionality non-breaking Introduces a non-breaking change cpp and removed cpp labels May 27, 2025
@cjnolet
Copy link
Member

cjnolet commented May 27, 2025

/merge

@rapids-bot rapids-bot bot merged commit d8733c6 into rapidsai:branch-25.06 May 27, 2025
75 checks passed
mythrocks pushed a commit to mythrocks/cuvs that referenced this pull request Jun 3, 2025
The current CAGRA-Q instance selection criterion is the same as the one for the standard CAGRA, which is not always optimal for CAGRA-Q. This PR updates the criterion for CAGRA-Q to improve the throughput when `team_size=AUTO`.


The size (Byte) of each vector is smaller in a dataset compressed with CAGRA-Q compared to an uncompressed one. Because of this, we may be able to improve throughput by using a smaller `team_size`. This PR updates the scoring method for selecting a CAGRA-Q instance to take that into account. Based on my performance tests for SIFT, GloVe, GIST, NYTimes, and OpenAI 5M, the updated scoring method avoided selecting the worst `team_size` values, unlike the current method.

Authors:
  - tsuki (https://github.com/enp1s0)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#938
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cpp improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Development

Successfully merging this pull request may close these issues.

2 participants