1 /** 2 * Copyright (c) Facebook, Inc. and its affiliates. 3 * 4 * This source code is licensed under the MIT license found in the 5 * LICENSE file in the root directory of this source tree. 6 */ 7 8 // Copyright 2004-present Facebook. All Rights Reserved. 9 // -*- c -*- 10 11 #ifndef FAISS_GPU_CLONER_OPTIONS_C_H 12 #define FAISS_GPU_CLONER_OPTIONS_C_H 13 14 #include "../faiss_c.h" 15 #include "GpuIndicesOptions_c.h" 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 FAISS_DECLARE_CLASS(GpuClonerOptions) 22 23 FAISS_DECLARE_DESTRUCTOR(GpuClonerOptions) 24 25 /// Default constructor for GpuClonerOptions 26 int faiss_GpuClonerOptions_new(FaissGpuClonerOptions**); 27 28 /// how should indices be stored on index types that support indices 29 /// (anything but GpuIndexFlat*)? 30 FAISS_DECLARE_GETTER_SETTER( 31 GpuClonerOptions, 32 FaissIndicesOptions, 33 indicesOptions) 34 35 /// (boolean) is the coarse quantizer in float16? 36 FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, int, useFloat16CoarseQuantizer) 37 38 /// (boolean) for GpuIndexIVFFlat, is storage in float16? 39 /// for GpuIndexIVFPQ, are intermediate calculations in float16? 40 FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, int, useFloat16) 41 42 /// (boolean) use precomputed tables? 43 FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, int, usePrecomputed) 44 45 /// reserve vectors in the invfiles? 46 FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, long, reserveVecs) 47 48 /// (boolean) For GpuIndexFlat, store data in transposed layout? 49 FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, int, storeTransposed) 50 51 /// (boolean) Set verbose options on the index 52 FAISS_DECLARE_GETTER_SETTER(GpuClonerOptions, int, verbose) 53 54 FAISS_DECLARE_CLASS_INHERITED(GpuMultipleClonerOptions, GpuClonerOptions) 55 56 FAISS_DECLARE_DESTRUCTOR(GpuMultipleClonerOptions) 57 58 /// Default constructor for GpuMultipleClonerOptions 59 int faiss_GpuMultipleClonerOptions_new(FaissGpuMultipleClonerOptions**); 60 61 /// (boolean) Whether to shard the index across GPUs, versus replication 62 /// across GPUs 63 FAISS_DECLARE_GETTER_SETTER(GpuMultipleClonerOptions, int, shard) 64 65 /// IndexIVF::copy_subset_to subset type 66 FAISS_DECLARE_GETTER_SETTER(GpuMultipleClonerOptions, int, shard_type) 67 68 #ifdef __cplusplus 69 } 70 #endif 71 #endif 72