14 #include "../utils/DeviceTensor.cuh"
15 #include "../utils/Float16.cuh"
17 namespace faiss {
namespace gpu {
23 void runL2Distance(GpuResources* resources,
24 Tensor<float, 2, true>& vectors,
27 Tensor<float, 1, true>* vectorNorms,
28 Tensor<float, 2, true>& queries,
30 Tensor<float, 2, true>& outDistances,
31 Tensor<int, 2, true>& outIndices,
34 bool ignoreOutDistances =
false,
42 void runIPDistance(GpuResources* resources,
43 Tensor<float, 2, true>& vectors,
44 Tensor<float, 2, true>& queries,
46 Tensor<float, 2, true>& outDistances,
47 Tensor<int, 2, true>& outIndices,
53 #ifdef FAISS_USE_FLOAT16
54 void runIPDistance(GpuResources* resources,
55 Tensor<half, 2, true>& vectors,
56 Tensor<half, 2, true>& queries,
58 Tensor<half, 2, true>& outDistances,
59 Tensor<int, 2, true>& outIndices,
62 void runL2Distance(GpuResources* resources,
63 Tensor<half, 2, true>& vectors,
64 Tensor<half, 1, true>* vectorNorms,
65 Tensor<half, 2, true>& queries,
67 Tensor<half, 2, true>& outDistances,
68 Tensor<int, 2, true>& outIndices,
69 bool ignoreOutDistances =
false,