Skip to content

Use raft::launch_kernel in cagra search JIT kernels - #2520

Merged
rapids-bot[bot] merged 5 commits into
NVIDIA:mainfrom
achirkin:enh-cagra-search-via-launch_kernel
Oct 12, 2026
Merged

rapids-bot[bot] merged 5 commits into
NVIDIA:mainfrom
achirkin:enh-cagra-search-via-launch_kernel

Conversation

@achirkin

@achirkin achirkin commented Aug 28, 2026 •

Copy link
Copy Markdown
Contributor

Switch to the new raft::launch_kernel API in a few places across cuVS as a preview before the full refactoring.

@achirkin achirkin added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Aug 28, 2026
@copy-pr-bot

copy-pr-bot Bot commented Aug 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.

@achirkin

Copy link
Copy Markdown
Contributor Author

/ok to test

@achirkin

Copy link
Copy Markdown
Contributor Author

/ok to test

@achirkin

achirkin commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test

@achirkin
achirkin marked this pull request as ready for review September 3, 2026 09:21
@achirkin
achirkin requested a review from a team as a code owner September 3, 2026 09:22
@achirkin achirkin moved this to In Progress in Unstructured Data Processing Sep 3, 2026
@coderabbitai

coderabbitai Bot commented Oct 12, 2026

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: NVIDIA/cuvs/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: 5e9713a8-c9d5-4b16-9323-fc3fc826b191

📥 Commits

Reviewing files that changed from the base of the PR and between 24b0b17 and b9187cc.


📒 Files selected for processing (3)
  • cpp/src/neighbors/detail/cagra/search_multi_cta_kernel_launcher_jit.cuh
  • cpp/src/neighbors/detail/cagra/search_multi_kernel_launcher_jit.cuh
  • cpp/src/neighbors/detail/cagra/search_single_cta_kernel_launcher_jit.cuh

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.



📝 Summary

Summary by CodeRabbit

  • Refactor
    • Updated GPU processing for CAGRA search operations to use a consistent launch approach. Existing search inputs and shared-memory behavior are retained, with no changes to the available search features.

Walkthrough

The CAGRA JIT launch paths now use raft::launch_kernel with typed kernel references instead of algorithm launcher dispatch calls. The changes also remove post-launch cudaPeekAtLastError() checks and pass sampling counts directly.

Changes

CAGRA JIT launches

Layer / File(s) Summary
Multi-CTA search launches
cpp/src/neighbors/detail/cagra/search_multi_cta_kernel_launcher_jit.cuh
The multi-CTA search paths use raft::launch_kernel with typed kernel references. They pass sampling counts directly and remove post-launch error checks.
Multi-kernel helper launches
cpp/src/neighbors/detail/cagra/search_multi_kernel_launcher_jit.cuh
Random pickup, child-node distance, and filtering use raft::launch_kernel. The launches retain their applicable shared-memory settings, and the post-launch error checks are removed.
Single-CTA search launches
cpp/src/neighbors/detail/cagra/search_single_cta_kernel_launcher_jit.cuh
Persistent, single-query, and multi-partition paths use raft::launch_kernel. Cooperative launch and shared-memory sizing are retained where applicable. Sampling counts are passed directly.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Refactor


Merge Risk: ⚪ Minimal · up to b9187

The launch changes have no identified issue requiring a fix before merge.

Pre-merge checks | Passed 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description check Passed The description directly states that the changes switch cuVS code to the new raft::launch_kernel API, which matches the changeset.
Title check Passed The title clearly and concisely identifies the main change: using raft::launch_kernel in CAGRA search JIT kernels.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@github-project-automation github-project-automation Bot moved this from In Progress to Approved in Unstructured Data Processing Oct 12, 2026
@divyegala

Copy link
Copy Markdown
Contributor

/merge

@rapids-bot
rapids-bot Bot merged commit c8277c0 into NVIDIA:main Oct 12, 2026
118 of 119 checks passed
@github-project-automation github-project-automation Bot moved this from Approved to Done in Unstructured Data Processing Oct 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants