14 #include <cublas_v2.h>
15 #include "Float16.cuh"
18 namespace faiss {
namespace gpu {
24 void runMatrixMult(Tensor<float, 2, true>& c,
bool transC,
25 Tensor<float, 2, true>& a,
bool transA,
26 Tensor<float, 2, true>& b,
bool transB,
29 cublasHandle_t handle,
32 #ifdef FAISS_USE_FLOAT16
35 void runMatrixMult(Tensor<half, 2, true>& c,
bool transC,
36 Tensor<half, 2, true>& a,
bool transA,
37 Tensor<half, 2, true>& b,
bool transB,
40 cublasHandle_t handle,
47 void runIteratedMatrixMult(Tensor<float, 3, true>& c,
bool transC,
48 Tensor<float, 3, true>& a,
bool transA,
49 Tensor<float, 3, true>& b,
bool transB,
52 cublasHandle_t handle,
58 void runBatchMatrixMult(Tensor<float, 3, true>& c,
bool transC,
59 Tensor<float, 3, true>& a,
bool transA,
60 Tensor<float, 3, true>& b,
bool transB,
64 cublasHandle_t handle,