pub unsafe extern "C" fn cuvsIvfPqSearch(
res: cuvsResources_t,
search_params: cuvsIvfPqSearchParams_t,
index: cuvsIvfPqIndex_t,
queries: *mut DLManagedTensor,
neighbors: *mut DLManagedTensor,
distances: *mut DLManagedTensor,
) -> cuvsError_tExpand description
@defgroup ivf_pq_c_index_search IVF-PQ index search
@{
/
/**
@brief Search a IVF-PQ index with a DLManagedTensor which has underlying
DLDeviceType equal to kDLCUDA, kDLCUDAHost, kDLCUDAManaged.
It is also important to note that the IVF-PQ Index must have been built
with the same type of queries, such that index.dtype.code == queries.dl_tensor.dtype.code Types for input are:
1. queries: kDLDataType.code == kDLFloat and kDLDataType.bits = 32
or kDLDataType.bits = 16
2. neighbors: kDLDataType.code == kDLUInt and kDLDataType.bits = 32
3. distances: kDLDataType.code == kDLFloat and kDLDataType.bits = 32
@code {.c} #include <cuvs/core/c_api.h> #include <cuvs/neighbors/ivf_pq.h>
// Create cuvsResources_t cuvsResources_t res; cuvsError_t res_create_status = cuvsResourcesCreate(&res);
// Assume a populated DLManagedTensor type here
DLManagedTensor dataset;
DLManagedTensor queries;
DLManagedTensor neighbors;
// Create default search params cuvsIvfPqSearchParams_t search_params; cuvsError_t params_create_status = cuvsIvfPqSearchParamsCreate(&search_params);
// Search the index built using cuvsIvfPqBuild
cuvsError_t search_status = cuvsIvfPqSearch(res, search_params, index, &queries, &neighbors,
&distances);
// de-allocate search_params and res
cuvsError_t params_destroy_status = cuvsIvfPqSearchParamsDestroy(search_params);
cuvsError_t res_destroy_status = cuvsResourcesDestroy(res);
@endcode
@param[in] res cuvsResources_t opaque C handle
@param[in] search_params cuvsIvfPqSearchParams_t used to search IVF-PQ index
@param[in] index cuvsIvfPqIndex which has been returned by cuvsIvfPqBuild
@param[in] queries DLManagedTensor* queries dataset to search
@param[out] neighbors DLManagedTensor* output k neighbors for queries
@param[out] distances DLManagedTensor* output k distances for queries