53 lines
1.2 KiB
C
53 lines
1.2 KiB
C
|
/**
|
||
|
* Copyright (c) 2015-present, Facebook, Inc.
|
||
|
* All rights reserved.
|
||
|
*
|
||
|
* This source code is licensed under the CC-by-NC license found in the
|
||
|
* LICENSE file in the root directory of this source tree.
|
||
|
*/
|
||
|
|
||
|
// Copyright 2004-present Facebook. All Rights Reserved.
|
||
|
#pragma once
|
||
|
|
||
|
#include "GpuIndicesOptions.h"
|
||
|
|
||
|
namespace faiss { namespace gpu {
|
||
|
|
||
|
/// set some options on how to copy to GPU
|
||
|
struct GpuClonerOptions {
|
||
|
GpuClonerOptions();
|
||
|
|
||
|
/// how should indices be stored on index types that support indices
|
||
|
/// (anything but GpuIndexFlat*)?
|
||
|
IndicesOptions indicesOptions;
|
||
|
|
||
|
/// is the coarse quantizer in float16?
|
||
|
bool useFloat16CoarseQuantizer;
|
||
|
|
||
|
/// for GpuIndexIVFFlat, is storage in float16?
|
||
|
/// for GpuIndexIVFPQ, are intermediate calculations in float16?
|
||
|
bool useFloat16;
|
||
|
|
||
|
/// use precomputed tables?
|
||
|
bool usePrecomputed;
|
||
|
|
||
|
/// reserve vectors in the invfiles?
|
||
|
long reserveVecs;
|
||
|
|
||
|
/// For GpuIndexFlat, store data in transposed layout?
|
||
|
bool storeTransposed;
|
||
|
|
||
|
/// Set verbose options on the index
|
||
|
bool verbose;
|
||
|
};
|
||
|
|
||
|
struct GpuMultipleClonerOptions : public GpuClonerOptions {
|
||
|
GpuMultipleClonerOptions ();
|
||
|
|
||
|
/// Whether to shard the index across GPUs, versus replication
|
||
|
/// across GPUs
|
||
|
bool shard;
|
||
|
};
|
||
|
|
||
|
} } // namespace
|