Expand description
Raw FFI bindings to libcuvs_c.
Structs§
- CUstream_
st - Opaque CUDA stream handle used by the current cuVS C ABI.
- DLData
Type - \brief The data type the tensor can hold. The data type is assumed to follow the native endian-ness. An explicit error message should be raised when attempting to export an array with non-native endianness
- DLDevice
- \brief A Device for Tensor and operator.
- DLManaged
Tensor - \brief C Tensor object, manage memory of DLTensor. This data structure is intended to facilitate the borrowing of DLTensor by another framework. It is not meant to transfer the tensor. When the borrowing framework doesn’t need the tensor, it should call the deleter to notify the host that the resource is no longer needed.
- DLTensor
- \brief Plain C Tensor object, does not manage memory.
- cuda
Data Type_ t - Temporary ABI shim for
cudaDataType_twhile the cuVS C API exposes CUDA types. TODO: Remove this once the cuVS C API removescudaDataType_treliance. - cuvs
AceParams - Parameters for ACE (Augmented Core Extraction) graph build. ACE enables building indexes for datasets too large to fit in GPU memory by:
- cuvs
AllNeighbors Index Params - @brief Parameters controlling SNMG all-neighbors build.
- cuvs
Binary Quantizer - @brief Defines and stores threshold for quantization upon training
- cuvs
Binary Quantizer Params - @brief Binary quantizer parameters.
- cuvs
Brute Force Index - @defgroup bruteforce_c_index Bruteforce index @{ / /** @brief Struct to hold address of cuvs::neighbors::brute_force::index and its active trained dtype
- cuvs
Cagra Compression Params - Parameters for VPQ compression.
- cuvs
Cagra Extend Params - @defgroup cagra_c_extend_params C API for CUDA ANN Graph-based nearest neighbor search @{ / /** @brief Supplemental parameters to extend CAGRA Index
- cuvs
Cagra Index - @brief Struct to hold address of cuvs::neighbors::cagra::index and its active trained dtype
- cuvs
Cagra Index Params - @brief Supplemental parameters to build CAGRA Index
- cuvs
Cagra Search Params - @brief Supplemental parameters to search CAGRA index
- cuvs
Filter - @brief Struct to hold address of cuvs::neighbors::prefilter and its type
- cuvs
Hnsw AceParams - Parameters for ACE (Augmented Core Extraction) graph build for HNSW. ACE enables building indexes for datasets too large to fit in GPU memory by:
- cuvs
Hnsw Extend Params - @defgroup hnsw_c_extend_params Parameters for extending HNSW index @{
- cuvs
Hnsw Index - @brief Struct to hold address of cuvs::neighbors::Hnsw::index and its active trained dtype
- cuvs
Hnsw Index Params - cuvs
Hnsw Search Params - @defgroup hnsw_c_search_params C API for hnswlib wrapper search params @{
- cuvs
IvfFlat Index - @defgroup ivf_flat_c_index IVF-Flat index @{ / /** @brief Struct to hold address of cuvs::neighbors::ivf_flat::index and its active trained dtype
- cuvs
IvfFlat Index Params - @defgroup ivf_flat_c_index_params IVF-Flat index build parameters @{ / /** @brief Supplemental parameters to build IVF-Flat Index
- cuvs
IvfFlat Search Params - @defgroup ivf_flat_c_search_params IVF-Flat index search parameters @{ / /** @brief Supplemental parameters to search IVF-Flat index
- cuvs
IvfPq Index - @defgroup ivf_pq_c_index IVF-PQ index @{ / /** @brief Struct to hold address of cuvs::neighbors::ivf_pq::index and its active trained dtype
- cuvs
IvfPq Index Params - @brief Supplemental parameters to build IVF-PQ Index
- cuvs
IvfPq Params - cuvs
IvfPq Search Params - @defgroup ivf_pq_c_search_params IVF-PQ index search parameters @{ / /** @brief Supplemental parameters to search IVF-PQ index
- cuvsK
Means Params - @brief Hyper-parameters for the kmeans algorithm
- cuvs
Multi GpuCagra Index - @brief Struct to hold address of cuvs::neighbors::mg_indexcagra::index and its active trained dtype
- cuvs
Multi GpuCagra Index Params - @brief Multi-GPU parameters to build CAGRA Index
- cuvs
Multi GpuCagra Search Params - @brief Multi-GPU parameters to search CAGRA index
- cuvs
Multi GpuIvf Flat Index - @brief Struct to hold address of cuvs::neighbors::mg_index<ivf_flat::index> and its active trained dtype
- cuvs
Multi GpuIvf Flat Index Params - @brief Multi-GPU parameters to build IVF-Flat Index
- cuvs
Multi GpuIvf Flat Search Params - @brief Multi-GPU parameters to search IVF-Flat index
- cuvs
Multi GpuIvf PqIndex - @brief Struct to hold address of cuvs::neighbors::mg_index<ivf_pq::index> and its active trained dtype
- cuvs
Multi GpuIvf PqIndex Params - @brief Multi-GPU parameters to build IVF-PQ Index
- cuvs
Multi GpuIvf PqSearch Params - @brief Multi-GPU parameters to search IVF-PQ index
- cuvsNN
Descent Index - @defgroup nn_descent_c_index NN-Descent index @{ / /** @brief Struct to hold address of cuvs::neighbors::nn_descent::index and its active trained dtype
- cuvsNN
Descent Index Params - @defgroup nn_descent_c_index_params The nn-descent algorithm parameters. @{ / /** @brief Parameters used to build an nn-descent index
- cuvs
PcaParams - @brief Parameters for PCA decomposition.
- cuvs
Product Quantizer - @brief Defines and stores product quantizer upon training
- cuvs
Product Quantizer Params - @defgroup preprocessing_c_pq C API for Product Quantizer @{ / /** @brief Product quantizer parameters.
- cuvs
Scalar Quantizer - @brief Defines and stores scalar for quantisation upon training
- cuvs
Scalar Quantizer Params - @defgroup preprocessing_c_scalar C API for Scalar Quantizer @{ / /** @brief Scalar quantizer parameters.
- cuvs
Tiered Index - @defgroup tiered_index_c_index Tiered Index @{ / /** @brief Struct to hold address of cuvs::neighbors::tiered_index::index and its active trained dtype
- cuvs
Tiered Index Params - @defgroup tiered_c_index_params Tiered Index build parameters @{ / /** @brief Supplemental parameters to build a TieredIndex
- cuvs
Vamana Index - @brief Struct to hold address of cuvs::neighbors::vamana::index and its active trained dtype
- cuvs
Vamana Index Params - @brief Supplemental parameters to build Vamana Index
Enums§
- DLData
Type Code - \brief The type code options DLDataType.
- DLDevice
Type - cuvs
AllNeighbors Algo - @brief Graph build algorithm selection.
- cuvs
Binary Quantizer Threshold - @defgroup preprocessing_c_binary C API for Binary Quantizer @{ / /** @brief In the cuvsBinaryQuantizerTransform function, a bit is set if the corresponding element in the dataset vector is greater than the corresponding element in the threshold vector. The mean and sampling_median thresholds are calculated separately for each dimension.
- cuvs
Cagra Graph Build Algo - @brief Enum to denote which ANN algorithm is used to build CAGRA graph
- cuvs
Cagra Hash Mode - @brief Enum to denote Hash Mode used while searching CAGRA index
- cuvs
Cagra Hnsw Heuristic Type - @brief A strategy for selecting the graph build parameters based on similar HNSW index parameters.
- cuvs
Cagra Search Algo - @brief Enum to denote algorithm used to search CAGRA Index
- cuvs
Distance Type - enum to tell how to compute distance
- cuvs
Error_ t - @defgroup error_c cuVS Error Messages @{ / /** @brief An enum denoting error statuses for function calls
- cuvs
Filter Type - @brief Enum to denote filter type.
- cuvs
Hnsw Hierarchy - @brief Hierarchy for HNSW index when converting from CAGRA index
- cuvs
IvfPq Codebook Gen - @defgroup ivf_pq_c_index_params IVF-PQ index build parameters @{ / /** @brief A type for specifying how PQ codebooks are created
- cuvs
IvfPq List Layout - @brief A type for specifying the memory layout of IVF-PQ list data
- cuvsK
Means Init Method - @defgroup kmeans_c_params k-means hyperparameters @{
- cuvsK
Means Type - @brief Type of k-means algorithm.
- cuvs
LogLevel_ t - @brief An enum denoting log levels
- cuvs
Merge Strategy - @brief Strategy for merging indices.
- cuvs
Multi GpuDistribution Mode - @brief Distribution mode for multi-GPU indexes
- cuvs
Multi GpuReplicated Search Mode - @brief Search mode when using a replicated index
- cuvs
Multi GpuSharded Merge Mode - @brief Merge mode when using a sharded index
- cuvsNN
Descent Dist Comp Dtype - @brief Dtype to use for distance computation
- cuvs
PcaSolver - @brief Solver algorithm for PCA eigen decomposition.
- cuvs
Tiered IndexANN Algo - @brief Enum to hold which ANN algorithm is being used in the tiered index
Functions§
- cuvs
AceParams ⚠Create - @brief Allocate ACE params, and populate with default values
- cuvs
AceParams ⚠Destroy - @brief De-allocate ACE params
- cuvs
AllNeighbors ⚠Build - @brief Build an all-neighbors k-NN graph automatically detecting host vs device dataset.
- cuvs
AllNeighbors ⚠Index Params Create - @brief Create a default all-neighbors index parameters struct.
- cuvs
AllNeighbors ⚠Index Params Destroy - @brief Destroy an all-neighbors index parameters struct.
- cuvs
Binary ⚠Quantizer Create - @brief Allocate Binary Quantizer and populate with default values
- cuvs
Binary ⚠Quantizer Destroy - @brief De-allocate Binary Quantizer
- cuvs
Binary ⚠Quantizer Params Create - @brief Allocate Binary Quantizer params, and populate with default values
- cuvs
Binary ⚠Quantizer Params Destroy - @brief De-allocate Binary Quantizer params
- cuvs
Binary ⚠Quantizer Train - @brief Trains a binary quantizer to be used later for quantizing the dataset.
- cuvs
Binary ⚠Quantizer Transform - @brief Applies binary quantization transform to the given dataset
- cuvs
Binary ⚠Quantizer Transform With Params - @brief Applies binary quantization transform to the given dataset
- cuvs
Brute ⚠Force Build - @defgroup bruteforce_c_index_build Bruteforce index build
@{
/
/**
@brief Build a BRUTEFORCE index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCUDA,kDLCUDAHost,kDLCUDAManaged, orkDLCPU. Also, acceptable underlying types are: 1.kDLDataType.code == kDLFloatandkDLDataType.bits = 322.kDLDataType.code == kDLFloatandkDLDataType.bits = 16 - cuvs
Brute ⚠Force Deserialize - Load index from file. The serialization format can be subject to changes, therefore loading an index saved with a previous version of cuvs is not guaranteed to work.
- cuvs
Brute ⚠Force Index Create - @brief Allocate BRUTEFORCE index
- cuvs
Brute ⚠Force Index Destroy - @brief De-allocate BRUTEFORCE index
- cuvs
Brute ⚠Force Search - @defgroup bruteforce_c_index_search Bruteforce index search
@{
/
/**
@brief Search a BRUTEFORCE index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCUDA,kDLCUDAHost,kDLCUDAManaged. It is also important to note that the BRUTEFORCE index must have been built with the same type ofqueries, such thatindex.dtype.code == queries.dl_tensor.dtype.codeTypes for input are: 1.queries:kDLDataType.code == kDLFloatandkDLDataType.bits = 32orkDLDataType.bits = 162.neighbors:kDLDataType.code == kDLUIntandkDLDataType.bits = 323.distances:kDLDataType.code == kDLFloatandkDLDataType.bits = 32 - cuvs
Brute ⚠Force Serialize - @defgroup bruteforce_c_index_serialize BRUTEFORCE C-API serialize functions @{ / /** Save the index to file. The serialization format can be subject to changes, therefore loading an index saved with a previous version of cuvs is not guaranteed to work.
- cuvs
Cagra ⚠Build - @brief Build a CAGRA index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCUDA,kDLCUDAHost,kDLCUDAManaged, orkDLCPU. Also, acceptable underlying types are: 1.kDLDataType.code == kDLFloatandkDLDataType.bits = 322.kDLDataType.code == kDLFloatandkDLDataType.bits = 163.kDLDataType.code == kDLIntandkDLDataType.bits = 84.kDLDataType.code == kDLUIntandkDLDataType.bits = 8 - cuvs
Cagra ⚠Compression Params Create - @brief Allocate CAGRA Compression params, and populate with default values
- cuvs
Cagra ⚠Compression Params Destroy - @brief De-allocate CAGRA Compression params
- cuvs
Cagra ⚠Deserialize - Load index from file.
- cuvs
Cagra ⚠Extend - @brief Extend a CAGRA index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCUDA,kDLCUDAHost,kDLCUDAManaged, orkDLCPU. Also, acceptable underlying types are: 1.kDLDataType.code == kDLFloatandkDLDataType.bits = 322.kDLDataType.code == kDLFloatandkDLDataType.bits = 163.kDLDataType.code == kDLIntandkDLDataType.bits = 84.kDLDataType.code == kDLUIntandkDLDataType.bits = 8 - cuvs
Cagra ⚠Extend Params Create - @brief Allocate CAGRA Extend params, and populate with default values
- cuvs
Cagra ⚠Extend Params Destroy - @brief De-allocate CAGRA Extend params
- cuvs
Cagra ⚠Index Create - @brief Allocate CAGRA index
- cuvs
Cagra ⚠Index Destroy - @brief De-allocate CAGRA index
- cuvs
Cagra ⚠Index From Args - Load index from a dataset and graph
- cuvs
Cagra ⚠Index GetDataset - @brief Returns a view of the CAGRA dataset
- cuvs
Cagra ⚠Index GetDims - @brief Get dimension of the CAGRA index
- cuvs
Cagra ⚠Index GetGraph - @brief Returns a view of the CAGRA graph
- cuvs
Cagra ⚠Index GetGraph Degree - @brief Get graph degree of the CAGRA index
- cuvs
Cagra ⚠Index GetSize - @brief Get size of the CAGRA index
- cuvs
Cagra ⚠Index Params Create - @brief Allocate CAGRA Index params, and populate with default values
- cuvs
Cagra ⚠Index Params Destroy - @brief De-allocate CAGRA Index params
- cuvs
Cagra ⚠Index Params From Hnsw Params - @brief Create CAGRA index parameters similar to an HNSW index
- cuvs
Cagra ⚠Merge - @brief Merge multiple CAGRA indices into a single CAGRA index.
- cuvs
Cagra ⚠Search - @defgroup cagra_c_index_search C API for CUDA ANN Graph-based nearest neighbor search
@{
/
/**
@brief Search a CAGRA index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCUDA,kDLCUDAHost,kDLCUDAManaged. It is also important to note that the CAGRA Index must have been built with the same type ofqueries, such thatindex.dtype.code == queries.dl_tensor.dtype.codeTypes for input are: 1.queries: a.kDLDataType.code == kDLFloatandkDLDataType.bits = 32b.kDLDataType.code == kDLFloatandkDLDataType.bits = 16c.kDLDataType.code == kDLIntandkDLDataType.bits = 8d.kDLDataType.code == kDLUIntandkDLDataType.bits = 82.neighbors:kDLDataType.code == kDLUIntandkDLDataType.bits = 32orkDLDataType.code == kDLIntandkDLDataType.bits = 643.distances:kDLDataType.code == kDLFloatandkDLDataType.bits = 32 - cuvs
Cagra ⚠Search Params Create - @brief Allocate CAGRA search params, and populate with default values
- cuvs
Cagra ⚠Search Params Destroy - @brief De-allocate CAGRA search params
- cuvs
Cagra ⚠Serialize - @defgroup cagra_c_index_serialize CAGRA C-API serialize functions @{ / /** Save the index to file.
- cuvs
Cagra ⚠Serialize ToHnswlib - Save the CAGRA index to file in hnswlib format. NOTE: The saved index can only be read by the hnswlib wrapper in cuVS, as the serialization format is not compatible with the original hnswlib.
- cuvs
Device ⚠IdGet - @brief Get the id of the device associated with this cuvsResources_t
- cuvs
GetLast ⚠Error Text - @brief Returns a string describing the last seen error on this thread, or NULL if the last function succeeded.
- cuvs
GetLog ⚠Level - @brief Returns the current log level
- cuvs
Hnsw ⚠AceParams Create - @brief Allocate HNSW ACE params, and populate with default values
- cuvs
Hnsw ⚠AceParams Destroy - @brief De-allocate HNSW ACE params
- cuvs
Hnsw ⚠Build - @brief Build an HNSW index using ACE (Augmented Core Extraction) algorithm.
- cuvs
Hnsw ⚠Deserialize - Load hnswlib index from file which was serialized from a HNSW index.
NOTE: When hierarchy is
NONE, the loaded hnswlib index is immutable, and only be read by the hnswlib wrapper in cuVS, as the serialization format is not compatible with the original hnswlib. Experimental, both the API and the serialization format are subject to change. - cuvs
Hnsw ⚠Extend - @brief Add new vectors to an HNSW index
NOTE: The HNSW index can only be extended when the hierarchy is
CPUwhen converting from a CAGRA index. - cuvs
Hnsw ⚠Extend Params Create - @brief Allocate HNSW extend params, and populate with default values
- cuvs
Hnsw ⚠Extend Params Destroy - @brief De-allocate HNSW extend params
- cuvs
Hnsw ⚠From Cagra - @brief Convert a CAGRA Index to an HNSW index.
NOTE: When hierarchy is:
1.
NONE: This method uses the filesystem to write the CAGRA index in/tmp/<random_number>.binbefore reading it as an hnswlib index, then deleting the temporary file. The returned index is immutable and can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib. 2.CPU: The returned index is mutable and can be extended with additional vectors. The serialized index is also compatible with the original hnswlib library. - cuvs
Hnsw ⚠From Cagra With Dataset - cuvs
Hnsw ⚠Index Create - @brief Allocate HNSW index
- cuvs
Hnsw ⚠Index Destroy - @brief De-allocate HNSW index
- cuvs
Hnsw ⚠Index Params Create - @brief Allocate HNSW Index params, and populate with default values
- cuvs
Hnsw ⚠Index Params Destroy - @brief De-allocate HNSW Index params
- cuvs
Hnsw ⚠Search - @defgroup hnsw_c_index_search C API for CUDA ANN Graph-based nearest neighbor search
@{
/
/**
@brief Search a HNSW index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCPU,kDLCUDAHost, orkDLCUDAManaged. It is also important to note that the HNSW Index must have been built with the same type ofqueries, such thatindex.dtype.code == queries.dl_tensor.dtype.codeSupported types for input are: 1.queries: a.kDLDataType.code == kDLFloatandkDLDataType.bits = 32b.kDLDataType.code == kDLIntandkDLDataType.bits = 8c.kDLDataType.code == kDLUIntandkDLDataType.bits = 82.neighbors:kDLDataType.code == kDLUIntandkDLDataType.bits = 643.distances:kDLDataType.code == kDLFloatandkDLDataType.bits = 32NOTE: When hierarchy isNONE, the HNSW index can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib. - cuvs
Hnsw ⚠Search Params Create - @brief Allocate HNSW search params, and populate with default values
- cuvs
Hnsw ⚠Search Params Destroy - @brief De-allocate HNSW search params
- cuvs
Hnsw ⚠Serialize - @brief Serialize a CAGRA index to a file as an hnswlib index
NOTE: When hierarchy is
NONE, the saved hnswlib index is immutable and can only be read by the hnswlib wrapper in cuVS, as the serialization format is not compatible with the original hnswlib. However, when hierarchy isCPU, the saved hnswlib index is compatible with the original hnswlib library. - cuvs
IvfFlat ⚠Build - @defgroup ivf_flat_c_index_build IVF-Flat index build
@{
/
/**
@brief Build a IVF-Flat index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCUDA,kDLCUDAHost,kDLCUDAManaged, orkDLCPU. Also, acceptable underlying types are: 1.kDLDataType.code == kDLFloatandkDLDataType.bits = 322.kDLDataType.code == kDLIntandkDLDataType.bits = 83.kDLDataType.code == kDLUIntandkDLDataType.bits = 8 - cuvs
IvfFlat ⚠Deserialize - Load index from file.
- cuvs
IvfFlat ⚠Extend - @defgroup ivf_flat_c_index_extend IVF-Flat index extend @{ / /** @brief Extend the index with the new data.
- cuvs
IvfFlat ⚠Index Create - @brief Allocate IVF-Flat index
- cuvs
IvfFlat ⚠Index Destroy - @brief De-allocate IVF-Flat index
- cuvs
IvfFlat ⚠Index GetCenters - @brief Get the cluster centers corresponding to the lists [n_lists, dim]
- cuvs
IvfFlat ⚠Index GetDim - Get the dimensionality of the data
- cuvs
IvfFlat ⚠Index GetN Lists - Get the number of clusters/inverted lists
- cuvs
IvfFlat ⚠Index Params Create - @brief Allocate IVF-Flat Index params, and populate with default values
- cuvs
IvfFlat ⚠Index Params Destroy - @brief De-allocate IVF-Flat Index params
- cuvs
IvfFlat ⚠Search - @defgroup ivf_flat_c_index_search IVF-Flat index search
@{
/
/**
@brief Search a IVF-Flat index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCUDA,kDLCUDAHost,kDLCUDAManaged. It is also important to note that the IVF-Flat Index must have been built with the same type ofqueries, such thatindex.dtype.code == queries.dl_tensor.dtype.codeTypes for input are: 1.queries:kDLDataType.code == kDLFloatandkDLDataType.bits = 322.neighbors:kDLDataType.code == kDLUIntandkDLDataType.bits = 323.distances:kDLDataType.code == kDLFloatandkDLDataType.bits = 32 - cuvs
IvfFlat ⚠Search Params Create - @brief Allocate IVF-Flat search params, and populate with default values
- cuvs
IvfFlat ⚠Search Params Destroy - @brief De-allocate IVF-Flat search params
- cuvs
IvfFlat ⚠Serialize - @defgroup ivf_flat_c_index_serialize IVF-Flat C-API serialize functions @{ / /** Save the index to file.
- cuvs
IvfPq ⚠Build - @defgroup ivf_pq_c_index_build IVF-PQ index build
@{
/
/**
@brief Build a IVF-PQ index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCUDA,kDLCUDAHost,kDLCUDAManaged, orkDLCPU. Also, acceptable underlying types are: 1.kDLDataType.code == kDLFloatandkDLDataType.bits = 322.kDLDataType.code == kDLFloatandkDLDataType.bits = 163.kDLDataType.code == kDLIntandkDLDataType.bits = 84.kDLDataType.code == kDLUIntandkDLDataType.bits = 8 - cuvs
IvfPq ⚠Build Precomputed - @brief Build a view-type IVF-PQ index from device memory precomputed centroids and codebook.
- cuvs
IvfPq ⚠Deserialize - Load index from file.
- cuvs
IvfPq ⚠Extend - @defgroup ivf_pq_c_index_extend IVF-PQ index extend @{ / /** @brief Extend the index with the new data.
- cuvs
IvfPq ⚠Index Create - @brief Allocate IVF-PQ index
- cuvs
IvfPq ⚠Index Destroy - @brief De-allocate IVF-PQ index
- cuvs
IvfPq ⚠Index GetCenters - @brief Get the cluster centers corresponding to the lists in the original space
- cuvs
IvfPq ⚠Index GetCenters Padded - @brief Get the padded cluster centers [n_lists, dim_ext] where dim_ext = round_up(dim + 1, 8)
- cuvs
IvfPq ⚠Index GetCenters Rot - @brief Get the rotated cluster centers [n_lists, rot_dim] where rot_dim = pq_len * pq_dim
- cuvs
IvfPq ⚠Index GetDim - Get the dimensionality
- cuvs
IvfPq ⚠Index GetList Indices - @brief Get the indices of each vector in a ivf-pq list
- cuvs
IvfPq ⚠Index GetList Sizes - @brief Get the sizes of each list
- cuvs
IvfPq ⚠Index GetN Lists - Get the number of clusters/inverted lists
- cuvs
IvfPq ⚠Index GetPq Bits - Get the bit length of an encoded vector element after compression by PQ.
- cuvs
IvfPq ⚠Index GetPq Centers - @brief Get the PQ cluster centers
- cuvs
IvfPq ⚠Index GetPq Dim - Get the dimensionality of an encoded vector after compression by PQ.
- cuvs
IvfPq ⚠Index GetPq Len - Get the Dimensionality of a subspace, i.e. the number of vector components mapped to a subspace
- cuvs
IvfPq ⚠Index GetRotation Matrix - @brief Get the rotation matrix [rot_dim, dim] Transform matrix (original space -> rotated padded space)
- cuvs
IvfPq ⚠Index GetSize - Get the size of the index
- cuvs
IvfPq ⚠Index Params Create - @brief Allocate IVF-PQ Index params, and populate with default values
- cuvs
IvfPq ⚠Index Params Destroy - @brief De-allocate IVF-PQ Index params
- cuvs
IvfPq ⚠Index Unpack Contiguous List Data - @brief Unpack
n_rowsconsecutive PQ encoded vectors of a single list (cluster) in the compressed index starting at givenoffset, not expanded to one code per byte. Each code in the output buffer occupies ceildiv(index.pq_dim() * index.pq_bits(), 8) bytes. - cuvs
IvfPq ⚠Search - @defgroup ivf_pq_c_index_search IVF-PQ index search
@{
/
/**
@brief Search a IVF-PQ index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCUDA,kDLCUDAHost,kDLCUDAManaged. It is also important to note that the IVF-PQ Index must have been built with the same type ofqueries, such thatindex.dtype.code == queries.dl_tensor.dtype.codeTypes for input are: 1.queries:kDLDataType.code == kDLFloatandkDLDataType.bits = 32orkDLDataType.bits = 162.neighbors:kDLDataType.code == kDLUIntandkDLDataType.bits = 323.distances:kDLDataType.code == kDLFloatandkDLDataType.bits = 32 - cuvs
IvfPq ⚠Search Params Create - @brief Allocate IVF-PQ search params, and populate with default values
- cuvs
IvfPq ⚠Search Params Destroy - @brief De-allocate IVF-PQ search params
- cuvs
IvfPq ⚠Serialize - @defgroup ivf_pq_c_index_serialize IVF-PQ C-API serialize functions @{ / /** Save the index to file.
- cuvs
IvfPq ⚠Transform - @defgroup ivf_pq_c_index_transform IVF-PQ index transform @{ / /** @brief Transform the input data by applying pq-encoding
- cuvsK
Means ⚠Cluster Cost - @brief Compute cluster cost
- cuvsK
Means ⚠Fit - @brief Find clusters with k-means algorithm.
- cuvsK
Means ⚠Params Create - @brief Allocate KMeans params, and populate with default values
- cuvsK
Means ⚠Params Destroy - @brief De-allocate KMeans params
- cuvsK
Means ⚠Predict - @brief Predict the closest cluster each sample in X belongs to.
- cuvs
Matrix ⚠Copy - @brief Copy a matrix
- cuvs
Matrix ⚠Slice Rows - @brief Slices rows from a matrix
- cuvs
Multi ⚠GpuCagra Build - @brief Build a Multi-GPU CAGRA index
- cuvs
Multi ⚠GpuCagra Deserialize - @brief Deserialize a Multi-GPU CAGRA index from file
- cuvs
Multi ⚠GpuCagra Distribute - @brief Distribute a local CAGRA index to create a Multi-GPU index
- cuvs
Multi ⚠GpuCagra Extend - @brief Extend a Multi-GPU CAGRA index
- cuvs
Multi ⚠GpuCagra Index Create - @brief Allocate Multi-GPU CAGRA index
- cuvs
Multi ⚠GpuCagra Index Destroy - @brief De-allocate Multi-GPU CAGRA index
- cuvs
Multi ⚠GpuCagra Index Params Create - @brief Allocate Multi-GPU CAGRA Index params, and populate with default values
- cuvs
Multi ⚠GpuCagra Index Params Destroy - @brief De-allocate Multi-GPU CAGRA Index params
- cuvs
Multi ⚠GpuCagra Search - @brief Search a Multi-GPU CAGRA index
- cuvs
Multi ⚠GpuCagra Search Params Create - @brief Allocate Multi-GPU CAGRA search params, and populate with default values
- cuvs
Multi ⚠GpuCagra Search Params Destroy - @brief De-allocate Multi-GPU CAGRA search params
- cuvs
Multi ⚠GpuCagra Serialize - @brief Serialize a Multi-GPU CAGRA index to file
- cuvs
Multi ⚠GpuIvf Flat Build - @brief Build a Multi-GPU IVF-Flat index
- cuvs
Multi ⚠GpuIvf Flat Deserialize - @brief Deserialize a Multi-GPU IVF-Flat index from file
- cuvs
Multi ⚠GpuIvf Flat Distribute - @brief Distribute a local IVF-Flat index to create a Multi-GPU index
- cuvs
Multi ⚠GpuIvf Flat Extend - @brief Extend a Multi-GPU IVF-Flat index
- cuvs
Multi ⚠GpuIvf Flat Index Create - @brief Allocate Multi-GPU IVF-Flat index
- cuvs
Multi ⚠GpuIvf Flat Index Destroy - @brief De-allocate Multi-GPU IVF-Flat index
- cuvs
Multi ⚠GpuIvf Flat Index Params Create - @brief Allocate Multi-GPU IVF-Flat Index params, and populate with default values
- cuvs
Multi ⚠GpuIvf Flat Index Params Destroy - @brief De-allocate Multi-GPU IVF-Flat Index params
- cuvs
Multi ⚠GpuIvf Flat Search - @brief Search a Multi-GPU IVF-Flat index
- cuvs
Multi ⚠GpuIvf Flat Search Params Create - @brief Allocate Multi-GPU IVF-Flat search params, and populate with default values
- cuvs
Multi ⚠GpuIvf Flat Search Params Destroy - @brief De-allocate Multi-GPU IVF-Flat search params
- cuvs
Multi ⚠GpuIvf Flat Serialize - @brief Serialize a Multi-GPU IVF-Flat index to file
- cuvs
Multi ⚠GpuIvf PqBuild - @brief Build a Multi-GPU IVF-PQ index
- cuvs
Multi ⚠GpuIvf PqDeserialize - @brief Deserialize a Multi-GPU IVF-PQ index from file
- cuvs
Multi ⚠GpuIvf PqDistribute - @brief Distribute a local IVF-PQ index to create a Multi-GPU index
- cuvs
Multi ⚠GpuIvf PqExtend - @brief Extend a Multi-GPU IVF-PQ index
- cuvs
Multi ⚠GpuIvf PqIndex Create - @brief Allocate Multi-GPU IVF-PQ index
- cuvs
Multi ⚠GpuIvf PqIndex Destroy - @brief De-allocate Multi-GPU IVF-PQ index
- cuvs
Multi ⚠GpuIvf PqIndex Params Create - @brief Allocate Multi-GPU IVF-PQ Index params, and populate with default values
- cuvs
Multi ⚠GpuIvf PqIndex Params Destroy - @brief De-allocate Multi-GPU IVF-PQ Index params
- cuvs
Multi ⚠GpuIvf PqSearch - @brief Search a Multi-GPU IVF-PQ index
- cuvs
Multi ⚠GpuIvf PqSearch Params Create - @brief Allocate Multi-GPU IVF-PQ search params, and populate with default values
- cuvs
Multi ⚠GpuIvf PqSearch Params Destroy - @brief De-allocate Multi-GPU IVF-PQ search params
- cuvs
Multi ⚠GpuIvf PqSerialize - @brief Serialize a Multi-GPU IVF-PQ index to file
- cuvs
Multi ⚠GpuResources Create - @brief Create an Initialized opaque C handle for C++ type
raft::device_resources_snmgfor multi-GPU operations - cuvs
Multi ⚠GpuResources Create With Device Ids - @brief Create an Initialized opaque C handle for C++ type
raft::device_resources_snmgfor multi-GPU operations with specific device IDs - cuvs
Multi ⚠GpuResources Destroy - @brief Destroy and de-allocate opaque C handle for C++ type
raft::device_resources_snmg - cuvs
Multi ⚠GpuResources SetMemory Pool - @brief Set a memory pool on all devices managed by the multi-GPU resources
- cuvsNN
Descent ⚠Build - @defgroup nn_descent_c_index_build NN-Descent index build
@{
/
/**
@brief Build a NN-Descent index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCUDA,kDLCUDAHost,kDLCUDAManaged, orkDLCPU. Also, acceptable underlying types are: 1.kDLDataType.code == kDLFloatandkDLDataType.bits = 322.kDLDataType.code == kDLFloatandkDLDataType.bits = 163.kDLDataType.code == kDLIntandkDLDataType.bits = 84.kDLDataType.code == kDLUIntandkDLDataType.bits = 8 - cuvsNN
Descent ⚠Index Create - @brief Allocate NN-Descent index
- cuvsNN
Descent ⚠Index Destroy - @brief De-allocate NN-Descent index
- cuvsNN
Descent ⚠Index GetDistances - @brief Get the distances from a build NN_Descent index
- cuvsNN
Descent ⚠Index GetGraph - @brief Get the KNN graph from a built NN-Descent index
- cuvsNN
Descent ⚠Index Params Create - @brief Allocate NN-Descent Index params, and populate with default values
- cuvsNN
Descent ⚠Index Params Destroy - @brief De-allocate NN-Descent Index params
- cuvs
Pairwise ⚠Distance - @brief Compute pairwise distances for two matrices
- cuvs
PcaFit ⚠ - @brief Perform PCA fit operation.
- cuvs
PcaFit ⚠Transform - @brief Perform PCA fit and transform in a single operation.
- cuvs
PcaInverse ⚠Transform - @brief Perform PCA inverse transform operation.
- cuvs
PcaParams ⚠Create - @brief Allocate PCA params and populate with default values.
- cuvs
PcaParams ⚠Destroy - @brief De-allocate PCA params.
- cuvs
PcaTransform ⚠ - @brief Perform PCA transform operation.
- cuvs
Product ⚠Quantizer Build - @brief Builds a product quantizer to be used later for quantizing the dataset.
- cuvs
Product ⚠Quantizer Create - @brief Allocate Product Quantizer
- cuvs
Product ⚠Quantizer Destroy - @brief De-allocate Product Quantizer
- cuvs
Product ⚠Quantizer GetEncoded Dim - @brief Get the encoded dimension of the quantized dataset.
- cuvs
Product ⚠Quantizer GetPq Bits - @brief Get the bit length of the vector element after compression by PQ.
- cuvs
Product ⚠Quantizer GetPq Codebook - @brief Get the PQ codebook.
- cuvs
Product ⚠Quantizer GetPq Dim - @brief Get the dimensionality of the vector after compression by PQ.
- cuvs
Product ⚠Quantizer GetUse Vq - @brief Get whether VQ is used.
- cuvs
Product ⚠Quantizer GetVq Codebook - @brief Get the VQ codebook.
- cuvs
Product ⚠Quantizer Inverse Transform - @brief Applies product quantization inverse transform to the given quantized codes
- cuvs
Product ⚠Quantizer Params Create - @brief Allocate Product Quantizer params, and populate with default values
- cuvs
Product ⚠Quantizer Params Destroy - @brief De-allocate Product Quantizer params
- cuvs
Product ⚠Quantizer Transform - @brief Applies product quantization transform to the given dataset
- cuvsRMM
Alloc ⚠ - @brief Allocates device memory using RMM
- cuvsRMM
Free ⚠ - @brief Deallocates device memory using RMM
- cuvsRMM
Host ⚠Alloc - @brief Allocates pinned memory on the host using RMM @param[out] ptr Pointer to allocated host memory @param[in] bytes Size in bytes to allocate @return cuvsError_t
- cuvsRMM
Host ⚠Free - @brief Deallocates pinned memory on the host using RMM @param[in] ptr Pointer to allocated host memory to free @param[in] bytes Size in bytes to deallocate @return cuvsError_t
- cuvsRMM
Memory ⚠Resource Reset - @brief Resets the memory resource to use the default memory resource (cuda_memory_resource) @return cuvsError_t
- cuvsRMM
Pool ⚠Memory Resource Enable - @brief Switches the working memory resource to use the RMM pool memory resource, which will bypass unnecessary synchronizations by allocating a chunk of device memory up front and carving that up for temporary memory allocations within algorithms. Be aware that this function will change the memory resource for the whole process and the new memory resource will be used until explicitly changed.
- cuvs
Refine ⚠ - @defgroup ann_refine_c Approximate Nearest Neighbors Refinement C-API @{ / /** @brief Refine nearest neighbor search.
- cuvs
Resources ⚠Create - @brief Create an Initialized opaque C handle for C++ type
raft::resources - cuvs
Resources ⚠Destroy - @brief Destroy and de-allocate opaque C handle for C++ type
raft::resources - cuvs
Scalar ⚠Quantizer Create - @brief Allocate Scalar Quantizer and populate with default values
- cuvs
Scalar ⚠Quantizer Destroy - @brief De-allocate Scalar Quantizer
- cuvs
Scalar ⚠Quantizer Inverse Transform - @brief Perform inverse quantization step on previously quantized dataset
- cuvs
Scalar ⚠Quantizer Params Create - @brief Allocate Scalar Quantizer params, and populate with default values
- cuvs
Scalar ⚠Quantizer Params Destroy - @brief De-allocate Scalar Quantizer params
- cuvs
Scalar ⚠Quantizer Train - @brief Trains a scalar quantizer to be used later for quantizing the dataset.
- cuvs
Scalar ⚠Quantizer Transform - @brief Applies quantization transform to given dataset
- cuvs
SetLast ⚠Error Text - @brief Sets a string describing an error seen on the thread. Passing NULL clears any previously seen error message.
- cuvs
SetLog ⚠Level - @brief Sets the log level
- cuvs
Stream ⚠Get - @brief Get the cudaStream_t from a cuvsResources_t
- cuvs
Stream ⚠Set - @brief Set cudaStream_t on cuvsResources_t to queue CUDA kernels on APIs that accept a cuvsResources_t handle
- cuvs
Stream ⚠Sync - @brief Syncs the current CUDA stream on the resources object
- cuvs
Tiered ⚠Index Build - @defgroup tieredindex_c_index_build Tiered index build
@{
/
/**
@brief Build a TieredIndex index with a
DLManagedTensorwhich has underlyingDLDeviceTypeequal tokDLCUDA,kDLCUDAHost,kDLCUDAManaged, orkDLCPU. Also, acceptable underlying types are: 1.kDLDataType.code == kDLFloatandkDLDataType.bits = 322.kDLDataType.code == kDLFloatandkDLDataType.bits = 16 - cuvs
Tiered ⚠Index Create - @brief Allocate Tiered Index
- cuvs
Tiered ⚠Index Destroy - @brief De-allocate Tiered index
- cuvs
Tiered ⚠Index Extend - @} / /** @defgroup tiered_c_index_extend Tiered index extend @{ / /** @brief Extend the index with the new data.
- cuvs
Tiered ⚠Index Merge - @defgroup tiered_c_index_merge Tiered index merge @{ / /** @brief Merge multiple indices together into a single index
- cuvs
Tiered ⚠Index Params Create - @brief Allocate Tiered Index Params and populate with default values
- cuvs
Tiered ⚠Index Params Destroy - @brief De-allocate Tiered Index params
- cuvs
Tiered ⚠Index Search - @defgroup tieredindex_c_index_search Tiered index search
@{
/
/**
@brief Search a TieredIndex index with a
DLManagedTensor - cuvs
Vamana ⚠Build - @brief Build Vamana index
- cuvs
Vamana ⚠Index Create - @brief Allocate Vamana index
- cuvs
Vamana ⚠Index Destroy - @brief De-allocate Vamana index
- cuvs
Vamana ⚠Index GetDims - @brief Get the dimension of the index
- cuvs
Vamana ⚠Index Params Create - @brief Allocate Vamana Index params, and populate with default values
- cuvs
Vamana ⚠Index Params Destroy - @brief De-allocate Vamana Index params
- cuvs
Vamana ⚠Serialize - @brief Save Vamana index to file
- cuvs
Version ⚠Get - @brief Get the version of the cuVS library @param[out] major Major version @param[out] minor Minor version @param[out] patch Patch version @return cuvsError_t
Type Aliases§
- cuda
Stream_ t - cuvs
AceParams_ t - cuvs
AllNeighbors Index Params_ t - cuvs
Binary Quantizer Params_ t - cuvs
Binary Quantizer_ t - cuvs
Brute Force Index_ t - cuvs
Cagra Compression Params_ t - cuvs
Cagra Extend Params_ t - cuvs
Cagra Index Params_ t - cuvs
Cagra Index_ t - cuvs
Cagra Search Params_ t - cuvs
Hnsw AceParams_ t - cuvs
Hnsw Extend Params_ t - cuvs
Hnsw Index Params_ t - cuvs
Hnsw Index_ t - cuvs
Hnsw Search Params_ t - cuvs
IvfFlat Index Params_ t - cuvs
IvfFlat Index_ t - cuvs
IvfFlat Search Params_ t - cuvs
IvfPq Index Params_ t - cuvs
IvfPq Index_ t - cuvs
IvfPq Params_ t - cuvs
IvfPq Search Params_ t - cuvsK
Means Params_ t - cuvs
Multi GpuCagra Index Params_ t - cuvs
Multi GpuCagra Index_ t - cuvs
Multi GpuCagra Search Params_ t - cuvs
Multi GpuIvf Flat Index Params_ t - cuvs
Multi GpuIvf Flat Index_ t - cuvs
Multi GpuIvf Flat Search Params_ t - cuvs
Multi GpuIvf PqIndex Params_ t - cuvs
Multi GpuIvf PqIndex_ t - cuvs
Multi GpuIvf PqSearch Params_ t - cuvsNN
Descent Index Params_ t - cuvsNN
Descent Index_ t - cuvs
PcaParams_ t - cuvs
Product Quantizer Params_ t - cuvs
Product Quantizer_ t - cuvs
Resources_ t - @brief An opaque C handle for C++ type
raft::resources - cuvs
Scalar Quantizer Params_ t - cuvs
Scalar Quantizer_ t - cuvs
Tiered Index Params_ t - cuvs
Tiered Index_ t - cuvs
Vamana Index Params_ t - cuvs
Vamana Index_ t