From a3d4158fc6d6f1127fc9fc31604e04a48a3d3340 Mon Sep 17 00:00:00 2001 From: "shengjun.li" Date: Fri, 5 Feb 2021 21:22:18 +0800 Subject: [PATCH] modify bitset ref to value (#4697) Signed-off-by: shengjun.li --- .../index/vector_index/IndexAnnoy.cpp | 2 +- .../knowhere/index/vector_index/IndexAnnoy.h | 2 +- .../index/vector_index/IndexBinaryIDMAP.cpp | 6 ++--- .../index/vector_index/IndexBinaryIDMAP.h | 6 ++--- .../index/vector_index/IndexBinaryIVF.cpp | 4 ++-- .../index/vector_index/IndexBinaryIVF.h | 4 ++-- .../knowhere/index/vector_index/IndexHNSW.cpp | 2 +- .../knowhere/index/vector_index/IndexHNSW.h | 2 +- .../index/vector_index/IndexIDMAP.cpp | 6 ++--- .../knowhere/index/vector_index/IndexIDMAP.h | 6 ++--- .../knowhere/index/vector_index/IndexIVF.cpp | 4 ++-- .../knowhere/index/vector_index/IndexIVF.h | 4 ++-- .../index/vector_index/IndexIVFHNSW.cpp | 2 +- .../index/vector_index/IndexIVFHNSW.h | 2 +- .../knowhere/index/vector_index/IndexNGT.cpp | 2 +- .../knowhere/index/vector_index/IndexNGT.h | 2 +- .../index/vector_index/IndexRHNSW.cpp | 2 +- .../knowhere/index/vector_index/IndexRHNSW.h | 2 +- .../index/vector_index/IndexSPTAG.cpp | 2 +- .../knowhere/index/vector_index/IndexSPTAG.h | 2 +- .../knowhere/index/vector_index/Statistics.h | 2 +- .../knowhere/index/vector_index/VecIndex.h | 2 +- .../index/vector_index/gpu/IndexGPUIDMAP.cpp | 2 +- .../index/vector_index/gpu/IndexGPUIDMAP.h | 3 +-- .../index/vector_index/gpu/IndexGPUIVF.cpp | 2 +- .../index/vector_index/gpu/IndexGPUIVF.h | 3 +-- .../vector_index/gpu/IndexIVFSQHybrid.cpp | 2 +- .../index/vector_index/gpu/IndexIVFSQHybrid.h | 3 +-- .../index/vector_index/impl/nsg/NSG.cpp | 2 +- .../index/vector_index/impl/nsg/NSG.h | 2 +- .../index/vector_offset_index/IndexIVF_NM.cpp | 4 ++-- .../index/vector_offset_index/IndexIVF_NM.h | 4 ++-- .../index/vector_offset_index/IndexNSG_NM.cpp | 2 +- .../index/vector_offset_index/IndexNSG_NM.h | 2 +- .../gpu/IndexGPUIVF_NM.cpp | 2 +- .../vector_offset_index/gpu/IndexGPUIVF_NM.h | 3 +-- .../index/thirdparty/NGT/lib/NGT/Graph.cpp | 2 +- core/src/index/thirdparty/NGT/lib/NGT/Graph.h | 2 +- core/src/index/thirdparty/NGT/lib/NGT/Index.h | 10 ++++----- core/src/index/thirdparty/NGT/lib/NGT/Tree.h | 2 +- .../src/index/thirdparty/annoy/src/annoylib.h | 10 ++++----- core/src/index/thirdparty/faiss/Index.cpp | 6 ++--- core/src/index/thirdparty/faiss/Index.h | 8 +++---- .../index/thirdparty/faiss/Index2Layer.cpp | 2 +- core/src/index/thirdparty/faiss/Index2Layer.h | 2 +- .../index/thirdparty/faiss/IndexBinary.cpp | 6 ++--- core/src/index/thirdparty/faiss/IndexBinary.h | 8 +++---- .../thirdparty/faiss/IndexBinaryFlat.cpp | 6 ++--- .../index/thirdparty/faiss/IndexBinaryFlat.h | 6 ++--- .../thirdparty/faiss/IndexBinaryFromFloat.cpp | 2 +- .../thirdparty/faiss/IndexBinaryFromFloat.h | 2 +- .../thirdparty/faiss/IndexBinaryHNSW.cpp | 2 +- .../index/thirdparty/faiss/IndexBinaryHNSW.h | 2 +- .../thirdparty/faiss/IndexBinaryHash.cpp | 8 +++---- .../index/thirdparty/faiss/IndexBinaryHash.h | 8 +++---- .../index/thirdparty/faiss/IndexBinaryIVF.cpp | 22 +++++++++---------- .../index/thirdparty/faiss/IndexBinaryIVF.h | 12 +++++----- core/src/index/thirdparty/faiss/IndexFlat.cpp | 12 +++++----- core/src/index/thirdparty/faiss/IndexFlat.h | 12 +++++----- core/src/index/thirdparty/faiss/IndexHNSW.cpp | 4 ++-- core/src/index/thirdparty/faiss/IndexHNSW.h | 4 ++-- core/src/index/thirdparty/faiss/IndexIVF.cpp | 22 +++++++++---------- core/src/index/thirdparty/faiss/IndexIVF.h | 20 ++++++++--------- .../index/thirdparty/faiss/IndexIVFFlat.cpp | 8 +++---- .../src/index/thirdparty/faiss/IndexIVFFlat.h | 4 ++-- .../src/index/thirdparty/faiss/IndexIVFPQ.cpp | 18 +++++++-------- .../index/thirdparty/faiss/IndexIVFPQR.cpp | 2 +- core/src/index/thirdparty/faiss/IndexIVFPQR.h | 2 +- .../thirdparty/faiss/IndexIVFSpectralHash.cpp | 4 ++-- core/src/index/thirdparty/faiss/IndexLSH.cpp | 2 +- core/src/index/thirdparty/faiss/IndexLSH.h | 2 +- .../index/thirdparty/faiss/IndexLattice.cpp | 2 +- .../src/index/thirdparty/faiss/IndexLattice.h | 2 +- core/src/index/thirdparty/faiss/IndexPQ.cpp | 6 ++--- core/src/index/thirdparty/faiss/IndexPQ.h | 6 ++--- .../thirdparty/faiss/IndexPreTransform.cpp | 4 ++-- .../thirdparty/faiss/IndexPreTransform.h | 4 ++-- .../src/index/thirdparty/faiss/IndexRHNSW.cpp | 4 ++-- core/src/index/thirdparty/faiss/IndexRHNSW.h | 4 ++-- .../index/thirdparty/faiss/IndexReplicas.cpp | 2 +- .../index/thirdparty/faiss/IndexReplicas.h | 2 +- .../thirdparty/faiss/IndexScalarQuantizer.cpp | 2 +- .../thirdparty/faiss/IndexScalarQuantizer.h | 2 +- .../index/thirdparty/faiss/IndexShards.cpp | 2 +- core/src/index/thirdparty/faiss/IndexShards.h | 2 +- .../index/thirdparty/faiss/MetaIndexes.cpp | 10 ++++----- core/src/index/thirdparty/faiss/MetaIndexes.h | 10 ++++----- .../index/thirdparty/faiss/gpu/GpuIndex.cu | 6 ++--- .../src/index/thirdparty/faiss/gpu/GpuIndex.h | 8 +++---- .../faiss/gpu/GpuIndexBinaryFlat.cu | 2 +- .../thirdparty/faiss/gpu/GpuIndexBinaryFlat.h | 2 +- .../thirdparty/faiss/gpu/GpuIndexFlat.cu | 2 +- .../index/thirdparty/faiss/gpu/GpuIndexFlat.h | 2 +- .../thirdparty/faiss/gpu/GpuIndexIVFFlat.cu | 2 +- .../thirdparty/faiss/gpu/GpuIndexIVFFlat.h | 2 +- .../thirdparty/faiss/gpu/GpuIndexIVFPQ.cu | 2 +- .../thirdparty/faiss/gpu/GpuIndexIVFPQ.h | 2 +- .../faiss/gpu/GpuIndexIVFSQHybrid.cu | 2 +- .../faiss/gpu/GpuIndexIVFSQHybrid.h | 2 +- .../faiss/gpu/GpuIndexIVFScalarQuantizer.cu | 2 +- .../faiss/gpu/GpuIndexIVFScalarQuantizer.h | 2 +- .../src/index/thirdparty/faiss/impl/RHNSW.cpp | 4 ++-- core/src/index/thirdparty/faiss/impl/RHNSW.h | 4 ++-- .../thirdparty/faiss/impl/ScalarQuantizer.h | 8 +++---- .../thirdparty/faiss/utils/BinaryDistance.cpp | 22 +++++++++---------- .../thirdparty/faiss/utils/BinaryDistance.h | 16 +++++++------- .../thirdparty/faiss/utils/distances.cpp | 16 +++++++------- .../index/thirdparty/faiss/utils/distances.h | 6 ++--- .../faiss/utils/extra_distances.cpp | 4 ++-- .../thirdparty/faiss/utils/extra_distances.h | 2 +- .../index/thirdparty/faiss/utils/hamming.cpp | 2 +- .../index/thirdparty/faiss/utils/hamming.h | 2 +- core/src/index/thirdparty/hnswlib/hnswalg.h | 6 ++--- .../src/index/thirdparty/hnswlib/hnswalg_nm.h | 6 ++--- core/src/index/thirdparty/hnswlib/hnswlib.h | 4 ++-- .../src/index/thirdparty/hnswlib/hnswlib_nm.h | 4 ++-- core/src/index/unittest/test_common.cpp | 2 +- 117 files changed, 277 insertions(+), 281 deletions(-) diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp index af87761298..ccb6600cef 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.cpp @@ -109,7 +109,7 @@ IndexAnnoy::BuildAll(const DatasetPtr& dataset_ptr, const Config& config) { } DatasetPtr -IndexAnnoy::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) { +IndexAnnoy::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) { if (!index_) { KNOWHERE_THROW_MSG("index not initialize or trained"); } diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.h b/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.h index 889983423b..fcdaa7a170 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexAnnoy.h @@ -48,7 +48,7 @@ class IndexAnnoy : public VecIndex { } DatasetPtr - Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) override; + Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) override; int64_t Count() override; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIDMAP.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIDMAP.cpp index 356e9ca314..f9c391ca65 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIDMAP.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIDMAP.cpp @@ -42,7 +42,7 @@ BinaryIDMAP::Load(const BinarySet& index_binary) { } DatasetPtr -BinaryIDMAP::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) { +BinaryIDMAP::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) { if (!index_) { KNOWHERE_THROW_MSG("index not initialize"); } @@ -67,7 +67,7 @@ BinaryIDMAP::Query(const DatasetPtr& dataset_ptr, const Config& config, const fa DynamicResultSegment BinaryIDMAP::QueryByDistance(const milvus::knowhere::DatasetPtr& dataset, const milvus::knowhere::Config& config, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { if (!index_) { KNOWHERE_THROW_MSG("index not initialize"); } @@ -151,7 +151,7 @@ BinaryIDMAP::GetRawVectors() { void BinaryIDMAP::QueryImpl(int64_t n, const uint8_t* data, int64_t k, float* distances, int64_t* labels, - const Config& config, const faiss::BitsetView& bitset) { + const Config& config, const faiss::BitsetView bitset) { // assign the metric type index_->metric_type = GetMetricType(config[Metric::TYPE].get()); diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIDMAP.h b/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIDMAP.h index 9bec7d5e7e..87e5bd054c 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIDMAP.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIDMAP.h @@ -45,10 +45,10 @@ class BinaryIDMAP : public VecIndex, public FaissBaseBinaryIndex { AddWithoutIds(const DatasetPtr&, const Config&) override; DatasetPtr - Query(const DatasetPtr&, const Config&, const faiss::BitsetView& bitset) override; + Query(const DatasetPtr&, const Config&, const faiss::BitsetView bitset) override; DynamicResultSegment - QueryByDistance(const DatasetPtr& dataset, const Config& config, const faiss::BitsetView& bitset); + QueryByDistance(const DatasetPtr& dataset, const Config& config, const faiss::BitsetView bitset); int64_t Count() override; @@ -67,7 +67,7 @@ class BinaryIDMAP : public VecIndex, public FaissBaseBinaryIndex { protected: virtual void QueryImpl(int64_t n, const uint8_t* data, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset); + const faiss::BitsetView bitset); }; using BinaryIDMAPPtr = std::shared_ptr; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIVF.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIVF.cpp index 49f347b950..535c34dd3b 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIVF.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIVF.cpp @@ -51,7 +51,7 @@ BinaryIVF::Load(const BinarySet& index_binary) { } DatasetPtr -BinaryIVF::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) { +BinaryIVF::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) { if (!index_ || !index_->is_trained) { KNOWHERE_THROW_MSG("index not initialize or trained"); } @@ -171,7 +171,7 @@ BinaryIVF::GenParams(const Config& config) { void BinaryIVF::QueryImpl(int64_t n, const uint8_t* data, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { auto params = GenParams(config); auto ivf_index = dynamic_cast(index_.get()); ivf_index->nprobe = params->nprobe; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIVF.h b/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIVF.h index a7c8c4ffd7..4ecfceca23 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIVF.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexBinaryIVF.h @@ -49,7 +49,7 @@ class BinaryIVF : public VecIndex, public FaissBaseBinaryIndex { AddWithoutIds(const DatasetPtr&, const Config&) override; DatasetPtr - Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) override; + Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) override; int64_t Count() override; @@ -72,7 +72,7 @@ class BinaryIVF : public VecIndex, public FaissBaseBinaryIndex { virtual void QueryImpl(int64_t n, const uint8_t* data, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset); + const faiss::BitsetView bitset); }; using BinaryIVFIndexPtr = std::shared_ptr; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp index 9247aa6fab..8e32db9370 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.cpp @@ -138,7 +138,7 @@ IndexHNSW::AddWithoutIds(const DatasetPtr& dataset_ptr, const Config& config) { } DatasetPtr -IndexHNSW::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) { +IndexHNSW::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) { if (!index_) { KNOWHERE_THROW_MSG("index not initialize or trained"); } diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.h b/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.h index ee77575a9a..e26b90144a 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexHNSW.h @@ -41,7 +41,7 @@ class IndexHNSW : public VecIndex { AddWithoutIds(const DatasetPtr&, const Config&) override; DatasetPtr - Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) override; + Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) override; int64_t Count() override; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexIDMAP.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexIDMAP.cpp index d95ba9639a..5c96a75c2b 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexIDMAP.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexIDMAP.cpp @@ -76,7 +76,7 @@ IDMAP::AddWithoutIds(const DatasetPtr& dataset_ptr, const Config& config) { } DatasetPtr -IDMAP::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) { +IDMAP::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) { if (!index_) { KNOWHERE_THROW_MSG("index not initialize"); } @@ -100,7 +100,7 @@ IDMAP::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::B DynamicResultSegment IDMAP::QueryByDistance(const milvus::knowhere::DatasetPtr& dataset, const milvus::knowhere::Config& config, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { if (!index_) { KNOWHERE_THROW_MSG("index not initialize"); } @@ -179,7 +179,7 @@ IDMAP::GetRawVectors() { void IDMAP::QueryImpl(int64_t n, const float* data, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { // assign the metric type index_->metric_type = GetMetricType(config[Metric::TYPE].get()); index_->search(n, data, k, distances, labels, bitset); diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexIDMAP.h b/core/src/index/knowhere/knowhere/index/vector_index/IndexIDMAP.h index d13eadae0a..1b1bfd4164 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexIDMAP.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexIDMAP.h @@ -44,10 +44,10 @@ class IDMAP : public VecIndex, public FaissBaseIndex { AddWithoutIds(const DatasetPtr&, const Config&) override; DatasetPtr - Query(const DatasetPtr&, const Config&, const faiss::BitsetView&) override; + Query(const DatasetPtr&, const Config&, const faiss::BitsetView) override; DynamicResultSegment - QueryByDistance(const DatasetPtr& dataset, const Config& config, const faiss::BitsetView& bitset); + QueryByDistance(const DatasetPtr& dataset, const Config& config, const faiss::BitsetView bitset); int64_t Count() override; @@ -68,7 +68,7 @@ class IDMAP : public VecIndex, public FaissBaseIndex { protected: virtual void - QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, const faiss::BitsetView&); + QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, const faiss::BitsetView); }; using IDMAPPtr = std::shared_ptr; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexIVF.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexIVF.cpp index 631a313d62..36cb6c5981 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexIVF.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexIVF.cpp @@ -94,7 +94,7 @@ IVF::AddWithoutIds(const DatasetPtr& dataset_ptr, const Config& config) { } DatasetPtr -IVF::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) { +IVF::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) { if (!index_ || !index_->is_trained) { KNOWHERE_THROW_MSG("index not initialize or trained"); } @@ -304,7 +304,7 @@ IVF::GenParams(const Config& config) { void IVF::QueryImpl(int64_t n, const float* data, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { auto params = GenParams(config); auto ivf_index = dynamic_cast(index_.get()); ivf_index->nprobe = std::min(params->nprobe, ivf_index->invlists->nlist); diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexIVF.h b/core/src/index/knowhere/knowhere/index/vector_index/IndexIVF.h index a468c44ecd..da299abac3 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexIVF.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexIVF.h @@ -49,7 +49,7 @@ class IVF : public VecIndex, public FaissBaseIndex { AddWithoutIds(const DatasetPtr&, const Config&) override; DatasetPtr - Query(const DatasetPtr&, const Config&, const faiss::BitsetView&) override; + Query(const DatasetPtr&, const Config&, const faiss::BitsetView) override; #if 0 DatasetPtr @@ -90,7 +90,7 @@ class IVF : public VecIndex, public FaissBaseIndex { GenParams(const Config&); virtual void - QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, const faiss::BitsetView&); + QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, const faiss::BitsetView); void SealImpl() override; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexIVFHNSW.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexIVFHNSW.cpp index 0d3d7a70bd..e14d5ad59a 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexIVFHNSW.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexIVFHNSW.cpp @@ -115,7 +115,7 @@ IVFHNSW::UpdateIndexSize() { void IVFHNSW::QueryImpl(int64_t n, const float* data, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { auto params = GenParams(config); auto ivf_index = dynamic_cast(index_.get()); ivf_index->nprobe = std::min(params->nprobe, ivf_index->invlists->nlist); diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexIVFHNSW.h b/core/src/index/knowhere/knowhere/index/vector_index/IndexIVFHNSW.h index ab0321bec5..f40b9ed8bf 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexIVFHNSW.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexIVFHNSW.h @@ -47,7 +47,7 @@ class IVFHNSW : public IVF { protected: void QueryImpl(int64_t n, const float* data, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset) override; + const faiss::BitsetView bitset) override; }; using IVFHNSWPtr = std::shared_ptr; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexNGT.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexNGT.cpp index 215bee6eb1..5bbadda7bc 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexNGT.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexNGT.cpp @@ -122,7 +122,7 @@ IndexNGT::AddWithoutIds(const DatasetPtr& dataset_ptr, const Config& config) { #endif DatasetPtr -IndexNGT::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) { +IndexNGT::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) { if (!index_) { KNOWHERE_THROW_MSG("index not initialize"); } diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexNGT.h b/core/src/index/knowhere/knowhere/index/vector_index/IndexNGT.h index 73c67e2629..f77b5344b9 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexNGT.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexNGT.h @@ -49,7 +49,7 @@ class IndexNGT : public VecIndex { } DatasetPtr - Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) override; + Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) override; int64_t Count() override; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexRHNSW.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexRHNSW.cpp index 6045ffeeba..ec2d38a417 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexRHNSW.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexRHNSW.cpp @@ -99,7 +99,7 @@ IndexRHNSW::AddWithoutIds(const DatasetPtr& dataset_ptr, const Config& config) { } DatasetPtr -IndexRHNSW::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) { +IndexRHNSW::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) { if (!index_) { KNOWHERE_THROW_MSG("index not initialize or trained"); } diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexRHNSW.h b/core/src/index/knowhere/knowhere/index/vector_index/IndexRHNSW.h index 656eee9e0d..6aebdb7f17 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexRHNSW.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexRHNSW.h @@ -51,7 +51,7 @@ class IndexRHNSW : public VecIndex, public FaissBaseIndex { AddWithoutIds(const DatasetPtr&, const Config&) override; DatasetPtr - Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) override; + Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) override; int64_t Count() override; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.cpp b/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.cpp index b4d608dae0..07d1dc6cef 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.cpp @@ -180,7 +180,7 @@ CPUSPTAGRNG::SetParameters(const Config& config) { } DatasetPtr -CPUSPTAGRNG::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) { +CPUSPTAGRNG::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) { SetParameters(config); float* p_data = (float*)dataset_ptr->Get(meta::TENSOR); diff --git a/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.h b/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.h index a710798592..4709da38bb 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/IndexSPTAG.h @@ -47,7 +47,7 @@ class CPUSPTAGRNG : public VecIndex { } DatasetPtr - Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) override; + Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) override; int64_t Count() override; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/Statistics.h b/core/src/index/knowhere/knowhere/index/vector_index/Statistics.h index d71f9b998b..ff67150b47 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/Statistics.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/Statistics.h @@ -147,7 +147,7 @@ class Statistics { } void - update_filter_percentage(const faiss::BitsetView& bitset) { + update_filter_percentage(const faiss::BitsetView bitset) { double fps = !bitset.empty() ? static_cast(bitset.count_1()) / bitset.size() : 0.0; filter_stat[static_cast(fps * 100) / 5] += 1; } diff --git a/core/src/index/knowhere/knowhere/index/vector_index/VecIndex.h b/core/src/index/knowhere/knowhere/index/vector_index/VecIndex.h index 9fe6a3924b..b39ea83de8 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/VecIndex.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/VecIndex.h @@ -47,7 +47,7 @@ class VecIndex : public Index { AddWithoutIds(const DatasetPtr& dataset, const Config& config) = 0; virtual DatasetPtr - Query(const DatasetPtr& dataset, const Config& config, const faiss::BitsetView& bitset) = 0; + Query(const DatasetPtr& dataset, const Config& config, const faiss::BitsetView bitset) = 0; virtual int64_t Dim() = 0; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIDMAP.cpp b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIDMAP.cpp index 9e429471aa..e45795ca7c 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIDMAP.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIDMAP.cpp @@ -98,7 +98,7 @@ GPUIDMAP::GetRawVectors() { void GPUIDMAP::QueryImpl(int64_t n, const float* data, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { ResScope rs(res_, gpu_id_); // assign the metric type diff --git a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIDMAP.h b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIDMAP.h index 155aa028d9..499d83d4a6 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIDMAP.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIDMAP.h @@ -52,8 +52,7 @@ class GPUIDMAP : public IDMAP, public GPUIndex { LoadImpl(const BinarySet&, const IndexType&) override; void - QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, - const faiss::BitsetView& bitset) override; + QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, const faiss::BitsetView) override; }; using GPUIDMAPPtr = std::shared_ptr; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIVF.cpp b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIVF.cpp index bdf1382c34..3d0e042e06 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIVF.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIVF.cpp @@ -135,7 +135,7 @@ GPUIVF::LoadImpl(const BinarySet& binary_set, const IndexType& type) { void GPUIVF::QueryImpl(int64_t n, const float* data, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { auto device_index = std::dynamic_pointer_cast(index_); fiu_do_on("GPUIVF.search_impl.invald_index", device_index = nullptr); if (device_index) { diff --git a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIVF.h b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIVF.h index 7359cec03a..020cd99a33 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIVF.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexGPUIVF.h @@ -51,8 +51,7 @@ class GPUIVF : public IVF, public GPUIndex { LoadImpl(const BinarySet&, const IndexType&) override; void - QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, - const faiss::BitsetView& bitset) override; + QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, const faiss::BitsetView) override; }; using GPUIVFPtr = std::shared_ptr; diff --git a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexIVFSQHybrid.cpp b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexIVFSQHybrid.cpp index c06b15125a..a15b8b1d68 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexIVFSQHybrid.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexIVFSQHybrid.cpp @@ -241,7 +241,7 @@ IVFSQHybrid::LoadImpl(const BinarySet& binary_set, const IndexType& type) { void IVFSQHybrid::QueryImpl(int64_t n, const float* data, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { if (gpu_mode_ == 2) { GPUIVF::QueryImpl(n, data, k, distances, labels, config, bitset); // index_->search(n, (float*)data, k, distances, labels); diff --git a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexIVFSQHybrid.h b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexIVFSQHybrid.h index 7e7858976d..d3fe1f0f99 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexIVFSQHybrid.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/gpu/IndexIVFSQHybrid.h @@ -88,8 +88,7 @@ class IVFSQHybrid : public GPUIVFSQ { LoadImpl(const BinarySet&, const IndexType&) override; void - QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, - const faiss::BitsetView& bitset) override; + QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, const faiss::BitsetView) override; protected: int64_t gpu_mode_ = 0; // 0: CPU, 1: Hybrid, 2: GPU diff --git a/core/src/index/knowhere/knowhere/index/vector_index/impl/nsg/NSG.cpp b/core/src/index/knowhere/knowhere/index/vector_index/impl/nsg/NSG.cpp index 66a350414b..3f27bd9de9 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/impl/nsg/NSG.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_index/impl/nsg/NSG.cpp @@ -858,7 +858,7 @@ NsgIndex::FindUnconnectedNode(float* data, boost::dynamic_bitset<>& has_linked, void NsgIndex::Search(const float* query, float* data, const unsigned& nq, const unsigned& dim, const unsigned& k, - float* dist, int64_t* ids, SearchParams& params, const faiss::BitsetView& bitset) { + float* dist, int64_t* ids, SearchParams& params, const faiss::BitsetView bitset) { std::vector> resset(nq); TimeRecorder rc("NsgIndex::search", 1); diff --git a/core/src/index/knowhere/knowhere/index/vector_index/impl/nsg/NSG.h b/core/src/index/knowhere/knowhere/index/vector_index/impl/nsg/NSG.h index 0428069dce..edd14d25ea 100644 --- a/core/src/index/knowhere/knowhere/index/vector_index/impl/nsg/NSG.h +++ b/core/src/index/knowhere/knowhere/index/vector_index/impl/nsg/NSG.h @@ -84,7 +84,7 @@ class NsgIndex { void Search(const float* query, float* data, const unsigned& nq, const unsigned& dim, const unsigned& k, float* dist, - int64_t* ids, SearchParams& params, const faiss::BitsetView& bitset = nullptr); + int64_t* ids, SearchParams& params, const faiss::BitsetView bitset); int64_t GetSize(); diff --git a/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexIVF_NM.cpp b/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexIVF_NM.cpp index 15eca61960..8885912cc3 100644 --- a/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexIVF_NM.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexIVF_NM.cpp @@ -137,7 +137,7 @@ IVF_NM::AddWithoutIds(const DatasetPtr& dataset_ptr, const Config& config) { } DatasetPtr -IVF_NM::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) { +IVF_NM::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) { if (!index_ || !index_->is_trained) { KNOWHERE_THROW_MSG("index not initialize or trained"); } @@ -306,7 +306,7 @@ IVF_NM::GenParams(const Config& config) { void IVF_NM::QueryImpl(int64_t n, const float* query, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { auto params = GenParams(config); auto ivf_index = dynamic_cast(index_.get()); ivf_index->nprobe = params->nprobe; diff --git a/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexIVF_NM.h b/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexIVF_NM.h index 3d5d4ae1cc..2c1c5b9b67 100644 --- a/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexIVF_NM.h +++ b/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexIVF_NM.h @@ -50,7 +50,7 @@ class IVF_NM : public VecIndex, public OffsetBaseIndex { AddWithoutIds(const DatasetPtr&, const Config&) override; DatasetPtr - Query(const DatasetPtr&, const Config&, const faiss::BitsetView& bitset) override; + Query(const DatasetPtr&, const Config&, const faiss::BitsetView bitset) override; #if 0 DatasetPtr @@ -91,7 +91,7 @@ class IVF_NM : public VecIndex, public OffsetBaseIndex { GenParams(const Config&); virtual void - QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, const faiss::BitsetView& bitset); + QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, const faiss::BitsetView bitset); void SealImpl() override; diff --git a/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.cpp b/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.cpp index 73ca707478..da9f204d01 100644 --- a/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.cpp @@ -76,7 +76,7 @@ NSG_NM::Load(const BinarySet& index_binary) { } DatasetPtr -NSG_NM::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView& bitset) { +NSG_NM::Query(const DatasetPtr& dataset_ptr, const Config& config, const faiss::BitsetView bitset) { if (!index_ || !index_->is_trained) { KNOWHERE_THROW_MSG("index not initialize or trained"); } diff --git a/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.h b/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.h index f814844046..ba0ea6ed40 100644 --- a/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.h +++ b/core/src/index/knowhere/knowhere/index/vector_offset_index/IndexNSG_NM.h @@ -54,7 +54,7 @@ class NSG_NM : public VecIndex { } DatasetPtr - Query(const DatasetPtr&, const Config&, const faiss::BitsetView& bitset) override; + Query(const DatasetPtr&, const Config&, const faiss::BitsetView bitset) override; int64_t Count() override; diff --git a/core/src/index/knowhere/knowhere/index/vector_offset_index/gpu/IndexGPUIVF_NM.cpp b/core/src/index/knowhere/knowhere/index/vector_offset_index/gpu/IndexGPUIVF_NM.cpp index 288b2d514c..3df9dd746f 100644 --- a/core/src/index/knowhere/knowhere/index/vector_offset_index/gpu/IndexGPUIVF_NM.cpp +++ b/core/src/index/knowhere/knowhere/index/vector_offset_index/gpu/IndexGPUIVF_NM.cpp @@ -117,7 +117,7 @@ GPUIVF_NM::SerializeImpl(const IndexType& type) { void GPUIVF_NM::QueryImpl(int64_t n, const float* data, int64_t k, float* distances, int64_t* labels, const Config& config, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { auto device_index = std::dynamic_pointer_cast(index_); fiu_do_on("GPUIVF_NM.search_impl.invald_index", device_index = nullptr); if (device_index) { diff --git a/core/src/index/knowhere/knowhere/index/vector_offset_index/gpu/IndexGPUIVF_NM.h b/core/src/index/knowhere/knowhere/index/vector_offset_index/gpu/IndexGPUIVF_NM.h index c065df82f5..784eec5630 100644 --- a/core/src/index/knowhere/knowhere/index/vector_offset_index/gpu/IndexGPUIVF_NM.h +++ b/core/src/index/knowhere/knowhere/index/vector_offset_index/gpu/IndexGPUIVF_NM.h @@ -51,8 +51,7 @@ class GPUIVF_NM : public IVF, public GPUIndex { SerializeImpl(const IndexType&) override; void - QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, - const faiss::BitsetView& bitset) override; + QueryImpl(int64_t, const float*, int64_t, float*, int64_t*, const Config&, const faiss::BitsetView) override; protected: uint8_t* arranged_data; diff --git a/core/src/index/thirdparty/NGT/lib/NGT/Graph.cpp b/core/src/index/thirdparty/NGT/lib/NGT/Graph.cpp index 883899e7c0..ab7e3dda9e 100644 --- a/core/src/index/thirdparty/NGT/lib/NGT/Graph.cpp +++ b/core/src/index/thirdparty/NGT/lib/NGT/Graph.cpp @@ -599,7 +599,7 @@ NeighborhoodGraph::setupSeeds(NGT::SearchContainer &sc, ObjectDistances &seeds, } // for milvus - void NeighborhoodGraph::search(NGT::SearchContainer & sc, ObjectDistances & seeds, const faiss::BitsetView& bitset) + void NeighborhoodGraph::search(NGT::SearchContainer & sc, ObjectDistances & seeds, const faiss::BitsetView bitset) { if (sc.explorationCoefficient == 0.0) { diff --git a/core/src/index/thirdparty/NGT/lib/NGT/Graph.h b/core/src/index/thirdparty/NGT/lib/NGT/Graph.h index 9c7d6fe68e..6044df58b5 100644 --- a/core/src/index/thirdparty/NGT/lib/NGT/Graph.h +++ b/core/src/index/thirdparty/NGT/lib/NGT/Graph.h @@ -698,7 +698,7 @@ namespace NGT { void search(NGT::SearchContainer &sc, ObjectDistances &seeds); // for milvus - void search(NGT::SearchContainer & sc, ObjectDistances & seeds, const faiss::BitsetView&bitset); + void search(NGT::SearchContainer & sc, ObjectDistances & seeds, const faiss::BitsetView bitset); #ifdef NGT_GRAPH_READ_ONLY_GRAPH template void searchReadOnlyGraph(NGT::SearchContainer &sc, ObjectDistances &seeds); diff --git a/core/src/index/thirdparty/NGT/lib/NGT/Index.h b/core/src/index/thirdparty/NGT/lib/NGT/Index.h index 1481b62326..12556632fb 100644 --- a/core/src/index/thirdparty/NGT/lib/NGT/Index.h +++ b/core/src/index/thirdparty/NGT/lib/NGT/Index.h @@ -655,7 +655,7 @@ public: virtual void linearSearch(NGT::SearchContainer & sc) { getIndex().linearSearch(sc); } virtual void linearSearch(NGT::SearchQuery & sc) { getIndex().linearSearch(sc); } // for milvus - virtual void search(NGT::SearchContainer & sc, const faiss::BitsetView&bitset) { getIndex().search(sc, bitset); } + virtual void search(NGT::SearchContainer & sc, const faiss::BitsetView bitset) { getIndex().search(sc, bitset); } virtual void search(NGT::SearchContainer & sc) { getIndex().search(sc); } virtual void search(NGT::SearchQuery & sc) { getIndex().search(sc); } virtual void search(NGT::SearchContainer & sc, ObjectDistances & seeds) { getIndex().search(sc, seeds); } @@ -1058,7 +1058,7 @@ public: } // for milvus - virtual void search(NGT::SearchContainer & sc, const faiss::BitsetView&bitset) + virtual void search(NGT::SearchContainer & sc, const faiss::BitsetView bitset) { sc.distanceComputationCount = 0; sc.visitCount = 0; @@ -1586,7 +1586,7 @@ protected: } // for milvus - virtual void search(NGT::SearchContainer & sc, ObjectDistances & seeds, const faiss::BitsetView&bitset) + virtual void search(NGT::SearchContainer & sc, ObjectDistances & seeds, const faiss::BitsetView bitset) { if (sc.size == 0) { @@ -2147,7 +2147,7 @@ public: // for milvus void - getSeedsFromTree(NGT::SearchContainer& sc, ObjectDistances& seeds, const faiss::BitsetView& bitset) { + getSeedsFromTree(NGT::SearchContainer& sc, ObjectDistances& seeds, const faiss::BitsetView bitset) { DVPTree::SearchContainer tso(sc.object); tso.mode = DVPTree::SearchContainer::SearchLeaf; tso.radius = 0.0; @@ -2204,7 +2204,7 @@ public: } // for milvus - void search(NGT::SearchContainer & sc, const faiss::BitsetView&bitset) + void search(NGT::SearchContainer & sc, const faiss::BitsetView bitset) { sc.distanceComputationCount = 0; sc.visitCount = 0; diff --git a/core/src/index/thirdparty/NGT/lib/NGT/Tree.h b/core/src/index/thirdparty/NGT/lib/NGT/Tree.h index e33bd01d00..71c0c2826a 100644 --- a/core/src/index/thirdparty/NGT/lib/NGT/Tree.h +++ b/core/src/index/thirdparty/NGT/lib/NGT/Tree.h @@ -263,7 +263,7 @@ namespace NGT { // for milvus void - getObjectIDsFromLeaf(Node::ID nid, ObjectDistances& rl, const faiss::BitsetView& bitset) { + getObjectIDsFromLeaf(Node::ID nid, ObjectDistances& rl, const faiss::BitsetView bitset) { LeafNode& ln = *(LeafNode*)getNode(nid); rl.clear(); ObjectDistance r; diff --git a/core/src/index/thirdparty/annoy/src/annoylib.h b/core/src/index/thirdparty/annoy/src/annoylib.h index fc123e98d2..c93816810d 100644 --- a/core/src/index/thirdparty/annoy/src/annoylib.h +++ b/core/src/index/thirdparty/annoy/src/annoylib.h @@ -839,9 +839,9 @@ class AnnoyIndexInterface { virtual bool load_index(void* index_data, const int64_t& index_size, char** error = nullptr) = 0; virtual T get_distance(S i, S j) const = 0; virtual void get_nns_by_item(S item, size_t n, int64_t search_k, vector* result, vector* distances, - const faiss::BitsetView& bitset = nullptr) const = 0; + const faiss::BitsetView bitset = nullptr) const = 0; virtual void get_nns_by_vector(const T* w, size_t n, int64_t search_k, vector* result, vector* distances, - const faiss::BitsetView& bitset = nullptr) const = 0; + const faiss::BitsetView bitset = nullptr) const = 0; virtual S get_n_items() const = 0; virtual S get_dim() const = 0; virtual S get_n_trees() const = 0; @@ -1178,14 +1178,14 @@ public: } void get_nns_by_item(S item, size_t n, int64_t search_k, vector* result, vector* distances, - const faiss::BitsetView& bitset) const { + const faiss::BitsetView bitset) const { // TODO: handle OOB const Node* m = _get(item); _get_all_nns(m->v, n, search_k, result, distances, bitset); } void get_nns_by_vector(const T* w, size_t n, int64_t search_k, vector* result, vector* distances, - const faiss::BitsetView& bitset) const { + const faiss::BitsetView bitset) const { _get_all_nns(w, n, search_k, result, distances, bitset); } @@ -1335,7 +1335,7 @@ protected: } void _get_all_nns(const T* v, size_t n, int64_t search_k, vector* result, vector* distances, - const faiss::BitsetView& bitset) const { + const faiss::BitsetView bitset) const { Node* v_node = (Node *)alloca(_s); D::template zero_value(v_node); memcpy(v_node->v, v, sizeof(T) * _f); diff --git a/core/src/index/thirdparty/faiss/Index.cpp b/core/src/index/thirdparty/faiss/Index.cpp index 576a3059fa..7529b6be2d 100644 --- a/core/src/index/thirdparty/faiss/Index.cpp +++ b/core/src/index/thirdparty/faiss/Index.cpp @@ -31,7 +31,7 @@ void Index::train(idx_t /*n*/, const float* /*x*/) { void Index::range_search (idx_t , const float *, float, RangeSearchResult *, - const BitsetView&) const + const BitsetView) const { FAISS_THROW_MSG ("range search not implemented"); } @@ -62,12 +62,12 @@ void Index::add_with_ids_without_codes(idx_t n, const float* x, const idx_t* xid } #if 0 -void Index::get_vector_by_id (idx_t n, const idx_t *xid, float *x, const BitsetView& bitset) { +void Index::get_vector_by_id (idx_t n, const idx_t *xid, float *x, const BitsetView bitset) { FAISS_THROW_MSG ("get_vector_by_id not implemented for this type of index"); } void Index::search_by_id (idx_t n, const idx_t *xid, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) { + const BitsetView bitset) { FAISS_THROW_MSG ("search_by_id not implemented for this type of index"); } #endif diff --git a/core/src/index/thirdparty/faiss/Index.h b/core/src/index/thirdparty/faiss/Index.h index dc9e5bdbad..a881735529 100644 --- a/core/src/index/thirdparty/faiss/Index.h +++ b/core/src/index/thirdparty/faiss/Index.h @@ -129,7 +129,7 @@ struct Index { */ virtual void search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const = 0; + const BitsetView bitset = nullptr) const = 0; #if 0 /** query n raw vectors from the index by ids. @@ -141,7 +141,7 @@ struct Index { * @param x output raw vectors, size n * d * @param bitset flags to check the validity of vectors */ - virtual void get_vector_by_id (idx_t n, const idx_t *xid, float *x, const BitsetView& bitset = nullptr); + virtual void get_vector_by_id (idx_t n, const idx_t *xid, float *x, const BitsetView bitset = nullptr); /** query n vectors of dimension d to the index by ids. * @@ -154,7 +154,7 @@ struct Index { * @param bitset flags to check the validity of vectors */ virtual void search_by_id (idx_t n, const idx_t *xid, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset = nullptr); + const BitsetView bitset = nullptr); #endif /** query n vectors of dimension d to the index. @@ -169,7 +169,7 @@ struct Index { */ virtual void range_search (idx_t n, const float *x, float radius, RangeSearchResult *result, - const BitsetView& bitset = nullptr) const; + const BitsetView bitset = nullptr) const; /** return the indexes of the k vectors closest to the query x. * diff --git a/core/src/index/thirdparty/faiss/Index2Layer.cpp b/core/src/index/thirdparty/faiss/Index2Layer.cpp index 1402d5e7e1..70ca155f15 100644 --- a/core/src/index/thirdparty/faiss/Index2Layer.cpp +++ b/core/src/index/thirdparty/faiss/Index2Layer.cpp @@ -166,7 +166,7 @@ void Index2Layer::search( idx_t /*k*/, float* /*distances*/, idx_t* /*labels*/, - const BitsetView&) const { + const BitsetView) const { FAISS_THROW_MSG("not implemented"); } diff --git a/core/src/index/thirdparty/faiss/Index2Layer.h b/core/src/index/thirdparty/faiss/Index2Layer.h index c837edf5d1..a32428384a 100644 --- a/core/src/index/thirdparty/faiss/Index2Layer.h +++ b/core/src/index/thirdparty/faiss/Index2Layer.h @@ -61,7 +61,7 @@ struct Index2Layer: Index { idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void reconstruct_n(idx_t i0, idx_t ni, float* recons) const override; diff --git a/core/src/index/thirdparty/faiss/IndexBinary.cpp b/core/src/index/thirdparty/faiss/IndexBinary.cpp index 749b7e8230..f04d73be5c 100644 --- a/core/src/index/thirdparty/faiss/IndexBinary.cpp +++ b/core/src/index/thirdparty/faiss/IndexBinary.cpp @@ -22,7 +22,7 @@ void IndexBinary::train(idx_t, const uint8_t *) { void IndexBinary::range_search(idx_t, const uint8_t *, int, RangeSearchResult *, - const BitsetView&) const { + const BitsetView) const { FAISS_THROW_MSG("range search not implemented"); } @@ -37,12 +37,12 @@ void IndexBinary::add_with_ids(idx_t, const uint8_t *, const idx_t *) { } #if 0 -void IndexBinary::get_vector_by_id (idx_t n, const idx_t *xid, uint8_t *x, const BitsetView& bitset) { +void IndexBinary::get_vector_by_id (idx_t n, const idx_t *xid, uint8_t *x, const BitsetView bitset) { FAISS_THROW_MSG("get_vector_by_id not implemented for this type of index"); } void IndexBinary::search_by_id (idx_t n, const idx_t *xid, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset) { + const BitsetView bitset) { FAISS_THROW_MSG("search_by_id not implemented for this type of index"); } #endif diff --git a/core/src/index/thirdparty/faiss/IndexBinary.h b/core/src/index/thirdparty/faiss/IndexBinary.h index 7d492c6305..a2605ecf73 100644 --- a/core/src/index/thirdparty/faiss/IndexBinary.h +++ b/core/src/index/thirdparty/faiss/IndexBinary.h @@ -97,7 +97,7 @@ struct IndexBinary { */ virtual void search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const = 0; + const BitsetView bitset = nullptr) const = 0; #if 0 /** Query n raw vectors from the index by ids. @@ -109,7 +109,7 @@ struct IndexBinary { * @param x output raw vectors, size n * d * @param bitset flags to check the validity of vectors */ - virtual void get_vector_by_id (idx_t n, const idx_t *xid, uint8_t *x, const BitsetView& bitset = nullptr); + virtual void get_vector_by_id (idx_t n, const idx_t *xid, uint8_t *x, const BitsetView bitset = nullptr); /** query n vectors of dimension d to the index by ids. * @@ -122,7 +122,7 @@ struct IndexBinary { * @param bitset flags to check the validity of vectors */ virtual void search_by_id (idx_t n, const idx_t *xid, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset = nullptr); + const BitsetView bitset = nullptr); #endif /** Query n vectors of dimension d to the index. @@ -141,7 +141,7 @@ struct IndexBinary { */ virtual void range_search(idx_t n, const uint8_t *x, int radius, RangeSearchResult *result, - const BitsetView& bitset = nullptr) const; + const BitsetView bitset = nullptr) const; /** Return the indexes of the k vectors closest to the query x. * diff --git a/core/src/index/thirdparty/faiss/IndexBinaryFlat.cpp b/core/src/index/thirdparty/faiss/IndexBinaryFlat.cpp index d4e9279493..15ca221fd6 100644 --- a/core/src/index/thirdparty/faiss/IndexBinaryFlat.cpp +++ b/core/src/index/thirdparty/faiss/IndexBinaryFlat.cpp @@ -40,7 +40,7 @@ void IndexBinaryFlat::reset() { void IndexBinaryFlat::search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { if (metric_type == METRIC_Jaccard || metric_type == METRIC_Tanimoto) { float *D = reinterpret_cast(distances); @@ -98,7 +98,7 @@ void IndexBinaryFlat::reconstruct(idx_t key, uint8_t *recons) const { void IndexBinaryFlat::range_search(idx_t n, const uint8_t *x, int radius, RangeSearchResult *result, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_MSG("This interface is abandoned yet."); } @@ -108,7 +108,7 @@ void IndexBinaryFlat::range_search(faiss::IndexBinary::idx_t n, float radius, std::vector& result, size_t buffer_size, - const faiss::BitsetView& bitset) + const faiss::BitsetView bitset) { switch (metric_type) { case METRIC_Jaccard: { diff --git a/core/src/index/thirdparty/faiss/IndexBinaryFlat.h b/core/src/index/thirdparty/faiss/IndexBinaryFlat.h index ce3122cbf3..95e550fd4f 100644 --- a/core/src/index/thirdparty/faiss/IndexBinaryFlat.h +++ b/core/src/index/thirdparty/faiss/IndexBinaryFlat.h @@ -40,16 +40,16 @@ struct IndexBinaryFlat : IndexBinary { void search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void range_search(idx_t n, const uint8_t *x, int radius, RangeSearchResult *result, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void range_search(idx_t n, const uint8_t *x, float radius, std::vector &result, size_t buffer_size, - const BitsetView& bitset = nullptr); // const override + const BitsetView bitset = nullptr); // const override void reconstruct(idx_t key, uint8_t *recons) const override; diff --git a/core/src/index/thirdparty/faiss/IndexBinaryFromFloat.cpp b/core/src/index/thirdparty/faiss/IndexBinaryFromFloat.cpp index 99e9d83b0c..e0b618f72b 100644 --- a/core/src/index/thirdparty/faiss/IndexBinaryFromFloat.cpp +++ b/core/src/index/thirdparty/faiss/IndexBinaryFromFloat.cpp @@ -51,7 +51,7 @@ void IndexBinaryFromFloat::reset() { void IndexBinaryFromFloat::search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { constexpr idx_t bs = 32768; std::unique_ptr xf(new float[bs * d]); std::unique_ptr df(new float[bs * k]); diff --git a/core/src/index/thirdparty/faiss/IndexBinaryFromFloat.h b/core/src/index/thirdparty/faiss/IndexBinaryFromFloat.h index 9c6fd8d678..7dedb45c05 100644 --- a/core/src/index/thirdparty/faiss/IndexBinaryFromFloat.h +++ b/core/src/index/thirdparty/faiss/IndexBinaryFromFloat.h @@ -42,7 +42,7 @@ struct IndexBinaryFromFloat : IndexBinary { void search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void train(idx_t n, const uint8_t *x) override; }; diff --git a/core/src/index/thirdparty/faiss/IndexBinaryHNSW.cpp b/core/src/index/thirdparty/faiss/IndexBinaryHNSW.cpp index da33568f17..83ddc83f7f 100644 --- a/core/src/index/thirdparty/faiss/IndexBinaryHNSW.cpp +++ b/core/src/index/thirdparty/faiss/IndexBinaryHNSW.cpp @@ -197,7 +197,7 @@ void IndexBinaryHNSW::train(idx_t n, const uint8_t *x) void IndexBinaryHNSW::search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { #pragma omp parallel { diff --git a/core/src/index/thirdparty/faiss/IndexBinaryHNSW.h b/core/src/index/thirdparty/faiss/IndexBinaryHNSW.h index c907e2b9a0..e496626b7e 100644 --- a/core/src/index/thirdparty/faiss/IndexBinaryHNSW.h +++ b/core/src/index/thirdparty/faiss/IndexBinaryHNSW.h @@ -46,7 +46,7 @@ struct IndexBinaryHNSW : IndexBinary { /// entry point for search void search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void reconstruct(idx_t key, uint8_t* recons) const override; diff --git a/core/src/index/thirdparty/faiss/IndexBinaryHash.cpp b/core/src/index/thirdparty/faiss/IndexBinaryHash.cpp index 29bd7854fb..8956b305ed 100644 --- a/core/src/index/thirdparty/faiss/IndexBinaryHash.cpp +++ b/core/src/index/thirdparty/faiss/IndexBinaryHash.cpp @@ -209,7 +209,7 @@ search_single_query(const IndexBinaryHash & index, const uint8_t *q, void IndexBinaryHash::range_search(idx_t n, const uint8_t *x, int radius, RangeSearchResult *result, - const BitsetView& bitset) const + const BitsetView bitset) const { size_t nlist = 0, ndis = 0, n0 = 0; @@ -237,7 +237,7 @@ void IndexBinaryHash::range_search(idx_t n, const uint8_t *x, int radius, void IndexBinaryHash::search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { using HeapForL2 = CMax; @@ -421,7 +421,7 @@ search_1_query_multihash(const IndexBinaryMultiHash & index, const uint8_t *xi, void IndexBinaryMultiHash::range_search(idx_t n, const uint8_t *x, int radius, RangeSearchResult *result, - const BitsetView& bitset) const + const BitsetView bitset) const { size_t nlist = 0, ndis = 0, n0 = 0; @@ -449,7 +449,7 @@ void IndexBinaryMultiHash::range_search(idx_t n, const uint8_t *x, int radius, void IndexBinaryMultiHash::search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { using HeapForL2 = CMax; diff --git a/core/src/index/thirdparty/faiss/IndexBinaryHash.h b/core/src/index/thirdparty/faiss/IndexBinaryHash.h index ad75c72039..5f12e2fdd2 100644 --- a/core/src/index/thirdparty/faiss/IndexBinaryHash.h +++ b/core/src/index/thirdparty/faiss/IndexBinaryHash.h @@ -52,11 +52,11 @@ struct IndexBinaryHash : IndexBinary { void range_search(idx_t n, const uint8_t *x, int radius, RangeSearchResult *result, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void display() const; size_t hashtable_size() const; @@ -105,11 +105,11 @@ struct IndexBinaryMultiHash: IndexBinary { void range_search(idx_t n, const uint8_t *x, int radius, RangeSearchResult *result, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; size_t hashtable_size() const; diff --git a/core/src/index/thirdparty/faiss/IndexBinaryIVF.cpp b/core/src/index/thirdparty/faiss/IndexBinaryIVF.cpp index 76a6a907d6..7065d87794 100644 --- a/core/src/index/thirdparty/faiss/IndexBinaryIVF.cpp +++ b/core/src/index/thirdparty/faiss/IndexBinaryIVF.cpp @@ -148,7 +148,7 @@ void IndexBinaryIVF::set_direct_map_type (DirectMap::Type type) void IndexBinaryIVF::search(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { std::unique_ptr idx(new idx_t[n * nprobe]); std::unique_ptr coarse_dis(new int32_t[n * nprobe]); @@ -173,7 +173,7 @@ void IndexBinaryIVF::search(idx_t n, const uint8_t *x, idx_t k, } #if 0 -void IndexBinaryIVF::get_vector_by_id(idx_t n, const idx_t *xid, uint8_t *x, const BitsetView& bitset) { +void IndexBinaryIVF::get_vector_by_id(idx_t n, const idx_t *xid, uint8_t *x, const BitsetView bitset) { make_direct_map(true); /* only get vector by 1 id */ @@ -186,7 +186,7 @@ void IndexBinaryIVF::get_vector_by_id(idx_t n, const idx_t *xid, uint8_t *x, con } void IndexBinaryIVF::search_by_id (idx_t n, const idx_t *xid, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset) { + const BitsetView bitset) { make_direct_map(true); auto x = new uint8_t[n * d]; @@ -385,7 +385,7 @@ struct IVFBinaryScannerL2: BinaryInvertedListScanner { const idx_t *ids, int32_t *simi, idx_t *idxi, size_t k, - const BitsetView& bitset) const override + const BitsetView bitset) const override { using C = CMax; @@ -448,7 +448,7 @@ struct IVFBinaryScannerJaccard: BinaryInvertedListScanner { const idx_t *ids, int32_t *simi, idx_t *idxi, size_t k, - const BitsetView& bitset = nullptr) const override + const BitsetView bitset = nullptr) const override { using C = CMax; float* psimi = (float*)simi; @@ -521,7 +521,7 @@ void search_knn_hamming_heap(const IndexBinaryIVF& ivf, bool store_pairs, const IVFSearchParameters *params, IndexIVFStats &index_ivf_stats, - const BitsetView& bitset = nullptr) + const BitsetView bitset = nullptr) { long nprobe = params ? params->nprobe : ivf.nprobe; long max_codes = params ? params->max_codes : ivf.max_codes; @@ -618,7 +618,7 @@ void search_knn_binary_dis_heap(const IndexBinaryIVF& ivf, bool store_pairs, const IVFSearchParameters *params, IndexIVFStats &index_ivf_stats, - const BitsetView& bitset = nullptr) + const BitsetView bitset = nullptr) { long nprobe = params ? params->nprobe : ivf.nprobe; long max_codes = params ? params->max_codes : ivf.max_codes; @@ -705,7 +705,7 @@ void search_knn_hamming_count(const IndexBinaryIVF& ivf, idx_t *labels, const IVFSearchParameters *params, IndexIVFStats &index_ivf_stats, - const BitsetView& bitset = nullptr) { + const BitsetView bitset = nullptr) { const int nBuckets = ivf.d + 1; std::vector all_counters(nx * nBuckets, 0); std::unique_ptr all_ids_per_dis(new idx_t[nx * nBuckets * k]); @@ -803,7 +803,7 @@ void search_knn_hamming_count_1 ( idx_t *labels, const IVFSearchParameters *params, IndexIVFStats &index_ivf_stats, - const BitsetView& bitset = nullptr) { + const BitsetView bitset = nullptr) { switch (ivf.code_size) { #define HANDLE_CS(cs) \ case cs: \ @@ -856,7 +856,7 @@ void IndexBinaryIVF::search_preassigned(idx_t n, const uint8_t *x, idx_t k, int32_t *distances, idx_t *labels, bool store_pairs, const IVFSearchParameters *params, - const BitsetView& bitset + const BitsetView bitset ) const { if (metric_type == METRIC_Jaccard || metric_type == METRIC_Tanimoto) { if (use_heap) { @@ -899,7 +899,7 @@ void IndexBinaryIVF::search_preassigned(idx_t n, const uint8_t *x, idx_t k, void IndexBinaryIVF::range_search( idx_t n, const uint8_t *x, int radius, RangeSearchResult *res, - const BitsetView& bitset) const + const BitsetView bitset) const { std::unique_ptr idx(new idx_t[n * nprobe]); std::unique_ptr coarse_dis(new int32_t[n * nprobe]); diff --git a/core/src/index/thirdparty/faiss/IndexBinaryIVF.h b/core/src/index/thirdparty/faiss/IndexBinaryIVF.h index fb0a42574b..5f654aa934 100644 --- a/core/src/index/thirdparty/faiss/IndexBinaryIVF.h +++ b/core/src/index/thirdparty/faiss/IndexBinaryIVF.h @@ -108,7 +108,7 @@ struct IndexBinaryIVF : IndexBinary { int32_t *distances, idx_t *labels, bool store_pairs, const IVFSearchParameters *params=nullptr, - const BitsetView& bitset = nullptr + const BitsetView bitset = nullptr ) const; virtual BinaryInvertedListScanner *get_InvertedListScanner ( @@ -116,20 +116,20 @@ struct IndexBinaryIVF : IndexBinary { /** assign the vectors, then call search_preassign */ void search(idx_t n, const uint8_t *x, idx_t k, - int32_t *distances, idx_t *labels, const BitsetView& bitset = nullptr) const override; + int32_t *distances, idx_t *labels, const BitsetView bitset = nullptr) const override; #if 0 /** get raw vectors by ids */ - void get_vector_by_id(idx_t n, const idx_t *xid, uint8_t *x, const BitsetView& bitset = nullptr) override; + void get_vector_by_id(idx_t n, const idx_t *xid, uint8_t *x, const BitsetView bitset = nullptr) override; void search_by_id (idx_t n, const idx_t *xid, idx_t k, int32_t *distances, idx_t *labels, - const BitsetView& bitset = nullptr) override; + const BitsetView bitset = nullptr) override; #endif void range_search(idx_t n, const uint8_t *x, int radius, RangeSearchResult *result, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void reconstruct(idx_t key, uint8_t *recons) const override; @@ -230,7 +230,7 @@ struct BinaryInvertedListScanner { const idx_t *ids, int32_t *distances, idx_t *labels, size_t k, - const BitsetView& bitset = nullptr) const = 0; + const BitsetView bitset = nullptr) const = 0; virtual void scan_codes_range (size_t n, const uint8_t *codes, diff --git a/core/src/index/thirdparty/faiss/IndexFlat.cpp b/core/src/index/thirdparty/faiss/IndexFlat.cpp index 74cb07c198..d1e3066e14 100644 --- a/core/src/index/thirdparty/faiss/IndexFlat.cpp +++ b/core/src/index/thirdparty/faiss/IndexFlat.cpp @@ -41,7 +41,7 @@ void IndexFlat::reset() { void IndexFlat::search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { // we see the distances and labels as heaps @@ -91,7 +91,7 @@ void IndexFlat::assign(idx_t n, const float * x, idx_t * labels, float* distance void IndexFlat::range_search (idx_t n, const float *x, float radius, RangeSearchResult *result, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_MSG("This interface is abandoned yet."); } @@ -101,7 +101,7 @@ void IndexFlat::range_search(faiss::Index::idx_t n, float radius, std::vector& result, size_t buffer_size, - const faiss::BitsetView& bitset) { + const faiss::BitsetView bitset) { switch (metric_type) { case METRIC_INNER_PRODUCT: @@ -280,7 +280,7 @@ void IndexFlatL2BaseShift::search ( idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_IF_NOT (shift.size() == ntotal); @@ -364,7 +364,7 @@ static void reorder_2_heaps ( void IndexRefineFlat::search ( idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_IF_NOT (is_trained); idx_t k_base = idx_t (k * k_factor); @@ -458,7 +458,7 @@ void IndexFlat1D::search ( idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_IF_NOT_MSG (perm.size() == ntotal, "Call update_permutation before search"); diff --git a/core/src/index/thirdparty/faiss/IndexFlat.h b/core/src/index/thirdparty/faiss/IndexFlat.h index bf8ee5ff89..d90a8d7d27 100644 --- a/core/src/index/thirdparty/faiss/IndexFlat.h +++ b/core/src/index/thirdparty/faiss/IndexFlat.h @@ -36,7 +36,7 @@ struct IndexFlat: Index { idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void assign ( idx_t n, @@ -49,7 +49,7 @@ struct IndexFlat: Index { const float* x, float radius, RangeSearchResult* result, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void range_search( idx_t n, @@ -57,7 +57,7 @@ struct IndexFlat: Index { float radius, std::vector &result, size_t buffer_size, - const BitsetView& bitset = nullptr); // const override + const BitsetView bitset = nullptr); // const override void reconstruct(idx_t key, float* recons) const override; @@ -124,7 +124,7 @@ struct IndexFlatL2BaseShift: IndexFlatL2 { idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; }; @@ -160,7 +160,7 @@ struct IndexRefineFlat: Index { idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; ~IndexRefineFlat() override; }; @@ -189,7 +189,7 @@ struct IndexFlat1D:IndexFlatL2 { idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; }; diff --git a/core/src/index/thirdparty/faiss/IndexHNSW.cpp b/core/src/index/thirdparty/faiss/IndexHNSW.cpp index 820c6dff56..bd3be4af47 100644 --- a/core/src/index/thirdparty/faiss/IndexHNSW.cpp +++ b/core/src/index/thirdparty/faiss/IndexHNSW.cpp @@ -284,7 +284,7 @@ void IndexHNSW::train(idx_t n, const float* x) } void IndexHNSW::search (idx_t n, const float *x, idx_t k, - float *distances, idx_t *labels, const BitsetView& bitset) const + float *distances, idx_t *labels, const BitsetView bitset) const { FAISS_THROW_IF_NOT_MSG(storage, @@ -1013,7 +1013,7 @@ int search_from_candidates_2(const HNSW & hnsw, } // namespace void IndexHNSW2Level::search (idx_t n, const float *x, idx_t k, - float *distances, idx_t *labels, const BitsetView& bitset) const + float *distances, idx_t *labels, const BitsetView bitset) const { if (dynamic_cast(storage)) { IndexHNSW::search (n, x, k, distances, labels); diff --git a/core/src/index/thirdparty/faiss/IndexHNSW.h b/core/src/index/thirdparty/faiss/IndexHNSW.h index 9e3f49cf22..588300fe8d 100644 --- a/core/src/index/thirdparty/faiss/IndexHNSW.h +++ b/core/src/index/thirdparty/faiss/IndexHNSW.h @@ -92,7 +92,7 @@ struct IndexHNSW : Index { /// entry point for search void search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void reconstruct(idx_t key, float* recons) const override; @@ -164,7 +164,7 @@ struct IndexHNSW2Level : IndexHNSW { /// entry point for search void search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; }; diff --git a/core/src/index/thirdparty/faiss/IndexIVF.cpp b/core/src/index/thirdparty/faiss/IndexIVF.cpp index ec4f5ef99e..b78e0a9c71 100644 --- a/core/src/index/thirdparty/faiss/IndexIVF.cpp +++ b/core/src/index/thirdparty/faiss/IndexIVF.cpp @@ -318,7 +318,7 @@ void IndexIVF::set_direct_map_type (DirectMap::Type type) void IndexIVF::search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { std::unique_ptr idx(new idx_t[n * nprobe]); std::unique_ptr coarse_dis(new float[n * nprobe]); @@ -346,7 +346,7 @@ void IndexIVF::search (idx_t n, const float *x, idx_t k, void IndexIVF::search_without_codes (idx_t n, const float *x, const uint8_t *arranged_codes, std::vector prefix_sum, bool is_sq8, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) + const BitsetView bitset) { std::unique_ptr idx(new idx_t[n * nprobe]); @@ -374,7 +374,7 @@ void IndexIVF::search_without_codes (idx_t n, const float *x, } #if 0 -void IndexIVF::get_vector_by_id (idx_t n, const idx_t *xid, float *x, const BitsetView& bitset) { +void IndexIVF::get_vector_by_id (idx_t n, const idx_t *xid, float *x, const BitsetView bitset) { make_direct_map(true); /* only get vector by 1 id */ @@ -387,7 +387,7 @@ void IndexIVF::get_vector_by_id (idx_t n, const idx_t *xid, float *x, const Bits } void IndexIVF::search_by_id (idx_t n, const idx_t *xid, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) { + const BitsetView bitset) { make_direct_map(true); auto x = new float[n * d]; @@ -406,7 +406,7 @@ void IndexIVF::search_preassigned (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, bool store_pairs, const IVFSearchParameters *params, - const BitsetView& bitset) const + const BitsetView bitset) const { long nprobe = params ? params->nprobe : this->nprobe; long max_codes = params ? params->max_codes : this->max_codes; @@ -462,7 +462,7 @@ void IndexIVF::search_preassigned (idx_t n, const float *x, idx_t k, // set porperly) and storing results in simi and idxi auto scan_one_list = [&] (idx_t key, float coarse_dis_i, float *simi, idx_t *idxi, - const BitsetView& bitset) { + const BitsetView bitset) { if (key < 0) { // not enough centroids for multiprobe @@ -612,7 +612,7 @@ void IndexIVF::search_preassigned_without_codes (idx_t n, const float *x, float *distances, idx_t *labels, bool store_pairs, const IVFSearchParameters *params, - const BitsetView& bitset) + const BitsetView bitset) { long nprobe = params ? params->nprobe : this->nprobe; long max_codes = params ? params->max_codes : this->max_codes; @@ -667,7 +667,7 @@ void IndexIVF::search_preassigned_without_codes (idx_t n, const float *x, // single list scan using the current scanner (with query // set porperly) and storing results in simi and idxi auto scan_one_list = [&] (idx_t key, float coarse_dis_i, const uint8_t *arranged_codes, - float *simi, idx_t *idxi, const BitsetView& bitset) { + float *simi, idx_t *idxi, const BitsetView bitset) { if (key < 0) { // not enough centroids for multiprobe @@ -812,7 +812,7 @@ void IndexIVF::search_preassigned_without_codes (idx_t n, const float *x, void IndexIVF::range_search (idx_t nx, const float *x, float radius, RangeSearchResult *result, - const BitsetView& bitset) const + const BitsetView bitset) const { std::unique_ptr keys (new idx_t[nx * nprobe]); std::unique_ptr coarse_dis (new float[nx * nprobe]); @@ -834,7 +834,7 @@ void IndexIVF::range_search_preassigned ( idx_t nx, const float *x, float radius, const idx_t *keys, const float *coarse_dis, RangeSearchResult *result, - const BitsetView& bitset) const + const BitsetView bitset) const { size_t nlistv = 0, ndis = 0; @@ -1250,7 +1250,7 @@ void InvertedListScanner::scan_codes_range (size_t , const idx_t *, float , RangeQueryResult &, - const BitsetView&) const + const BitsetView) const { FAISS_THROW_MSG ("scan_codes_range not implemented"); } diff --git a/core/src/index/thirdparty/faiss/IndexIVF.h b/core/src/index/thirdparty/faiss/IndexIVF.h index 7ff11f5f7f..dbfaae82c8 100644 --- a/core/src/index/thirdparty/faiss/IndexIVF.h +++ b/core/src/index/thirdparty/faiss/IndexIVF.h @@ -208,7 +208,7 @@ struct IndexIVF: Index, Level1Quantizer { float *distances, idx_t *labels, bool store_pairs, const IVFSearchParameters *params=nullptr, - const BitsetView& bitset = nullptr + const BitsetView bitset = nullptr ) const; /** Similar to search_preassigned, but does not store codes **/ @@ -221,36 +221,36 @@ struct IndexIVF: Index, Level1Quantizer { float *distances, idx_t *labels, bool store_pairs, const IVFSearchParameters *params = nullptr, - const BitsetView& bitset = nullptr); + const BitsetView bitset = nullptr); /** assign the vectors, then call search_preassign */ void search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; /** Similar to search, but does not store codes **/ void search_without_codes (idx_t n, const float *x, const uint8_t *arranged_codes, std::vector prefix_sum, bool is_sq8, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset = nullptr); + const BitsetView bitset = nullptr); #if 0 /** get raw vectors by ids */ - void get_vector_by_id (idx_t n, const idx_t *xid, float *x, const BitsetView& bitset = nullptr) override; + void get_vector_by_id (idx_t n, const idx_t *xid, float *x, const BitsetView bitset = nullptr) override; void search_by_id (idx_t n, const idx_t *xid, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset = nullptr) override; + const BitsetView bitset = nullptr) override; #endif void range_search (idx_t n, const float* x, float radius, RangeSearchResult* result, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void range_search_preassigned(idx_t nx, const float *x, float radius, const idx_t *keys, const float *coarse_dis, RangeSearchResult *result, - const BitsetView& bitset = nullptr) const; + const BitsetView bitset = nullptr) const; /// get a scanner for this index (store_pairs means ignore labels) virtual InvertedListScanner *get_InvertedListScanner ( @@ -413,7 +413,7 @@ struct InvertedListScanner { const idx_t *ids, float *distances, idx_t *labels, size_t k, - const BitsetView& bitset = nullptr) const = 0; + const BitsetView bitset = nullptr) const = 0; /** scan a set of codes, compute distances to current query and * update results if distances are below radius @@ -424,7 +424,7 @@ struct InvertedListScanner { const idx_t *ids, float radius, RangeQueryResult &result, - const BitsetView& bitset = nullptr) const; + const BitsetView bitset = nullptr) const; virtual ~InvertedListScanner () {} diff --git a/core/src/index/thirdparty/faiss/IndexIVFFlat.cpp b/core/src/index/thirdparty/faiss/IndexIVFFlat.cpp index 7fb449addc..e09efc5939 100644 --- a/core/src/index/thirdparty/faiss/IndexIVFFlat.cpp +++ b/core/src/index/thirdparty/faiss/IndexIVFFlat.cpp @@ -184,7 +184,7 @@ struct IVFFlatScanner: InvertedListScanner { const idx_t *ids, float *simi, idx_t *idxi, size_t k, - const BitsetView& bitset) const override + const BitsetView bitset) const override { const float *list_vecs = (const float*)codes; size_t nup = 0; @@ -208,7 +208,7 @@ struct IVFFlatScanner: InvertedListScanner { const idx_t *ids, float radius, RangeQueryResult & res, - const BitsetView& bitset = nullptr) const override + const BitsetView bitset = nullptr) const override { const float *list_vecs = (const float*)codes; for (size_t j = 0; j < list_size; j++) { @@ -354,7 +354,7 @@ void IndexIVFFlatDedup::search_preassigned ( float *distances, idx_t *labels, bool store_pairs, const IVFSearchParameters *params, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_IF_NOT_MSG ( !store_pairs, "store_pairs not supported in IVFDedup"); @@ -483,7 +483,7 @@ void IndexIVFFlatDedup::range_search( const float* , float , RangeSearchResult* , - const BitsetView&) const + const BitsetView) const { FAISS_THROW_MSG ("not implemented"); } diff --git a/core/src/index/thirdparty/faiss/IndexIVFFlat.h b/core/src/index/thirdparty/faiss/IndexIVFFlat.h index 29754b3ddd..df4738113c 100644 --- a/core/src/index/thirdparty/faiss/IndexIVFFlat.h +++ b/core/src/index/thirdparty/faiss/IndexIVFFlat.h @@ -81,7 +81,7 @@ struct IndexIVFFlatDedup: IndexIVFFlat { float *distances, idx_t *labels, bool store_pairs, const IVFSearchParameters *params=nullptr, - const BitsetView& bitset = nullptr + const BitsetView bitset = nullptr ) const override; size_t remove_ids(const IDSelector& sel) override; @@ -92,7 +92,7 @@ struct IndexIVFFlatDedup: IndexIVFFlat { const float* x, float radius, RangeSearchResult* result, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; /// not implemented void update_vectors (int nv, const idx_t *idx, const float *v) override; diff --git a/core/src/index/thirdparty/faiss/IndexIVFPQ.cpp b/core/src/index/thirdparty/faiss/IndexIVFPQ.cpp index 8cef5c956b..938af356d2 100644 --- a/core/src/index/thirdparty/faiss/IndexIVFPQ.cpp +++ b/core/src/index/thirdparty/faiss/IndexIVFPQ.cpp @@ -801,7 +801,7 @@ struct KnnSearchResults { size_t nup; - inline void add (idx_t j, float dis, const BitsetView& bitset = nullptr) { + inline void add (idx_t j, float dis, const BitsetView bitset = nullptr) { if (C::cmp (heap_sim[0], dis)) { idx_t id = ids ? ids[j] : lo_build (key, j); if (!bitset.empty() && bitset.test((faiss::ConcurrentBitset::id_type_t)id)) @@ -822,7 +822,7 @@ struct RangeSearchResults { float radius; RangeQueryResult & rres; - inline void add (idx_t j, float dis, const faiss::BitsetView& bitset = nullptr) { + inline void add (idx_t j, float dis, const faiss::BitsetView bitset = nullptr) { if (C::cmp (radius, dis)) { idx_t id = ids ? ids[j] : lo_build (key, j); rres.add (dis, id); @@ -872,7 +872,7 @@ struct IVFPQScannerT: QueryTables { template void scan_list_with_table (size_t ncode, const uint8_t *codes, SearchResultType & res, - const BitsetView& bitset = nullptr) const + const BitsetView bitset = nullptr) const { for (size_t j = 0; j < ncode; j++) { PQDecoder decoder(codes, pq.nbits); @@ -895,7 +895,7 @@ struct IVFPQScannerT: QueryTables { template void scan_list_with_pointer (size_t ncode, const uint8_t *codes, SearchResultType & res, - const faiss::BitsetView& bitset = nullptr) const + const faiss::BitsetView bitset = nullptr) const { for (size_t j = 0; j < ncode; j++) { PQDecoder decoder(codes, pq.nbits); @@ -918,7 +918,7 @@ struct IVFPQScannerT: QueryTables { template void scan_on_the_fly_dist (size_t ncode, const uint8_t *codes, SearchResultType &res, - const faiss::BitsetView& bitset = nullptr) const + const faiss::BitsetView bitset = nullptr) const { const float *dvec; float dis0 = 0; @@ -958,7 +958,7 @@ struct IVFPQScannerT: QueryTables { void scan_list_polysemous_hc ( size_t ncode, const uint8_t *codes, SearchResultType & res, - const faiss::BitsetView& bitset = nullptr) const + const faiss::BitsetView bitset = nullptr) const { int ht = ivfpq.polysemous_ht; size_t n_hamming_pass = 0, nup = 0; @@ -996,7 +996,7 @@ struct IVFPQScannerT: QueryTables { void scan_list_polysemous ( size_t ncode, const uint8_t *codes, SearchResultType &res, - const faiss::BitsetView& bitset = nullptr) const + const faiss::BitsetView bitset = nullptr) const { switch (pq.code_size) { #define HANDLE_CODE_SIZE(cs) \ @@ -1070,7 +1070,7 @@ struct IVFPQScanner: const idx_t *ids, float *heap_sim, idx_t *heap_ids, size_t k, - const faiss::BitsetView& bitset) const override + const faiss::BitsetView bitset) const override { KnnSearchResults res = { /* key */ this->key, @@ -1101,7 +1101,7 @@ struct IVFPQScanner: const idx_t *ids, float radius, RangeQueryResult & rres, - const faiss::BitsetView& bitset = nullptr) const override + const faiss::BitsetView bitset = nullptr) const override { RangeSearchResults res = { /* key */ this->key, diff --git a/core/src/index/thirdparty/faiss/IndexIVFPQR.cpp b/core/src/index/thirdparty/faiss/IndexIVFPQR.cpp index 3e215982a8..2975959502 100644 --- a/core/src/index/thirdparty/faiss/IndexIVFPQR.cpp +++ b/core/src/index/thirdparty/faiss/IndexIVFPQR.cpp @@ -101,7 +101,7 @@ void IndexIVFPQR::search_preassigned (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, bool store_pairs, const IVFSearchParameters *params, - const BitsetView& bitset + const BitsetView bitset ) const { uint64_t t0; diff --git a/core/src/index/thirdparty/faiss/IndexIVFPQR.h b/core/src/index/thirdparty/faiss/IndexIVFPQR.h index 8536c2a07a..c7a05c6385 100644 --- a/core/src/index/thirdparty/faiss/IndexIVFPQR.h +++ b/core/src/index/thirdparty/faiss/IndexIVFPQR.h @@ -56,7 +56,7 @@ struct IndexIVFPQR: IndexIVFPQ { float *distances, idx_t *labels, bool store_pairs, const IVFSearchParameters *params=nullptr, - const BitsetView& bitset = nullptr + const BitsetView bitset = nullptr ) const override; IndexIVFPQR(); diff --git a/core/src/index/thirdparty/faiss/IndexIVFSpectralHash.cpp b/core/src/index/thirdparty/faiss/IndexIVFSpectralHash.cpp index 61a95e2647..f2d439ec90 100644 --- a/core/src/index/thirdparty/faiss/IndexIVFSpectralHash.cpp +++ b/core/src/index/thirdparty/faiss/IndexIVFSpectralHash.cpp @@ -262,7 +262,7 @@ struct IVFScanner: InvertedListScanner { const idx_t *ids, float *simi, idx_t *idxi, size_t k, - const BitsetView& bitset) const override + const BitsetView bitset) const override { size_t nup = 0; for (size_t j = 0; j < list_size; j++) { @@ -285,7 +285,7 @@ struct IVFScanner: InvertedListScanner { const idx_t *ids, float radius, RangeQueryResult & res, - const BitsetView& bitset = nullptr) const override + const BitsetView bitset = nullptr) const override { for (size_t j = 0; j < list_size; j++) { float dis = hc.compute (codes); diff --git a/core/src/index/thirdparty/faiss/IndexLSH.cpp b/core/src/index/thirdparty/faiss/IndexLSH.cpp index be4527c4ae..def72bb985 100644 --- a/core/src/index/thirdparty/faiss/IndexLSH.cpp +++ b/core/src/index/thirdparty/faiss/IndexLSH.cpp @@ -133,7 +133,7 @@ void IndexLSH::search ( idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_IF_NOT (is_trained); const float *xt = apply_preprocess (n, x); diff --git a/core/src/index/thirdparty/faiss/IndexLSH.h b/core/src/index/thirdparty/faiss/IndexLSH.h index e77b3ce29d..ba1cb07b1a 100644 --- a/core/src/index/thirdparty/faiss/IndexLSH.h +++ b/core/src/index/thirdparty/faiss/IndexLSH.h @@ -58,7 +58,7 @@ struct IndexLSH:Index { idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void reset() override; diff --git a/core/src/index/thirdparty/faiss/IndexLattice.cpp b/core/src/index/thirdparty/faiss/IndexLattice.cpp index 1604f6ed78..8511ac204f 100644 --- a/core/src/index/thirdparty/faiss/IndexLattice.cpp +++ b/core/src/index/thirdparty/faiss/IndexLattice.cpp @@ -128,7 +128,7 @@ void IndexLattice::add(idx_t , const float* ) void IndexLattice::search(idx_t , const float* , idx_t , - float* , idx_t* , const BitsetView&) const + float* , idx_t* , const BitsetView) const { FAISS_THROW_MSG("not implemented"); } diff --git a/core/src/index/thirdparty/faiss/IndexLattice.h b/core/src/index/thirdparty/faiss/IndexLattice.h index d054c58ce8..5ac069e496 100644 --- a/core/src/index/thirdparty/faiss/IndexLattice.h +++ b/core/src/index/thirdparty/faiss/IndexLattice.h @@ -59,7 +59,7 @@ struct IndexLattice: Index { void add(idx_t n, const float* x) override; void search(idx_t n, const float* x, idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void reset() override; }; diff --git a/core/src/index/thirdparty/faiss/IndexPQ.cpp b/core/src/index/thirdparty/faiss/IndexPQ.cpp index ac0cf2703a..cf8c968caa 100644 --- a/core/src/index/thirdparty/faiss/IndexPQ.cpp +++ b/core/src/index/thirdparty/faiss/IndexPQ.cpp @@ -202,7 +202,7 @@ DistanceComputer * IndexPQ::get_distance_computer() const { ******************************************/ void IndexPQ::search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_IF_NOT (is_trained); if (search_type == ST_PQ) { // Simple PQ search @@ -941,7 +941,7 @@ void MultiIndexQuantizer::train(idx_t n, const float *x) void MultiIndexQuantizer::search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { if (n == 0) return; // the allocation just below can be severe... @@ -1095,7 +1095,7 @@ void MultiIndexQuantizer2::train(idx_t n, const float* x) void MultiIndexQuantizer2::search( idx_t n, const float* x, idx_t K, float* distances, idx_t* labels, - const BitsetView& bitset) const + const BitsetView bitset) const { if (n == 0) return; diff --git a/core/src/index/thirdparty/faiss/IndexPQ.h b/core/src/index/thirdparty/faiss/IndexPQ.h index 4264be8beb..77c35ea89f 100644 --- a/core/src/index/thirdparty/faiss/IndexPQ.h +++ b/core/src/index/thirdparty/faiss/IndexPQ.h @@ -54,7 +54,7 @@ struct IndexPQ: Index { idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void reset() override; @@ -159,7 +159,7 @@ struct MultiIndexQuantizer: Index { void search( idx_t n, const float* x, idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; /// add and reset will crash at runtime void add(idx_t n, const float* x) override; @@ -193,7 +193,7 @@ struct MultiIndexQuantizer2: MultiIndexQuantizer { void search( idx_t n, const float* x, idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; }; diff --git a/core/src/index/thirdparty/faiss/IndexPreTransform.cpp b/core/src/index/thirdparty/faiss/IndexPreTransform.cpp index 6e75c9553f..864c91a19e 100644 --- a/core/src/index/thirdparty/faiss/IndexPreTransform.cpp +++ b/core/src/index/thirdparty/faiss/IndexPreTransform.cpp @@ -181,7 +181,7 @@ void IndexPreTransform::add_with_ids (idx_t n, const float * x, void IndexPreTransform::search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_IF_NOT (is_trained); const float *xt = apply_chain (n, x); @@ -191,7 +191,7 @@ void IndexPreTransform::search (idx_t n, const float *x, idx_t k, void IndexPreTransform::range_search (idx_t n, const float* x, float radius, RangeSearchResult* result, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_IF_NOT (is_trained); const float *xt = apply_chain (n, x); diff --git a/core/src/index/thirdparty/faiss/IndexPreTransform.h b/core/src/index/thirdparty/faiss/IndexPreTransform.h index 54125370c3..2e139ef72f 100644 --- a/core/src/index/thirdparty/faiss/IndexPreTransform.h +++ b/core/src/index/thirdparty/faiss/IndexPreTransform.h @@ -52,13 +52,13 @@ struct IndexPreTransform: Index { idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; /* range search, no attempt is done to change the radius */ void range_search (idx_t n, const float* x, float radius, RangeSearchResult* result, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void reconstruct (idx_t key, float * recons) const override; diff --git a/core/src/index/thirdparty/faiss/IndexRHNSW.cpp b/core/src/index/thirdparty/faiss/IndexRHNSW.cpp index 4c66994333..ecb559d523 100644 --- a/core/src/index/thirdparty/faiss/IndexRHNSW.cpp +++ b/core/src/index/thirdparty/faiss/IndexRHNSW.cpp @@ -237,7 +237,7 @@ void IndexRHNSW::train(idx_t n, const float* x) } void IndexRHNSW::search (idx_t n, const float *x, idx_t k, - float *distances, idx_t *labels, const BitsetView& bitset) const + float *distances, idx_t *labels, const BitsetView bitset) const { FAISS_THROW_IF_NOT_MSG(storage, @@ -739,7 +739,7 @@ int search_from_candidates_2(const RHNSW & hnsw, } // namespace void IndexRHNSW2Level::search (idx_t n, const float *x, idx_t k, - float *distances, idx_t *labels, const BitsetView& bitset) const + float *distances, idx_t *labels, const BitsetView bitset) const { if (dynamic_cast(storage)) { IndexRHNSW::search (n, x, k, distances, labels); diff --git a/core/src/index/thirdparty/faiss/IndexRHNSW.h b/core/src/index/thirdparty/faiss/IndexRHNSW.h index 728ec36468..bab38a643c 100644 --- a/core/src/index/thirdparty/faiss/IndexRHNSW.h +++ b/core/src/index/thirdparty/faiss/IndexRHNSW.h @@ -93,7 +93,7 @@ struct IndexRHNSW : Index { /// entry point for search void search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void reconstruct(idx_t key, float* recons) const override; @@ -151,7 +151,7 @@ struct IndexRHNSW2Level : IndexRHNSW { /// entry point for search void search (idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; size_t cal_size(); }; diff --git a/core/src/index/thirdparty/faiss/IndexReplicas.cpp b/core/src/index/thirdparty/faiss/IndexReplicas.cpp index 3ae8e3d901..0fcb8f18d4 100644 --- a/core/src/index/thirdparty/faiss/IndexReplicas.cpp +++ b/core/src/index/thirdparty/faiss/IndexReplicas.cpp @@ -81,7 +81,7 @@ IndexReplicasTemplate::search(idx_t n, idx_t k, distance_t* distances, idx_t* labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { FAISS_THROW_IF_NOT_MSG(this->count() > 0, "no replicas in index"); if (n == 0) { diff --git a/core/src/index/thirdparty/faiss/IndexReplicas.h b/core/src/index/thirdparty/faiss/IndexReplicas.h index fa47713d16..0b527001f1 100644 --- a/core/src/index/thirdparty/faiss/IndexReplicas.h +++ b/core/src/index/thirdparty/faiss/IndexReplicas.h @@ -61,7 +61,7 @@ class IndexReplicasTemplate : public ThreadedIndex { idx_t k, distance_t* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; /// reconstructs from the first index void reconstruct(idx_t, component_t *v) const override; diff --git a/core/src/index/thirdparty/faiss/IndexScalarQuantizer.cpp b/core/src/index/thirdparty/faiss/IndexScalarQuantizer.cpp index 27726d9104..ea3a09a954 100644 --- a/core/src/index/thirdparty/faiss/IndexScalarQuantizer.cpp +++ b/core/src/index/thirdparty/faiss/IndexScalarQuantizer.cpp @@ -66,7 +66,7 @@ void IndexScalarQuantizer::search( idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_IF_NOT (is_trained); FAISS_THROW_IF_NOT (metric_type == METRIC_L2 || diff --git a/core/src/index/thirdparty/faiss/IndexScalarQuantizer.h b/core/src/index/thirdparty/faiss/IndexScalarQuantizer.h index 8a0930056e..ec075b9b88 100644 --- a/core/src/index/thirdparty/faiss/IndexScalarQuantizer.h +++ b/core/src/index/thirdparty/faiss/IndexScalarQuantizer.h @@ -59,7 +59,7 @@ struct IndexScalarQuantizer: Index { idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void reset() override; diff --git a/core/src/index/thirdparty/faiss/IndexShards.cpp b/core/src/index/thirdparty/faiss/IndexShards.cpp index e2dae09f6a..0d861fec08 100644 --- a/core/src/index/thirdparty/faiss/IndexShards.cpp +++ b/core/src/index/thirdparty/faiss/IndexShards.cpp @@ -265,7 +265,7 @@ IndexShardsTemplate::search(idx_t n, idx_t k, distance_t *distances, idx_t *labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { long nshard = this->count(); std::vector all_distances(nshard * k * n); diff --git a/core/src/index/thirdparty/faiss/IndexShards.h b/core/src/index/thirdparty/faiss/IndexShards.h index 0fdb945e49..133bcde5a8 100644 --- a/core/src/index/thirdparty/faiss/IndexShards.h +++ b/core/src/index/thirdparty/faiss/IndexShards.h @@ -76,7 +76,7 @@ struct IndexShardsTemplate : public ThreadedIndex { void search(idx_t n, const component_t* x, idx_t k, distance_t* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void train(idx_t n, const component_t* x) override; diff --git a/core/src/index/thirdparty/faiss/MetaIndexes.cpp b/core/src/index/thirdparty/faiss/MetaIndexes.cpp index ea7e9fb51a..402090b19a 100644 --- a/core/src/index/thirdparty/faiss/MetaIndexes.cpp +++ b/core/src/index/thirdparty/faiss/MetaIndexes.cpp @@ -83,7 +83,7 @@ template void IndexIDMapTemplate::search (idx_t n, const typename IndexT::component_t *x, idx_t k, typename IndexT::distance_t *distances, typename IndexT::idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { index->search (n, x, k, distances, labels, bitset); idx_t *li = labels; @@ -96,7 +96,7 @@ void IndexIDMapTemplate::search #if 0 template void IndexIDMapTemplate::get_vector_by_id(idx_t n, const idx_t *xid, component_t *x, - const BitsetView& bitset) + const BitsetView bitset) { /* only get vector by 1 id */ FAISS_ASSERT(n == 1); @@ -109,7 +109,7 @@ void IndexIDMapTemplate::get_vector_by_id(idx_t n, const idx_t *xid, com template void IndexIDMapTemplate::search_by_id (idx_t n, const idx_t *xid, idx_t k, - typename IndexT::distance_t *distances, idx_t *labels, const BitsetView& bitset) + typename IndexT::distance_t *distances, idx_t *labels, const BitsetView bitset) { auto x = new typename IndexT::component_t[n * IndexT::d]; for (idx_t i = 0; i < n; i++) { @@ -124,7 +124,7 @@ template void IndexIDMapTemplate::range_search (typename IndexT::idx_t n, const typename IndexT::component_t *x, typename IndexT::distance_t radius, RangeSearchResult *result, - const BitsetView& bitset) const + const BitsetView bitset) const { index->range_search(n, x, radius, result, bitset); #pragma omp parallel for @@ -284,7 +284,7 @@ void IndexSplitVectors::add(idx_t /*n*/, const float* /*x*/) { void IndexSplitVectors::search ( idx_t n, const float *x, idx_t k, float *distances, idx_t *labels, - const BitsetView& bitset) const + const BitsetView bitset) const { FAISS_THROW_IF_NOT_MSG (k == 1, "search implemented only for k=1"); diff --git a/core/src/index/thirdparty/faiss/MetaIndexes.h b/core/src/index/thirdparty/faiss/MetaIndexes.h index bd28e4f29c..6e38ea35a8 100644 --- a/core/src/index/thirdparty/faiss/MetaIndexes.h +++ b/core/src/index/thirdparty/faiss/MetaIndexes.h @@ -40,13 +40,13 @@ struct IndexIDMapTemplate : IndexT { void search( idx_t n, const component_t* x, idx_t k, distance_t* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; #if 0 - void get_vector_by_id(idx_t n, const idx_t *xid, component_t *x, const BitsetView& bitset = nullptr) override; + void get_vector_by_id(idx_t n, const idx_t *xid, component_t *x, const BitsetView bitset = nullptr) override; void search_by_id (idx_t n, const idx_t *xid, idx_t k, distance_t *distances, idx_t *labels, - const BitsetView& bitset = nullptr) override; + const BitsetView bitset = nullptr) override; #endif void train(idx_t n, const component_t* x) override; @@ -58,7 +58,7 @@ struct IndexIDMapTemplate : IndexT { void range_search (idx_t n, const component_t *x, distance_t radius, RangeSearchResult *result, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; ~IndexIDMapTemplate () override; IndexIDMapTemplate () {own_fields=false; index=nullptr; } @@ -119,7 +119,7 @@ struct IndexSplitVectors: Index { idx_t k, float* distances, idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void train(idx_t n, const float* x) override; diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndex.cu b/core/src/index/thirdparty/faiss/gpu/GpuIndex.cu index a477b26597..1d2e380d64 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndex.cu +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndex.cu @@ -199,7 +199,7 @@ GpuIndex::search(Index::idx_t n, Index::idx_t k, float* distances, Index::idx_t* labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { FAISS_THROW_IF_NOT_MSG(this->is_trained, "Index not trained"); // For now, only support <= max int results @@ -276,7 +276,7 @@ GpuIndex::searchNonPaged_(int n, int k, float* outDistancesData, Index::idx_t* outIndicesData, - const BitsetView& bitset) const { + const BitsetView bitset) const { auto stream = resources_->getDefaultStream(device_); // Make sure arguments are on the device we desire; use temporary @@ -296,7 +296,7 @@ GpuIndex::searchFromCpuPaged_(int n, int k, float* outDistancesData, Index::idx_t* outIndicesData, - const BitsetView& bitset) const { + const BitsetView bitset) const { Tensor outDistances(outDistancesData, {n, k}); Tensor outIndices(outIndicesData, {n, k}); diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndex.h b/core/src/index/thirdparty/faiss/gpu/GpuIndex.h index 1f51f1603f..0c6d5cf958 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndex.h +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndex.h @@ -73,7 +73,7 @@ class GpuIndex : public faiss::Index { Index::idx_t k, float* distances, Index::idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; /// Overridden to force GPU indices to provide their own GPU-friendly /// implementation @@ -112,7 +112,7 @@ class GpuIndex : public faiss::Index { int k, float* distances, Index::idx_t* labels, - const BitsetView& bitset = nullptr) const = 0; + const BitsetView bitset = nullptr) const = 0; private: /// Handles paged adds if the add set is too large, passes to @@ -132,7 +132,7 @@ private: int k, float* outDistancesData, Index::idx_t* outIndicesData, - const BitsetView& bitset = nullptr) const; + const BitsetView bitset = nullptr) const; /// Calls searchImpl_ for a single page of GPU-resident data, /// handling paging of the data and copies from the CPU @@ -141,7 +141,7 @@ private: int k, float* outDistancesData, Index::idx_t* outIndicesData, - const BitsetView& bitset = nullptr) const; + const BitsetView bitset = nullptr) const; protected: /// Manages streams, cuBLAS handles and scratch memory for devices diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexBinaryFlat.cu b/core/src/index/thirdparty/faiss/gpu/GpuIndexBinaryFlat.cu index fcef88bbf2..111152c444 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexBinaryFlat.cu +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexBinaryFlat.cu @@ -146,7 +146,7 @@ GpuIndexBinaryFlat::search(faiss::IndexBinary::idx_t n, faiss::IndexBinary::idx_t k, int32_t* distances, faiss::IndexBinary::idx_t* labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { if (n == 0) { return; } diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexBinaryFlat.h b/core/src/index/thirdparty/faiss/gpu/GpuIndexBinaryFlat.h index dfd18c165d..f57ef91d36 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexBinaryFlat.h +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexBinaryFlat.h @@ -55,7 +55,7 @@ class GpuIndexBinaryFlat : public IndexBinary { faiss::IndexBinary::idx_t k, int32_t* distances, faiss::IndexBinary::idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; void reconstruct(faiss::IndexBinary::idx_t key, uint8_t* recons) const override; diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexFlat.cu b/core/src/index/thirdparty/faiss/gpu/GpuIndexFlat.cu index 93c6a89dd8..0117729745 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexFlat.cu +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexFlat.cu @@ -196,7 +196,7 @@ GpuIndexFlat::searchImpl_(int n, int k, float* distances, Index::idx_t* labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { auto stream = resources_->getDefaultStream(device_); // Input and output data are already resident on the GPU diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexFlat.h b/core/src/index/thirdparty/faiss/gpu/GpuIndexFlat.h index 6a7eb891ab..9ac71e7cf2 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexFlat.h +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexFlat.h @@ -122,7 +122,7 @@ class GpuIndexFlat : public GpuIndex { int k, float* distances, faiss::Index::idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; protected: /// Our config object diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFFlat.cu b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFFlat.cu index 46287f73de..453119d552 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFFlat.cu +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFFlat.cu @@ -300,7 +300,7 @@ int k, float* distances, Index::idx_t* labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { // Device is already set in GpuIndex::search FAISS_ASSERT(index_); FAISS_ASSERT(n > 0); diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFFlat.h b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFFlat.h index cc7a51cdb3..c51043b681 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFFlat.h +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFFlat.h @@ -76,7 +76,7 @@ class GpuIndexIVFFlat : public GpuIndexIVF { int k, float* distances, Index::idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; private: GpuIndexIVFFlatConfig ivfFlatConfig_; diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFPQ.cu b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFPQ.cu index 7d136016d5..d1a8b28996 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFPQ.cu +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFPQ.cu @@ -359,7 +359,7 @@ GpuIndexIVFPQ::searchImpl_(int n, int k, float* distances, Index::idx_t* labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { // Device is already set in GpuIndex::search FAISS_ASSERT(index_); FAISS_ASSERT(n > 0); diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFPQ.h b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFPQ.h index 1c4798a555..d4681f3ec2 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFPQ.h +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFPQ.h @@ -118,7 +118,7 @@ class GpuIndexIVFPQ : public GpuIndexIVF { int k, float* distances, Index::idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; private: void verifySettings_() const; diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFSQHybrid.cu b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFSQHybrid.cu index 0c3da3b73a..3a3e0c2676 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFSQHybrid.cu +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFSQHybrid.cu @@ -330,7 +330,7 @@ GpuIndexIVFSQHybrid::searchImpl_(int n, int k, float* distances, Index::idx_t* labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { // Device is already set in GpuIndex::search FAISS_ASSERT(index_); FAISS_ASSERT(n > 0); diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFSQHybrid.h b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFSQHybrid.h index 999c337709..2690a3661c 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFSQHybrid.h +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFSQHybrid.h @@ -80,7 +80,7 @@ class GpuIndexIVFSQHybrid : public GpuIndexIVF { int k, float* distances, Index::idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; /// Called from train to handle SQ residual training void trainResiduals_(Index::idx_t n, const float* x); diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFScalarQuantizer.cu b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFScalarQuantizer.cu index 7a601b32ec..1d1f57d0a7 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFScalarQuantizer.cu +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFScalarQuantizer.cu @@ -342,7 +342,7 @@ GpuIndexIVFScalarQuantizer::searchImpl_(int n, int k, float* distances, Index::idx_t* labels, - const BitsetView& bitset) const { + const BitsetView bitset) const { // Device is already set in GpuIndex::search FAISS_ASSERT(index_); FAISS_ASSERT(n > 0); diff --git a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFScalarQuantizer.h b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFScalarQuantizer.h index 779f521502..6533ab51ab 100644 --- a/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFScalarQuantizer.h +++ b/core/src/index/thirdparty/faiss/gpu/GpuIndexIVFScalarQuantizer.h @@ -80,7 +80,7 @@ class GpuIndexIVFScalarQuantizer : public GpuIndexIVF { int k, float* distances, Index::idx_t* labels, - const BitsetView& bitset = nullptr) const override; + const BitsetView bitset = nullptr) const override; /// Called from train to handle SQ residual training void trainResiduals_(Index::idx_t n, const float* x); diff --git a/core/src/index/thirdparty/faiss/impl/RHNSW.cpp b/core/src/index/thirdparty/faiss/impl/RHNSW.cpp index 9b6f820e8e..b301496cff 100644 --- a/core/src/index/thirdparty/faiss/impl/RHNSW.cpp +++ b/core/src/index/thirdparty/faiss/impl/RHNSW.cpp @@ -253,7 +253,7 @@ RHNSW::search_base_layer(DistanceComputer& ptdis, storage_idx_t nearest, storage_idx_t ef, float d_nearest, - const BitsetView& bitset) const { + const BitsetView bitset) const { VisitedList *vl = visited_list_pool->getFreeVisitedList(); vl_type *visited_array = vl->mass; vl_type visited_array_tag = vl->curV; @@ -394,7 +394,7 @@ void RHNSW::prune_neighbors(DistanceComputer& ptdis, void RHNSW::searchKnn(DistanceComputer& qdis, int k, idx_t *I, float *D, RHNSWStatInfo &rsi, - const BitsetView& bitset) const { + const BitsetView bitset) const { if (levels.size() == 0) return; int ep = entry_point; diff --git a/core/src/index/thirdparty/faiss/impl/RHNSW.h b/core/src/index/thirdparty/faiss/impl/RHNSW.h index c72bb794a8..e90f84931d 100644 --- a/core/src/index/thirdparty/faiss/impl/RHNSW.h +++ b/core/src/index/thirdparty/faiss/impl/RHNSW.h @@ -231,7 +231,7 @@ struct RHNSW { storage_idx_t nearest, storage_idx_t ef, float d_nearest, - const BitsetView& bitset = nullptr) const; + const BitsetView bitset = nullptr) const; void make_connection(DistanceComputer& ptdis, storage_idx_t pt_id, @@ -245,7 +245,7 @@ struct RHNSW { /// search interface inspired by hnswlib void searchKnn(DistanceComputer& qdis, int k, idx_t *I, float *D, RHNSWStatInfo &rsi, - const BitsetView& bitset = nullptr) const; + const BitsetView bitset = nullptr) const; size_t cal_size(); diff --git a/core/src/index/thirdparty/faiss/impl/ScalarQuantizer.h b/core/src/index/thirdparty/faiss/impl/ScalarQuantizer.h index b01325a237..ec2ae2900a 100644 --- a/core/src/index/thirdparty/faiss/impl/ScalarQuantizer.h +++ b/core/src/index/thirdparty/faiss/impl/ScalarQuantizer.h @@ -115,7 +115,7 @@ struct IVFSQScannerIP: InvertedListScanner { const idx_t *ids, float *simi, idx_t *idxi, size_t k, - const BitsetView& bitset) const override + const BitsetView bitset) const override { size_t nup = 0; @@ -139,7 +139,7 @@ struct IVFSQScannerIP: InvertedListScanner { const idx_t *ids, float radius, RangeQueryResult & res, - const BitsetView& bitset = nullptr) const override + const BitsetView bitset = nullptr) const override { for (size_t j = 0; j < list_size; j++) { float accu = accu0 + dc.query_to_code (codes); @@ -203,7 +203,7 @@ struct IVFSQScannerL2: InvertedListScanner { const idx_t *ids, float *simi, idx_t *idxi, size_t k, - const BitsetView& bitset) const override + const BitsetView bitset) const override { size_t nup = 0; for (size_t j = 0; j < list_size; j++) { @@ -226,7 +226,7 @@ struct IVFSQScannerL2: InvertedListScanner { const idx_t *ids, float radius, RangeQueryResult & res, - const BitsetView& bitset = nullptr) const override + const BitsetView bitset = nullptr) const override { for (size_t j = 0; j < list_size; j++) { float dis = dc.query_to_code (codes); diff --git a/core/src/index/thirdparty/faiss/utils/BinaryDistance.cpp b/core/src/index/thirdparty/faiss/utils/BinaryDistance.cpp index 9b44b702b2..1b3e88c14d 100644 --- a/core/src/index/thirdparty/faiss/utils/BinaryDistance.cpp +++ b/core/src/index/thirdparty/faiss/utils/BinaryDistance.cpp @@ -134,7 +134,7 @@ void binary_distance_knn_mc( size_t k, float *distances, int64_t *labels, - const BitsetView& bitset) + const BitsetView bitset) { int thread_max_num = omp_get_max_threads(); size_t l3_size = get_L3_Size(); @@ -250,7 +250,7 @@ void binary_distance_knn_mc ( size_t ncodes, float *distances, int64_t *labels, - const BitsetView& bitset) { + const BitsetView bitset) { switch (metric_type) { case METRIC_Substructure: @@ -310,7 +310,7 @@ void binary_distance_knn_hc ( const uint8_t * bs1, const uint8_t * bs2, size_t n2, - const BitsetView& bitset = nullptr) + const BitsetView bitset = nullptr) { typedef typename C::T T; size_t k = ha->k; @@ -416,7 +416,7 @@ void binary_distance_knn_hc ( const uint8_t * b, size_t nb, size_t ncodes, - const BitsetView& bitset) + const BitsetView bitset) { switch (metric_type) { case METRIC_Jaccard: { @@ -487,7 +487,7 @@ void binary_distance_knn_hc>( const uint8_t * b, size_t nb, size_t ncodes, - const BitsetView& bitset); + const BitsetView bitset); template void binary_distance_knn_hc>( @@ -497,7 +497,7 @@ void binary_distance_knn_hc>( const uint8_t * b, size_t nb, size_t ncodes, - const BitsetView& bitset); + const BitsetView bitset); template @@ -510,7 +510,7 @@ void binary_range_search ( T radius, std::vector& result, size_t buffer_size, - const BitsetView& bitset) + const BitsetView bitset) { #pragma omp parallel @@ -547,7 +547,7 @@ void binary_range_search( size_t ncodes, std::vector& result, size_t buffer_size, - const BitsetView& bitset) { + const BitsetView bitset) { switch (metric_type) { case METRIC_Tanimoto: @@ -679,7 +679,7 @@ void binary_range_search, int>( size_t ncodes, std::vector& result, size_t buffer_size, - const BitsetView& bitset); + const BitsetView bitset); template void binary_range_search, float>( @@ -692,7 +692,7 @@ void binary_range_search, float>( size_t ncodes, std::vector& result, size_t buffer_size, - const BitsetView& bitset); + const BitsetView bitset); template void binary_range_search, bool>( @@ -705,6 +705,6 @@ void binary_range_search, bool>( size_t ncodes, std::vector& result, size_t buffer_size, - const BitsetView& bitset); + const BitsetView bitset); } // namespace faiss diff --git a/core/src/index/thirdparty/faiss/utils/BinaryDistance.h b/core/src/index/thirdparty/faiss/utils/BinaryDistance.h index 214211d727..0e13755fda 100644 --- a/core/src/index/thirdparty/faiss/utils/BinaryDistance.h +++ b/core/src/index/thirdparty/faiss/utils/BinaryDistance.h @@ -99,7 +99,7 @@ namespace faiss { size_t ncodes, float *distances, int64_t *labels, - const BitsetView& bitset); + const BitsetView bitset); /** Return the k smallest distances for a set of binary query vectors, * using a heap. @@ -118,7 +118,7 @@ namespace faiss { const uint8_t * b, size_t nb, size_t ncodes, - const BitsetView& bitset); + const BitsetView bitset); extern template @@ -129,7 +129,7 @@ namespace faiss { const uint8_t * b, size_t nb, size_t ncodes, - const BitsetView& bitset); + const BitsetView bitset); extern template void binary_distance_knn_hc>( @@ -139,7 +139,7 @@ namespace faiss { const uint8_t * b, size_t nb, size_t ncodes, - const BitsetView& bitset); + const BitsetView bitset); template void binary_range_search( @@ -152,7 +152,7 @@ namespace faiss { size_t ncodes, std::vector& result, size_t buffer_size, - const BitsetView& bitset); + const BitsetView bitset); extern template void binary_range_search, int>( @@ -165,7 +165,7 @@ namespace faiss { size_t ncodes, std::vector& result, size_t buffer_size, - const BitsetView& bitset); + const BitsetView bitset); extern template void binary_range_search, float>( @@ -178,7 +178,7 @@ namespace faiss { size_t ncodes, std::vector& result, size_t buffer_size, - const BitsetView& bitset); + const BitsetView bitset); extern template void binary_range_search, bool>( @@ -191,7 +191,7 @@ namespace faiss { size_t ncodes, std::vector& result, size_t buffer_size, - const BitsetView& bitset); + const BitsetView bitset); } // namespace faiss diff --git a/core/src/index/thirdparty/faiss/utils/distances.cpp b/core/src/index/thirdparty/faiss/utils/distances.cpp index f975010b18..d09778e49f 100644 --- a/core/src/index/thirdparty/faiss/utils/distances.cpp +++ b/core/src/index/thirdparty/faiss/utils/distances.cpp @@ -140,7 +140,7 @@ static void knn_inner_product_sse (const float * x, const float * y, size_t d, size_t nx, size_t ny, float_minheap_array_t * res, - const BitsetView& bitset = nullptr) + const BitsetView bitset = nullptr) { size_t k = res->k; size_t thread_max_num = omp_get_max_threads(); @@ -252,7 +252,7 @@ static void knn_L2sqr_sse ( const float * y, size_t d, size_t nx, size_t ny, float_maxheap_array_t * res, - const BitsetView& bitset = nullptr) + const BitsetView bitset = nullptr) { size_t k = res->k; size_t thread_max_num = omp_get_max_threads(); @@ -366,7 +366,7 @@ static void knn_inner_product_blas ( const float * y, size_t d, size_t nx, size_t ny, float_minheap_array_t * res, - const BitsetView& bitset = nullptr) + const BitsetView bitset = nullptr) { res->heapify (); @@ -430,7 +430,7 @@ static void knn_L2sqr_blas (const float * x, size_t d, size_t nx, size_t ny, float_maxheap_array_t * res, const DistanceCorrection &corr, - const BitsetView& bitset = nullptr) + const BitsetView bitset = nullptr) { res->heapify (); @@ -506,7 +506,7 @@ static void knn_jaccard_blas (const float * x, size_t d, size_t nx, size_t ny, float_maxheap_array_t * res, const DistanceCorrection &corr, - const BitsetView& bitset = nullptr) + const BitsetView bitset = nullptr) { res->heapify (); @@ -591,7 +591,7 @@ void knn_inner_product (const float * x, const float * y, size_t d, size_t nx, size_t ny, float_minheap_array_t * res, - const BitsetView& bitset) + const BitsetView bitset) { if (nx < distance_compute_blas_threshold) { knn_inner_product_sse (x, y, d, nx, ny, res, bitset); @@ -612,7 +612,7 @@ void knn_L2sqr (const float * x, const float * y, size_t d, size_t nx, size_t ny, float_maxheap_array_t * res, - const BitsetView& bitset) + const BitsetView bitset) { if (nx < distance_compute_blas_threshold) { knn_L2sqr_sse (x, y, d, nx, ny, res, bitset); @@ -626,7 +626,7 @@ void knn_jaccard (const float * x, const float * y, size_t d, size_t nx, size_t ny, float_maxheap_array_t * res, - const BitsetView& bitset) + const BitsetView bitset) { if (d % 4 != 0) { // knn_jaccard_sse (x, y, d, nx, ny, res); diff --git a/core/src/index/thirdparty/faiss/utils/distances.h b/core/src/index/thirdparty/faiss/utils/distances.h index 6b0b1dd42a..6ccff27773 100644 --- a/core/src/index/thirdparty/faiss/utils/distances.h +++ b/core/src/index/thirdparty/faiss/utils/distances.h @@ -170,7 +170,7 @@ void knn_inner_product ( const float * y, size_t d, size_t nx, size_t ny, float_minheap_array_t * res, - const BitsetView& bitset = nullptr); + const BitsetView bitset = nullptr); /** Same as knn_inner_product, for the L2 distance */ void knn_L2sqr ( @@ -178,14 +178,14 @@ void knn_L2sqr ( const float * y, size_t d, size_t nx, size_t ny, float_maxheap_array_t * res, - const BitsetView& bitset = nullptr); + const BitsetView bitset = nullptr); void knn_jaccard ( const float * x, const float * y, size_t d, size_t nx, size_t ny, float_maxheap_array_t * res, - const BitsetView& bitset = nullptr); + const BitsetView bitset = nullptr); /** same as knn_L2sqr, but base_shift[bno] is subtracted to all * computed distances. diff --git a/core/src/index/thirdparty/faiss/utils/extra_distances.cpp b/core/src/index/thirdparty/faiss/utils/extra_distances.cpp index 0a02bb2a9b..6f6a20a709 100644 --- a/core/src/index/thirdparty/faiss/utils/extra_distances.cpp +++ b/core/src/index/thirdparty/faiss/utils/extra_distances.cpp @@ -181,7 +181,7 @@ void knn_extra_metrics_template ( const float * y, size_t nx, size_t ny, float_maxheap_array_t * res, - const BitsetView& bitset = nullptr) + const BitsetView bitset = nullptr) { size_t k = res->k; size_t d = vd.d; @@ -302,7 +302,7 @@ void knn_extra_metrics ( size_t d, size_t nx, size_t ny, MetricType mt, float metric_arg, float_maxheap_array_t * res, - const BitsetView& bitset) + const BitsetView bitset) { switch(mt) { diff --git a/core/src/index/thirdparty/faiss/utils/extra_distances.h b/core/src/index/thirdparty/faiss/utils/extra_distances.h index 645dac761e..7624c10330 100644 --- a/core/src/index/thirdparty/faiss/utils/extra_distances.h +++ b/core/src/index/thirdparty/faiss/utils/extra_distances.h @@ -39,7 +39,7 @@ void knn_extra_metrics ( size_t d, size_t nx, size_t ny, MetricType mt, float metric_arg, float_maxheap_array_t * res, - const BitsetView& bitset = nullptr); + const BitsetView bitset = nullptr); /** get a DistanceComputer that refers to this type of distance and diff --git a/core/src/index/thirdparty/faiss/utils/hamming.cpp b/core/src/index/thirdparty/faiss/utils/hamming.cpp index 80703bf987..a0197047f6 100644 --- a/core/src/index/thirdparty/faiss/utils/hamming.cpp +++ b/core/src/index/thirdparty/faiss/utils/hamming.cpp @@ -430,7 +430,7 @@ void hamming_range_search ( size_t code_size, std::vector& result, size_t buffer_size, - const BitsetView& bitset) + const BitsetView bitset) { #define HC(name) hamming_range_search_template (a, b, na, nb, radius, code_size, result, buffer_size, bitset) diff --git a/core/src/index/thirdparty/faiss/utils/hamming.h b/core/src/index/thirdparty/faiss/utils/hamming.h index 630907e161..232064b1b5 100644 --- a/core/src/index/thirdparty/faiss/utils/hamming.h +++ b/core/src/index/thirdparty/faiss/utils/hamming.h @@ -141,7 +141,7 @@ void hamming_range_search ( size_t ncodes, std::vector& result, size_t buffer_size, - const BitsetView& bitset); + const BitsetView bitset); /* Counting the number of matches or of cross-matches (without returning them) For use with function that assume pre-allocated memory */ diff --git a/core/src/index/thirdparty/hnswlib/hnswalg.h b/core/src/index/thirdparty/hnswlib/hnswalg.h index 9a94284398..ac1bb8d620 100644 --- a/core/src/index/thirdparty/hnswlib/hnswalg.h +++ b/core/src/index/thirdparty/hnswlib/hnswalg.h @@ -257,7 +257,7 @@ class HierarchicalNSW : public AlgorithmInterface { template std::priority_queue, std::vector>, CompareByFirst> - searchBaseLayerST(tableint ep_id, const void *data_point, size_t ef, const faiss::BitsetView& bitset, StatisticsInfo &stats) const { + searchBaseLayerST(tableint ep_id, const void *data_point, size_t ef, const faiss::BitsetView bitset, StatisticsInfo &stats) const { VisitedList *vl = visited_list_pool_->getFreeVisitedList(); vl_type *visited_array = vl->mass; vl_type visited_array_tag = vl->curV; @@ -1080,7 +1080,7 @@ class HierarchicalNSW : public AlgorithmInterface { }; std::priority_queue> - searchKnn(const void *query_data, size_t k, const faiss::BitsetView& bitset, StatisticsInfo &stats) const { + searchKnn(const void *query_data, size_t k, const faiss::BitsetView bitset, StatisticsInfo &stats) const { std::priority_queue> result; if (cur_element_count == 0) return result; @@ -1138,7 +1138,7 @@ class HierarchicalNSW : public AlgorithmInterface { template std::vector> - searchKnn(const void* query_data, size_t k, Comp comp, const faiss::BitsetView& bitset, StatisticsInfo &stats) { + searchKnn(const void* query_data, size_t k, Comp comp, const faiss::BitsetView bitset, StatisticsInfo &stats) { std::vector> result; if (cur_element_count == 0) return result; diff --git a/core/src/index/thirdparty/hnswlib/hnswalg_nm.h b/core/src/index/thirdparty/hnswlib/hnswalg_nm.h index f21d9e88fd..1f6c45b9d2 100644 --- a/core/src/index/thirdparty/hnswlib/hnswalg_nm.h +++ b/core/src/index/thirdparty/hnswlib/hnswalg_nm.h @@ -270,7 +270,7 @@ namespace hnswlib_nm { template std::priority_queue, std::vector>, CompareByFirst> - searchBaseLayerST(tableint ep_id, const void *data_point, size_t ef, const faiss::BitsetView& bitset, void *pdata) const { + searchBaseLayerST(tableint ep_id, const void *data_point, size_t ef, const faiss::BitsetView bitset, void *pdata) const { VisitedList *vl = visited_list_pool_->getFreeVisitedList(); vl_type *visited_array = vl->mass; vl_type visited_array_tag = vl->curV; @@ -1114,7 +1114,7 @@ namespace hnswlib_nm { }; std::priority_queue> - searchKnn_NM(const void *query_data, size_t k, const faiss::BitsetView& bitset, dist_t *pdata) const { + searchKnn_NM(const void *query_data, size_t k, const faiss::BitsetView bitset, dist_t *pdata) const { std::priority_queue> result; if (cur_element_count == 0) return result; @@ -1192,7 +1192,7 @@ namespace hnswlib_nm { template std::vector> - searchKnn_NM(const void* query_data, size_t k, Comp comp, const faiss::BitsetView& bitset, dist_t *pdata) { + searchKnn_NM(const void* query_data, size_t k, Comp comp, const faiss::BitsetView bitset, dist_t *pdata) { std::vector> result; if (cur_element_count == 0) return result; diff --git a/core/src/index/thirdparty/hnswlib/hnswlib.h b/core/src/index/thirdparty/hnswlib/hnswlib.h index 3e68ed2c52..edb7d7b0d4 100644 --- a/core/src/index/thirdparty/hnswlib/hnswlib.h +++ b/core/src/index/thirdparty/hnswlib/hnswlib.h @@ -92,9 +92,9 @@ namespace hnswlib { class AlgorithmInterface { public: virtual void addPoint(const void *datapoint, labeltype label)=0; - virtual std::priority_queue> searchKnn(const void *, size_t, const faiss::BitsetView& bitset, hnswlib::StatisticsInfo &stats) const = 0; + virtual std::priority_queue> searchKnn(const void *, size_t, const faiss::BitsetView bitset, hnswlib::StatisticsInfo &stats) const = 0; template - std::vector> searchKnn(const void*, size_t, Comp, const faiss::BitsetView& bitset, hnswlib::StatisticsInfo &stats) { + std::vector> searchKnn(const void*, size_t, Comp, const faiss::BitsetView bitset, hnswlib::StatisticsInfo &stats) { } virtual void saveIndex(const std::string &location)=0; virtual ~AlgorithmInterface(){ diff --git a/core/src/index/thirdparty/hnswlib/hnswlib_nm.h b/core/src/index/thirdparty/hnswlib/hnswlib_nm.h index 84ef0b0bda..5aaad55f95 100644 --- a/core/src/index/thirdparty/hnswlib/hnswlib_nm.h +++ b/core/src/index/thirdparty/hnswlib/hnswlib_nm.h @@ -83,9 +83,9 @@ namespace hnswlib_nm { class AlgorithmInterface { public: virtual void addPoint(void *datapoint, labeltype label, size_t base, size_t offset)=0; - virtual std::priority_queue> searchKnn_NM(const void *, size_t, const faiss::BitsetView& bitset, dist_t *pdata) const = 0; + virtual std::priority_queue> searchKnn_NM(const void *, size_t, const faiss::BitsetView bitset, dist_t *pdata) const = 0; template - std::vector> searchKnn_NM(const void*, size_t, Comp, const faiss::BitsetView& bitset, dist_t *pdata) { + std::vector> searchKnn_NM(const void*, size_t, Comp, const faiss::BitsetView bitset, dist_t *pdata) { } virtual void saveIndex(const std::string &location)=0; virtual ~AlgorithmInterface(){ diff --git a/core/src/index/unittest/test_common.cpp b/core/src/index/unittest/test_common.cpp index 8c8863bac7..2e44de70be 100644 --- a/core/src/index/unittest/test_common.cpp +++ b/core/src/index/unittest/test_common.cpp @@ -60,7 +60,7 @@ TEST(COMMON_TEST, BitsetView) { } } - auto view = [](const BitsetView& view_para) { + auto view = [](const BitsetView view_para) { return view_para; }(con_bitset);