结构体 faiss::gpu::GpuIndexIVFPQConfig

struct GpuIndexIVFPQConfig : public faiss::gpu::GpuIndexIVFConfig

公共成员

bool useFloat16LookupTables = false

是否在列表扫描内核中使用 float16 残差距离表。 当 subQuantizers * 2^bitsPerCode > 16384 时,这是必需的。

bool usePrecomputedTables = false

是否启用搜索的预计算表选项,这会大大增加内存需求。

bool interleavedLayout = false

对 IVF 列表使用替代内存布局。警告:这是一项正在开发中的功能,仅在为索引启用 cuVS 时才受支持。 如果未启用 cuVS,请勿使用。

bool useMMCodeDistance = false

对于 IVFPQ 的无预计算表版本,使用 GEMM 支持的 PQ 代码距离计算。 这是为了调试目的,它不应从任何一方面显着影响结果。

请注意,如果使用每个子量化器的维度数量未进行本地专门化(例如 7 左右的奇数),则会自动启用 MM 代码距离。

IndicesOptions indicesOptions = INDICES_64_BIT

GPU 的 Index 存储选项。

GpuIndexFlatConfig flatConfig

粗量化器对象的配置。

bool allowCpuCoarseQuantizer = false

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

int device = 0

索引所在的 GPU 设备。

MemorySpace memorySpace = MemorySpace::Device

用于主存储的内存空间。 在 Pascal 及更高版本(CC 6+)架构上,允许 GPU 使用比 GPU 上可用的更多的内存。

bool use_cuvs = false

索引是否应分派到 cuVS?