Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[BUG] cuVS Bench Faiss CAGRA b_ratio reads the wrong JSON key

Open Beginner friendly
#2,718 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@arcusbuilds is already working on this.

Since Oct 1, 2026.

  • #2719 by @arcusbuilds — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
84/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
cpp

Research direction

Start with cpp/bench/ann/src/faiss/faiss_gpu_benchmark.cu around lines 114-126, then inspect the linked faiss_gpu_cagra_hnsw.yaml configuration. Reproduce the IVF-PQ benchmark using b_ratio without ratio and add regression coverage showing that the configuration parses and applies the requested training fraction.

Written by the indexing model from the issue text.

Description

bug

Describe the bug
The Faiss CAGRA benchmark parser recognizes the IVF-PQ build setting b_ratio, but reads ratio instead. If the configuration contains b_ratio without an unprefixed ratio, it appears to throw nlohmann::json::out_of_range before building. Both faiss_gpu_cagra and faiss_gpu_cagra_hnsw use this parser

Steps/Code to reproduce bug
In the existing Faiss CAGRA to HNSW benchmark configuration, set the build parameters to include:

cagra_build_algo: ["IVF_PQ"]
graph_degree: [44]
intermediate_graph_degree: [192]
b_ratio: [6]

Run the benchmark against a float32 dataset. No unprefixed ratio key is configured.

The parser removes b_ and checks ivf_pq_build_conf.contains("ratio"), then reads conf.at("ratio"). The latter key is absent.

Expected behavior
b_ratio: 6 sets the IVF-PQ training fraction to 1.0 / 6, and the CAGRA build proceeds.

Environment details (please complete the following information):
Inspected the NVIDIA/cuvs main branch on October 1, 2026.

Additional context
This affects benchmark configuration, not the CAGRA builder itself. Omitting b_ratio avoids the apparent exception but does not apply the requested training fraction. The parser could read ivf_pq_build_conf.at("ratio"); a regression test with b_ratio present and ratio absent would cover the case.

Dominant language
Cuda
Stars
863
Forks
242
Avg merge
2d 12h
Merged PRs (30d)
70

Getting set up

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.

More from NVIDIA/cuvs

All issues in NVIDIA/cuvs

Similar issues

More Performance issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.