Struct faiss::gpu::ToGpuClonerMultiple

struct faiss::gpu::ToGpuClonerMultiple : public faiss::Cloner, public faiss::gpu::GpuMultipleClonerOptions

Cloner specialized for CPU -> multiple GPUs.

Public Functions

ToGpuClonerMultiple(std::vector<GpuResourcesProvider*> &provider, std::vector<int> &devices, const GpuMultipleClonerOptions &options)
ToGpuClonerMultiple(const std::vector<ToGpuCloner> &sub_cloners, const GpuMultipleClonerOptions &options)
void copy_ivf_shard(const IndexIVF *index_ivf, IndexIVF *idx2, long n, long i)
Index *clone_Index_to_shards(const Index *index)
virtual Index *clone_Index(const Index *index) override

main function

virtual VectorTransform *clone_VectorTransform(const VectorTransform*)
virtual IndexIVF *clone_IndexIVF(const IndexIVF*)

Public Members

std::vector<ToGpuCloner> sub_cloners
bool shard

Whether to shard the index across GPUs, versus replication across GPUs

int shard_type

IndexIVF::copy_subset_to subset type.

IndicesOptions indicesOptions

how should indices be stored on index types that support indices (anything but GpuIndexFlat*)?

bool useFloat16CoarseQuantizer

is the coarse quantizer in float16?

bool useFloat16

for GpuIndexIVFFlat, is storage in float16? for GpuIndexIVFPQ, are intermediate calculations in float16?

bool usePrecomputed

use precomputed tables?

long reserveVecs

reserve vectors in the invfiles?

bool storeTransposed

For GpuIndexFlat, store data in transposed layout?

bool verbose

Set verbose options on the index.