Skip to main content

cuvsNNDescentBuild

Function cuvsNNDescentBuild 

Source
pub unsafe extern "C" fn cuvsNNDescentBuild(
    res: cuvsResources_t,
    index_params: cuvsNNDescentIndexParams_t,
    dataset: *mut DLManagedTensor,
    graph: *mut DLManagedTensor,
    index: cuvsNNDescentIndex_t,
) -> cuvsError_t
Expand description

@defgroup nn_descent_c_index_build NN-Descent index build @{ / /** @brief Build a NN-Descent index with a DLManagedTensor which has underlying DLDeviceType equal to kDLCUDA, kDLCUDAHost, kDLCUDAManaged, or kDLCPU. Also, acceptable underlying types are: 1. kDLDataType.code == kDLFloat and kDLDataType.bits = 32 2. kDLDataType.code == kDLFloat and kDLDataType.bits = 16 3. kDLDataType.code == kDLInt and kDLDataType.bits = 8 4. kDLDataType.code == kDLUInt and kDLDataType.bits = 8

@code {.c} #include <cuvs/core/c_api.h> #include <cuvs/neighbors/nn_descent.h>

// Create cuvsResources_t cuvsResources_t res; cuvsError_t res_create_status = cuvsResourcesCreate(&res);

// Assume a populated DLManagedTensor type here DLManagedTensor dataset;

// Create default index params cuvsNNDescentIndexParams_t index_params; cuvsError_t params_create_status = cuvsNNDescentIndexParamsCreate(&index_params);

// Create NN-Descent index cuvsNNDescentIndex_t index; cuvsError_t index_create_status = cuvsNNDescentIndexCreate(&index);

// Build the NN-Descent Index cuvsError_t build_status = cuvsNNDescentBuild(res, index_params, &dataset, index);

// de-allocate index_params, index and res cuvsError_t params_destroy_status = cuvsNNDescentIndexParamsDestroy(index_params); cuvsError_t index_destroy_status = cuvsNNDescentIndexDestroy(index); cuvsError_t res_destroy_status = cuvsResourcesDestroy(res); @endcode

@param[in] res cuvsResources_t opaque C handle @param[in] index_params cuvsNNDescentIndexParams_t used to build NN-Descent index @param[in] dataset DLManagedTensor* training dataset on host or device memory @param[inout] graph Optional preallocated graph on host memory to store output @param[out] index cuvsNNDescentIndex_t Newly built NN-Descent index @return cuvsError_t