Skip to content

Fix cuvs-bench opensearch recall and save results - #2369

Open
jrbourbeau wants to merge 7 commits into
NVIDIA:mainfrom
jrbourbeau:cuvs-bench-fixup
Open

Fix cuvs-bench opensearch recall and save results#2369
jrbourbeau wants to merge 7 commits into
NVIDIA:mainfrom
jrbourbeau:cuvs-bench-fixup

Conversation

@jrbourbeau

Copy link
Copy Markdown
Member

This PR includes updates to close #2358 and also address the opensearch backend not saving persistent results.

Primary changes are:

  1. Backend search methods now return a list of results that are passed to the orchestrator where recall can be computed for each result separately (xref [BUG] ef_search search parameter failed to sweep correctly #2358 (comment))
  2. All backends now explicitly return in-memory build / search results which are then saved to CSV files. --data-export flag is deprecated since this always happens now.

cc @jnke2016

Closes #2358

Signed-off-by: James Bourbeau <jbourbeau@nvidia.com>
Signed-off-by: James Bourbeau <jbourbeau@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Jul 28, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

…ch-fixup

Signed-off-by: James Bourbeau <jbourbeau@nvidia.com>
@cjnolet cjnolet added bug Something isn't working non-breaking Introduces a non-breaking change labels Jul 29, 2026
@cjnolet cjnolet moved this to In Progress in Unstructured Data Processing Jul 29, 2026
…ch-fixup

Signed-off-by: James Bourbeau <jbourbeau@nvidia.com>
Signed-off-by: James Bourbeau <jbourbeau@nvidia.com>
@jrbourbeau
jrbourbeau marked this pull request as ready for review July 31, 2026 15:18
@jrbourbeau
jrbourbeau requested a review from a team as a code owner July 31, 2026 15:18
…ch-fixup

Signed-off-by: James Bourbeau <jbourbeau@nvidia.com>
assert search_result.neighbors.shape == (10, k)
assert len(search_result.metadata["per_search_param_results"]) == 1

def test_recall_is_computed_for_each_search_parameter(self, live_backend):

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: this test makes sense for all the backends. In the future we should probably have this as an e2e test we run for each backend.

rapids-bot Bot pushed a commit that referenced this pull request Aug 3, 2026
Over in #2369 I saw this C ABI change error 

```
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.11.15/x64/bin/check-c-abi", line 6, in <module>
    sys.exit(main_cli())
using dlpack from /home/runner/work/cuvs/cuvs/dlpack/include
             ^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/check_c_abi/main.py", line 136, in main_cli
    errors = analyze_c_abi(old_abi, new_abi)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/check_c_abi/abi.py", line 351, in analyze_c_abi
    errors.extend(_analyze_struct_abi(old_abi, new_abi))
  File "/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/check_c_abi/abi.py", line 293, in _analyze_struct_abi
    new_struct.members,
    ^^^^^^^^^^
UnboundLocalError: cannot access local variable 'new_struct' where it is not associated with a value
```

This PR adds a `continue` so we avoid any unbounded variables.

Authors:
  - James Bourbeau (https://github.com/jrbourbeau)
  - Corey J. Nolet (https://github.com/cjnolet)

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

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

Labels

bug Something isn't working non-breaking Introduces a non-breaking change

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

[BUG] ef_search search parameter failed to sweep correctly

2 participants