cuvs icon indicating copy to clipboard operation
cuvs copied to clipboard

[FEA] CAGRA attach_dataset_on_build Python API support

Open rchitale7 opened this issue 9 months ago • 1 comments

Is your feature request related to a problem? Please describe. The CAGRA C++ API has support for the attach_dataset_on_build parameter: https://docs.rapids.ai/api/cuvs/stable/cpp_api/neighbors_cagra/#_CPPv423attach_dataset_on_build. However, the Python API does not: https://docs.rapids.ai/api/cuvs/stable/python_api/neighbors_cagra/#index-build-parameters. When I try to create a cagra.IndexParams object in Python like so:

    index_params = cagra.IndexParams(intermediate_graph_degree=64,graph_degree=32,build_algo='ivf_pq', metric="sqeuclidean", attach_dataset_on_build=False)

I get the following error:

  File "cagra.pyx", line 165, in cuvs.neighbors.cagra.cagra.IndexParams.__init__
TypeError: __init__() got an unexpected keyword argument 'attach_dataset_on_build'

Describe the solution you'd like

Support the attach_dataset_on_build parameter in cuvs cagra Python API

Describe alternatives you've considered N/A

Additional context I would like to build a CAGRA index without loading the entire dataset into GPU memory, using Python. It looks like it's only possible to do this with the C++ API, as of now.

rchitale7 avatar Apr 03 '25 23:04 rchitale7

@cjnolet , @divyegala can someone please take a look at this.

navneet1v avatar Apr 04 '25 19:04 navneet1v