Vamana
Source header: cuvs/neighbors/vamana.h
C API for Vamana index build
cuvsVamanaIndexParams
Supplemental parameters to build Vamana Index
Fields
cuvsVamanaIndexParamsCreate
Allocate Vamana Index params, and populate with default values
Parameters
Returns
cuvsVamanaIndexParamsDestroy
De-allocate Vamana Index params
Parameters
Returns
Vamana index
cuvsVamanaIndex
Struct to hold address of cuvs::neighbors::vamana::index and its active trained dtype
Fields
cuvsVamanaIndexCreate
Allocate Vamana index
Parameters
Returns
cuvsVamanaIndexDestroy
De-allocate Vamana index
Parameters
Returns
cuvsVamanaIndexGetDims
Get the dimension of the index
Parameters
Returns
Vamana index build
cuvsVamanaBuild
Build Vamana index
Build the index from the dataset for efficient DiskANN search.
The build uses the Vamana insertion-based algorithm to create the graph. The algorithm starts with an empty graph and iteratively inserts batches of nodes. Each batch involves performing a greedy search for each vector to be inserted, and inserting it with edges to all nodes traversed during the search. Reverse edges are also inserted and robustPrune is applied to improve graph quality. The index_params struct controls the degree of the final graph.
The following distance metrics are supported:
- L2
Usage example:
Parameters
Returns
Vamana index serialize
cuvsVamanaSerialize
Save Vamana index to file
Matches the file format used by the DiskANN open-source repository, allowing cross-compatibility.
Serialized Index is to be used by the DiskANN open-source repository for graph search.
Parameters
Returns