11 #include "../utils/DeviceTensor.cuh"
12 #include "../utils/DeviceVector.cuh"
13 #include "../utils/Float16.cuh"
14 #include "../utils/MemorySpace.h"
16 namespace faiss {
namespace gpu {
27 bool useFloat16Accumulator,
31 bool getUseFloat16()
const;
39 void reserve(
size_t numVecs, cudaStream_t stream);
44 #ifdef FAISS_USE_FLOAT16
64 #ifdef FAISS_USE_FLOAT16
74 void add(
const float* data,
int numVecs, cudaStream_t stream);
87 const bool useFloat16_;
90 const bool useFloat16Accumulator_;
94 const bool storeTransposed_;
112 #ifdef FAISS_USE_FLOAT16
121 #ifdef FAISS_USE_FLOAT16
DeviceTensor< float, 2, true > getVectorsFloat32Copy(cudaStream_t stream)
int getSize() const
Returns the number of vectors we contain.
Holder of GPU resources for a particular flat index.
void reserve(size_t numVecs, cudaStream_t stream)
Reserve storage that can contain at least this many vectors.
void add(const float *data, int numVecs, cudaStream_t stream)
Tensor< float, 2, true > & getVectorsFloat32Ref()
Returns a reference to our vectors currently in use.
void reset()
Free all storage.