Faiss
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends
IVFFlatScan.cuh
1 /**
2  * Copyright (c) 2015-present, Facebook, Inc.
3  * All rights reserved.
4  *
5  * This source code is licensed under the BSD+Patents license found in the
6  * LICENSE file in the root directory of this source tree.
7  */
8 
9 
10 #pragma once
11 
12 #include "../GpuIndicesOptions.h"
13 #include "../utils/Tensor.cuh"
14 #include <thrust/device_vector.h>
15 
16 namespace faiss { namespace gpu {
17 
18 class GpuResources;
19 
20 void runIVFFlatScan(Tensor<float, 2, true>& queries,
21  Tensor<int, 2, true>& listIds,
22  thrust::device_vector<void*>& listData,
23  thrust::device_vector<void*>& listIndices,
24  IndicesOptions indicesOptions,
25  thrust::device_vector<int>& listLengths,
26  int maxListLength,
27  int k,
28  bool l2Distance,
29  bool useFloat16,
30  // output
31  Tensor<float, 2, true>& outDistances,
32  // output
33  Tensor<long, 2, true>& outIndices,
34  GpuResources* res);
35 
36 } } // namespace