Skip to content

feat: add cuVS accelerator support#6366

Open
Xuanwo wants to merge 8 commits intomainfrom
xuanwo/python-cuvs-phase1
Open

feat: add cuVS accelerator support#6366
Xuanwo wants to merge 8 commits intomainfrom
xuanwo/python-cuvs-phase1

Conversation

@Xuanwo
Copy link
Copy Markdown
Collaborator

@Xuanwo Xuanwo commented Mar 31, 2026

This adds a first Python-side accelerator="cuvs" path for IVF_PQ without changing the existing accelerator="cuda" torch behavior. The new path wires cuVS training outputs back into Lance's existing index build flow and also enables the same backend selection through IndicesBuilder.prepare_global_ivf_pq.

The scope is intentionally narrow: build-time training only, IVF_PQ only, and no Rust ABI or query-path changes yet. I also added focused Python tests for cuVS dispatch and the new validation rules.

@github-actions
Copy link
Copy Markdown
Contributor

ACTION NEEDED
Lance follows the Conventional Commits specification for release automation.

The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification.

For details on the error please inspect the "PR Title Check" action.

@Xuanwo Xuanwo marked this pull request as draft March 31, 2026 18:02
@Xuanwo Xuanwo changed the title python: add explicit cuvs accelerator path feat: add cuVS accelerator support Mar 31, 2026
@github-actions github-actions bot added the enhancement New feature or request label Mar 31, 2026
@Xuanwo Xuanwo marked this pull request as ready for review April 1, 2026 09:15
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 2, 2026

Codecov Report

❌ Patch coverage is 55.74713% with 77 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
rust/lance/src/index/vector/builder.rs 6.66% 42 Missing ⚠️
rust/lance-index/src/vector/v3/shuffler.rs 72.86% 23 Missing and 12 partials ⚠️

📢 Thoughts on this report? Let us know!

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

Labels

enhancement New feature or request python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants