结构体 faiss::gpu::ToGpuCloner

struct ToGpuCloner : public faiss::Cloner, public faiss::gpu::GpuClonerOptions

专门用于 CPU -> 1 GPU 的Cloner

公共函数

ToGpuCloner(GpuResourcesProvider *prov, int device, const GpuClonerOptions &options)
virtual Index *clone_Index(const Index *index) override
virtual VectorTransform *clone_VectorTransform(const VectorTransform*)
virtual IndexIVF *clone_IndexIVF(const IndexIVF*)

公共成员

GpuResourcesProvider *provider
int device
IndicesOptions indicesOptions = INDICES_64_BIT

在支持索引的索引类型上(除了 GpuIndexFlat* 之外的所有类型),应该如何存储索引?

bool useFloat16CoarseQuantizer = false

粗量化器是否使用 float16?

bool useFloat16 = false

对于 GpuIndexIVFFlat,是否使用 float16 进行存储? 对于 GpuIndexIVFPQ,中间计算是否使用 float16?

bool usePrecomputed = false

使用预计算表吗?

long reserveVecs = 0

在 invfiles 中保留向量吗?

bool storeTransposed = false

对于 GpuIndexFlat,是否以转置布局存储数据?

bool verbose = false

在索引上设置 verbose 选项。

bool use_cuvs = false

使用 cuVS 实现

bool allowCpuCoarseQuantizer = false

这个标志控制索引的粗量化器组件的 CPU 回退逻辑。 当设置为 false(默认)时,对于 GPU 上未实现的索引,克隆器将抛出异常。 当设置为 true 时,它将回退到 CPU 实现。