19 #include <raft/spatial/knn/detail/processing.hpp>
21 #include <cuvs/distance/distance.hpp>
22 #include <cuvs/neighbors/ivf_flat.hpp>
23 #include <cuvs/neighbors/ivf_pq.hpp>
55 std::vector<float*>& input,
56 std::vector<int>& sizes,
63 bool rowMajorIndex =
false,
64 bool rowMajorQuery =
false,
65 cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2Expanded,
66 float metric_arg = 2.0f,
67 std::vector<int64_t>* translations =
nullptr);
70 std::uintptr_t& rbc_index,
74 cuvs::distance::DistanceType metric);
77 const std::uintptr_t& rbc_index,
79 const float* search_items,
80 uint32_t n_search_items,
98 std::unique_ptr<cuvs::neighbors::ivf_flat::index<float, int64_t>>
ivf_flat;
99 std::unique_ptr<cuvs::neighbors::ivf_pq::index<int64_t>>
ivf_pq;
137 cuvs::distance::DistanceType metric,
180 int64_t* knn_indices,
181 std::vector<int*>& y,
202 int64_t* knn_indices,
203 std::vector<float*>& y,
223 std::vector<float*>& out,
224 int64_t* knn_indices,
225 std::vector<int*>& y,
Definition: params.hpp:34
Definition: dbscan.hpp:30
void knn_classify(raft::handle_t &handle, int *out, int64_t *knn_indices, std::vector< int * > &y, size_t n_index_rows, size_t n_query_rows, int k)
Flat C++ API function to perform a knn classification using a given a vector of label arrays....
void rbc_knn_query(const raft::handle_t &handle, const std::uintptr_t &rbc_index, uint32_t k, const float *search_items, uint32_t n_search_items, int64_t dim, int64_t *out_inds, float *out_dists)
void brute_force_knn(const raft::handle_t &handle, std::vector< float * > &input, std::vector< int > &sizes, int D, float *search_items, int n, int64_t *res_I, float *res_D, int k, bool rowMajorIndex=false, bool rowMajorQuery=false, cuvs::distance::DistanceType metric=cuvs::distance::DistanceType::L2Expanded, float metric_arg=2.0f, std::vector< int64_t > *translations=nullptr)
Flat C++ API function to perform a brute force knn on a series of input arrays and combine the result...
void rbc_free_index(std::uintptr_t rbc_index)
Free the RBC index.
void knn_class_proba(raft::handle_t &handle, std::vector< float * > &out, int64_t *knn_indices, std::vector< int * > &y, size_t n_index_rows, size_t n_query_rows, int k)
Flat C++ API function to compute knn class probabilities using a vector of device arrays containing d...
void knn_regress(raft::handle_t &handle, float *out, int64_t *knn_indices, std::vector< float * > &y, size_t n_index_rows, size_t n_query_rows, int k)
Flat C++ API function to perform a knn regression using a given a vector of label arrays....
void rbc_build_index(const raft::handle_t &handle, std::uintptr_t &rbc_index, float *X, int64_t n_rows, int64_t n_cols, cuvs::distance::DistanceType metric)
void approx_knn_search(raft::handle_t &handle, float *distances, int64_t *indices, knnIndex *index, int k, float *query_array, int n)
Flat C++ API function to perform an approximate nearest neighbors search from previously built index ...
void approx_knn_build_index(raft::handle_t &handle, knnIndex *index, knnIndexParam *params, cuvs::distance::DistanceType metric, float metricArg, float *index_array, int n, int D)
Flat C++ API function to build an approximate nearest neighbors index from an index array and a set o...
Definition: dbscan.hpp:26
int M
Definition: knn.hpp:116
int n_bits
Definition: knn.hpp:117
bool usePrecomputedTables
Definition: knn.hpp:118
int nprobe
Definition: knn.hpp:110
int nlist
Definition: knn.hpp:109
virtual ~knnIndexParam()
Definition: knn.hpp:105
int nprobe
Definition: knn.hpp:95
cuvs::distance::DistanceType metric
Definition: knn.hpp:93
int device
Definition: knn.hpp:101
std::unique_ptr< cuvs::neighbors::ivf_pq::index< int64_t > > ivf_pq
Definition: knn.hpp:99
float metricArg
Definition: knn.hpp:94
std::unique_ptr< cuvs::neighbors::ivf_flat::index< float, int64_t > > ivf_flat
Definition: knn.hpp:98
std::unique_ptr< raft::spatial::knn::MetricProcessor< float > > metric_processor
Definition: knn.hpp:96