Struct faiss::gpu::GpuIndexIVFPQConfig
-
struct GpuIndexIVFPQConfig : public faiss::gpu::GpuIndexIVFConfig
Public Members
-
bool useFloat16LookupTables = false
Whether or not float16 residual distance tables are used in the list scanning kernels. When subQuantizers * 2^bitsPerCode > 16384, this is required.
-
bool usePrecomputedTables = false
Whether or not we enable the precomputed table option for search, which can substantially increase the memory requirement.
-
bool interleavedLayout = false
Use the alternative memory layout for the IVF lists WARNING: this is a feature under development, and is only supported with cuVS enabled for the index. Do not use if cuVS is not enabled.
-
bool useMMCodeDistance = false
Use GEMM-backed computation of PQ code distances for the no precomputed table version of IVFPQ. This is for debugging purposes, it should not substantially affect the results one way for another.
Note that MM code distance is enabled automatically if one uses a number of dimensions per sub-quantizer that is not natively specialized (an odd number like 7 or so).
-
IndicesOptions indicesOptions = INDICES_64_BIT
Index storage options for the GPU.
-
GpuIndexFlatConfig flatConfig
Configuration for the coarse quantizer object.
-
bool allowCpuCoarseQuantizer = false
This flag controls the CPU fallback logic for coarse quantizer component of the index. When set to false (default), the cloner will throw an exception for indices not implemented on GPU. When set to true, it will fallback to a CPU implementation.
-
int device = 0
GPU device on which the index is resident.
-
MemorySpace memorySpace = MemorySpace::Device
What memory space to use for primary storage. On Pascal and above (CC 6+) architectures, allows GPUs to use more memory than is available on the GPU.
-
bool use_cuvs = false
Should the index dispatch down to cuVS?
-
bool useFloat16LookupTables = false