结构体 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?
-
bool useFloat16LookupTables = false