knn_mg.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2019-2025, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #pragma once
7 
10 
11 #include <raft/core/handle.hpp>
12 
13 #include <vector>
14 
15 namespace ML {
16 namespace KNN {
17 namespace opg {
18 
38 void knn(raft::handle_t& handle,
39  std::vector<MLCommon::Matrix::Data<int64_t>*>* out_I,
40  std::vector<MLCommon::Matrix::floatData_t*>* out_D,
41  std::vector<MLCommon::Matrix::floatData_t*>& idx_data,
43  std::vector<MLCommon::Matrix::floatData_t*>& query_data,
45  bool rowMajorIndex,
46  bool rowMajorQuery,
47  int k,
48  size_t batch_size,
49  bool verbose);
50 
75 void knn_classify(raft::handle_t& handle,
76  std::vector<MLCommon::Matrix::Data<int>*>* out,
77  std::vector<std::vector<float*>>* probas,
78  std::vector<MLCommon::Matrix::floatData_t*>& idx_data,
80  std::vector<MLCommon::Matrix::floatData_t*>& query_data,
82  std::vector<std::vector<int*>>& y,
83  std::vector<int*>& uniq_labels,
84  std::vector<int>& n_unique,
85  bool rowMajorIndex = false,
86  bool rowMajorQuery = false,
87  bool probas_only = false,
88  int k = 10,
89  size_t batch_size = 1 << 15,
90  bool verbose = false);
91 
113 void knn_regress(raft::handle_t& handle,
114  std::vector<MLCommon::Matrix::Data<float>*>* out,
115  std::vector<MLCommon::Matrix::floatData_t*>& idx_data,
117  std::vector<MLCommon::Matrix::floatData_t*>& query_data,
119  std::vector<std::vector<float*>>& y,
120  bool rowMajorIndex,
121  bool rowMajorQuery,
122  int k,
123  int n_outputs,
124  size_t batch_size,
125  bool verbose);
126 
127 }; // END namespace opg
128 }; // namespace KNN
129 }; // namespace ML
void knn_regress(raft::handle_t &handle, std::vector< MLCommon::Matrix::Data< float > * > *out, std::vector< MLCommon::Matrix::floatData_t * > &idx_data, MLCommon::Matrix::PartDescriptor &idx_desc, std::vector< MLCommon::Matrix::floatData_t * > &query_data, MLCommon::Matrix::PartDescriptor &query_desc, std::vector< std::vector< float * >> &y, bool rowMajorIndex, bool rowMajorQuery, int k, int n_outputs, size_t batch_size, bool verbose)
void knn_classify(raft::handle_t &handle, std::vector< MLCommon::Matrix::Data< int > * > *out, std::vector< std::vector< float * >> *probas, std::vector< MLCommon::Matrix::floatData_t * > &idx_data, MLCommon::Matrix::PartDescriptor &idx_desc, std::vector< MLCommon::Matrix::floatData_t * > &query_data, MLCommon::Matrix::PartDescriptor &query_desc, std::vector< std::vector< int * >> &y, std::vector< int * > &uniq_labels, std::vector< int > &n_unique, bool rowMajorIndex=false, bool rowMajorQuery=false, bool probas_only=false, int k=10, size_t batch_size=1<< 15, bool verbose=false)
void knn(raft::handle_t &handle, std::vector< MLCommon::Matrix::Data< int64_t > * > *out_I, std::vector< MLCommon::Matrix::floatData_t * > *out_D, std::vector< MLCommon::Matrix::floatData_t * > &idx_data, MLCommon::Matrix::PartDescriptor &idx_desc, std::vector< MLCommon::Matrix::floatData_t * > &query_data, MLCommon::Matrix::PartDescriptor &query_desc, bool rowMajorIndex, bool rowMajorQuery, int k, size_t batch_size, bool verbose)
Definition: dbscan.hpp:18
This is a helper wrapper around the multi-gpu data blocks owned by a worker. It's design is NOT final...
Definition: data.hpp:18
Definition: part_descriptor.hpp:40