2024-10-22 09:46:48 -07:00
|
|
|
/*
|
|
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
2018-02-26 10:23:17 +00:00
|
|
|
*
|
2019-06-12 14:46:08 +01:00
|
|
|
* This source code is licensed under the MIT license found in the
|
2018-02-26 10:23:17 +00:00
|
|
|
* LICENSE file in the root directory of this source tree.
|
|
|
|
*/
|
|
|
|
|
|
|
|
// -*- c -*-
|
|
|
|
|
|
|
|
#ifndef FAISS_GPU_CLONER_OPTIONS_C_H
|
|
|
|
#define FAISS_GPU_CLONER_OPTIONS_C_H
|
|
|
|
|
2021-03-04 05:01:59 -08:00
|
|
|
#include "../faiss_c.h"
|
2018-02-26 10:23:17 +00:00
|
|
|
#include "GpuIndicesOptions_c.h"
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
FAISS_DECLARE_CLASS(GpuClonerOptions)
|
|
|
|
|
|
|
|
FAISS_DECLARE_DESTRUCTOR(GpuClonerOptions)
|
|
|
|
|
2018-12-23 17:46:07 +00:00
|
|
|
/// Default constructor for GpuClonerOptions
|
2018-02-26 10:23:17 +00:00
|
|
|
int faiss_GpuClonerOptions_new(FaissGpuClonerOptions**);
|
|
|
|
|
|
|
|
/// how should indices be stored on index types that support indices
|
|
|
|
/// (anything but GpuIndexFlat*)?
|
2021-02-25 04:44:50 -08:00
|
|
|
FAISS_DECLARE_GETTER_SETTER(
|
|
|
|
GpuClonerOptions,
|
|
|
|
FaissIndicesOptions,
|
|
|
|
indicesOptions)
|
2018-02-26 10:23:17 +00:00
|
|
|
|
|
|
|
/// (boolean) is the coarse quantizer in float16?
|
|
|
|
FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, int, useFloat16CoarseQuantizer)
|
|
|
|
|
|
|
|
/// (boolean) for GpuIndexIVFFlat, is storage in float16?
|
|
|
|
/// for GpuIndexIVFPQ, are intermediate calculations in float16?
|
|
|
|
FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, int, useFloat16)
|
|
|
|
|
|
|
|
/// (boolean) use precomputed tables?
|
|
|
|
FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, int, usePrecomputed)
|
|
|
|
|
|
|
|
/// reserve vectors in the invfiles?
|
|
|
|
FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, long, reserveVecs)
|
|
|
|
|
|
|
|
/// (boolean) For GpuIndexFlat, store data in transposed layout?
|
|
|
|
FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, int, storeTransposed)
|
|
|
|
|
|
|
|
/// (boolean) Set verbose options on the index
|
|
|
|
FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, int, verbose)
|
|
|
|
|
|
|
|
FAISS_DECLARE_CLASS_INHERITED(GpuMultipleClonerOptions, GpuClonerOptions)
|
|
|
|
|
2018-12-23 17:46:07 +00:00
|
|
|
FAISS_DECLARE_DESTRUCTOR(GpuMultipleClonerOptions)
|
|
|
|
|
|
|
|
/// Default constructor for GpuMultipleClonerOptions
|
|
|
|
int faiss_GpuMultipleClonerOptions_new(FaissGpuMultipleClonerOptions**);
|
|
|
|
|
2018-02-26 10:23:17 +00:00
|
|
|
/// (boolean) Whether to shard the index across GPUs, versus replication
|
|
|
|
/// across GPUs
|
|
|
|
FAISS_DECLARE_GETTER_SETTER(GpuMultipleClonerOptions, int, shard)
|
|
|
|
|
|
|
|
/// IndexIVF::copy_subset_to subset type
|
|
|
|
FAISS_DECLARE_GETTER_SETTER(GpuMultipleClonerOptions, int, shard_type)
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
2021-02-25 04:44:50 -08:00
|
|
|
#endif
|