Skip to main content

cuvsBruteForceSearch

Function cuvsBruteForceSearch 

Source
pub unsafe extern "C" fn cuvsBruteForceSearch(
    res: cuvsResources_t,
    index: cuvsBruteForceIndex_t,
    queries: *mut DLManagedTensor,
    neighbors: *mut DLManagedTensor,
    distances: *mut DLManagedTensor,
    prefilter: cuvsFilter,
) -> cuvsError_t
Expand description

@defgroup bruteforce_c_index_search Bruteforce index search @{ / /** @brief Search a BRUTEFORCE index with a DLManagedTensor which has underlying DLDeviceType equal to kDLCUDA, kDLCUDAHost, kDLCUDAManaged. It is also important to note that the BRUTEFORCE 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/brute_force.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; DLManagedTensor bitmap;

cuvsFilter prefilter{(uintptr_t)&bitmap, BITMAP};

// Search the index built using cuvsBruteForceBuild cuvsError_t search_status = cuvsBruteForceSearch(res, index, &queries, &neighbors, &distances, prefilter);

// de-allocate res cuvsError_t res_destroy_status = cuvsResourcesDestroy(res); @endcode

@param[in] res cuvsResources_t opaque C handle @param[in] index cuvsBruteForceIndex which has been returned by cuvsBruteForceBuild @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 @param[in] prefilter cuvsFilter input prefilter that can be used to filter queries and neighbors based on the given bitmap.