faiss 0.3.4 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/faiss/version.rb +1 -1
- data/vendor/faiss/faiss/AutoTune.cpp +11 -8
- data/vendor/faiss/faiss/Clustering.cpp +0 -16
- data/vendor/faiss/faiss/IVFlib.cpp +213 -0
- data/vendor/faiss/faiss/IVFlib.h +42 -0
- data/vendor/faiss/faiss/Index.h +1 -1
- data/vendor/faiss/faiss/IndexBinaryFlat.cpp +9 -7
- data/vendor/faiss/faiss/IndexBinaryFlat.h +2 -1
- data/vendor/faiss/faiss/IndexFlatCodes.cpp +1 -1
- data/vendor/faiss/faiss/IndexFlatCodes.h +4 -2
- data/vendor/faiss/faiss/IndexHNSW.cpp +13 -20
- data/vendor/faiss/faiss/IndexHNSW.h +1 -1
- data/vendor/faiss/faiss/IndexIVF.cpp +20 -3
- data/vendor/faiss/faiss/IndexIVF.h +5 -2
- data/vendor/faiss/faiss/IndexIVFAdditiveQuantizer.cpp +2 -1
- data/vendor/faiss/faiss/IndexIVFAdditiveQuantizer.h +2 -1
- data/vendor/faiss/faiss/IndexIVFFlat.cpp +2 -1
- data/vendor/faiss/faiss/IndexIVFFlat.h +2 -1
- data/vendor/faiss/faiss/IndexIVFPQ.cpp +2 -1
- data/vendor/faiss/faiss/IndexIVFPQ.h +2 -1
- data/vendor/faiss/faiss/IndexIVFRaBitQ.cpp +277 -0
- data/vendor/faiss/faiss/IndexIVFRaBitQ.h +70 -0
- data/vendor/faiss/faiss/IndexIVFSpectralHash.cpp +2 -1
- data/vendor/faiss/faiss/IndexIVFSpectralHash.h +2 -1
- data/vendor/faiss/faiss/IndexRaBitQ.cpp +148 -0
- data/vendor/faiss/faiss/IndexRaBitQ.h +65 -0
- data/vendor/faiss/faiss/IndexScalarQuantizer.cpp +2 -1
- data/vendor/faiss/faiss/IndexScalarQuantizer.h +2 -1
- data/vendor/faiss/faiss/clone_index.cpp +38 -3
- data/vendor/faiss/faiss/cppcontrib/factory_tools.cpp +19 -0
- data/vendor/faiss/faiss/cppcontrib/factory_tools.h +4 -11
- data/vendor/faiss/faiss/gpu/GpuAutoTune.cpp +2 -1
- data/vendor/faiss/faiss/gpu/GpuIndexCagra.h +13 -3
- data/vendor/faiss/faiss/gpu/StandardGpuResources.cpp +1 -1
- data/vendor/faiss/faiss/gpu/StandardGpuResources.h +1 -1
- data/vendor/faiss/faiss/gpu/test/TestGpuIcmEncoder.cpp +112 -0
- data/vendor/faiss/faiss/impl/HNSW.cpp +35 -13
- data/vendor/faiss/faiss/impl/HNSW.h +5 -4
- data/vendor/faiss/faiss/impl/NNDescent.cpp +1 -1
- data/vendor/faiss/faiss/impl/RaBitQuantizer.cpp +519 -0
- data/vendor/faiss/faiss/impl/RaBitQuantizer.h +78 -0
- data/vendor/faiss/faiss/impl/ResultHandler.h +2 -2
- data/vendor/faiss/faiss/impl/code_distance/code_distance-sve.h +3 -4
- data/vendor/faiss/faiss/impl/index_read.cpp +220 -25
- data/vendor/faiss/faiss/impl/index_write.cpp +29 -0
- data/vendor/faiss/faiss/impl/io.h +2 -2
- data/vendor/faiss/faiss/impl/io_macros.h +2 -0
- data/vendor/faiss/faiss/impl/mapped_io.cpp +313 -0
- data/vendor/faiss/faiss/impl/mapped_io.h +51 -0
- data/vendor/faiss/faiss/impl/maybe_owned_vector.h +316 -0
- data/vendor/faiss/faiss/impl/platform_macros.h +7 -3
- data/vendor/faiss/faiss/impl/simd_result_handlers.h +1 -1
- data/vendor/faiss/faiss/impl/zerocopy_io.cpp +67 -0
- data/vendor/faiss/faiss/impl/zerocopy_io.h +32 -0
- data/vendor/faiss/faiss/index_factory.cpp +16 -5
- data/vendor/faiss/faiss/index_io.h +4 -0
- data/vendor/faiss/faiss/invlists/InvertedLists.cpp +3 -3
- data/vendor/faiss/faiss/invlists/InvertedLists.h +5 -3
- data/vendor/faiss/faiss/invlists/InvertedListsIOHook.cpp +3 -3
- data/vendor/faiss/faiss/python/python_callbacks.cpp +24 -0
- data/vendor/faiss/faiss/python/python_callbacks.h +22 -0
- data/vendor/faiss/faiss/utils/approx_topk_hamming/approx_topk_hamming.h +30 -12
- data/vendor/faiss/faiss/utils/hamming.cpp +45 -21
- data/vendor/faiss/faiss/utils/hamming.h +7 -3
- data/vendor/faiss/faiss/utils/hamming_distance/avx512-inl.h +1 -1
- data/vendor/faiss/faiss/utils/utils.cpp +4 -4
- data/vendor/faiss/faiss/utils/utils.h +3 -3
- metadata +16 -4
@@ -387,7 +387,7 @@ size_t ranklist_intersection_size(
|
|
387
387
|
return count;
|
388
388
|
}
|
389
389
|
|
390
|
-
double imbalance_factor(int k, const
|
390
|
+
double imbalance_factor(int k, const int64_t* hist) {
|
391
391
|
double tot = 0, uf = 0;
|
392
392
|
|
393
393
|
for (int i = 0; i < k; i++) {
|
@@ -399,9 +399,9 @@ double imbalance_factor(int k, const int* hist) {
|
|
399
399
|
return uf;
|
400
400
|
}
|
401
401
|
|
402
|
-
double imbalance_factor(
|
403
|
-
std::vector<
|
404
|
-
for (
|
402
|
+
double imbalance_factor(int64_t n, int k, const int64_t* assign) {
|
403
|
+
std::vector<int64_t> hist(k, 0);
|
404
|
+
for (int64_t i = 0; i < n; i++) {
|
405
405
|
hist[assign[i]]++;
|
406
406
|
}
|
407
407
|
|
@@ -37,7 +37,7 @@ std::string get_compile_options();
|
|
37
37
|
* Get some stats about the system
|
38
38
|
**************************************************/
|
39
39
|
|
40
|
-
// Expose
|
40
|
+
// Expose Faiss version as a string
|
41
41
|
std::string get_version();
|
42
42
|
|
43
43
|
/// ms elapsed since some arbitrary epoch
|
@@ -92,10 +92,10 @@ size_t merge_result_table_with(
|
|
92
92
|
|
93
93
|
/// a balanced assignment has a IF of 1, a completely unbalanced assignment has
|
94
94
|
/// an IF = k.
|
95
|
-
double imbalance_factor(
|
95
|
+
double imbalance_factor(int64_t n, int k, const int64_t* assign);
|
96
96
|
|
97
97
|
/// same, takes a histogram as input
|
98
|
-
double imbalance_factor(int k, const
|
98
|
+
double imbalance_factor(int k, const int64_t* hist);
|
99
99
|
|
100
100
|
/// compute histogram on v
|
101
101
|
int ivec_hist(size_t n, const int* v, int vmax, int* hist);
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faiss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: rice
|
@@ -113,6 +113,8 @@ files:
|
|
113
113
|
- vendor/faiss/faiss/IndexIVFPQFastScan.h
|
114
114
|
- vendor/faiss/faiss/IndexIVFPQR.cpp
|
115
115
|
- vendor/faiss/faiss/IndexIVFPQR.h
|
116
|
+
- vendor/faiss/faiss/IndexIVFRaBitQ.cpp
|
117
|
+
- vendor/faiss/faiss/IndexIVFRaBitQ.h
|
116
118
|
- vendor/faiss/faiss/IndexIVFSpectralHash.cpp
|
117
119
|
- vendor/faiss/faiss/IndexIVFSpectralHash.h
|
118
120
|
- vendor/faiss/faiss/IndexLSH.cpp
|
@@ -131,6 +133,8 @@ files:
|
|
131
133
|
- vendor/faiss/faiss/IndexPQFastScan.h
|
132
134
|
- vendor/faiss/faiss/IndexPreTransform.cpp
|
133
135
|
- vendor/faiss/faiss/IndexPreTransform.h
|
136
|
+
- vendor/faiss/faiss/IndexRaBitQ.cpp
|
137
|
+
- vendor/faiss/faiss/IndexRaBitQ.h
|
134
138
|
- vendor/faiss/faiss/IndexRefine.cpp
|
135
139
|
- vendor/faiss/faiss/IndexRefine.h
|
136
140
|
- vendor/faiss/faiss/IndexReplicas.cpp
|
@@ -197,6 +201,7 @@ files:
|
|
197
201
|
- vendor/faiss/faiss/gpu/perf/PerfIVFPQAdd.cpp
|
198
202
|
- vendor/faiss/faiss/gpu/perf/WriteIndex.cpp
|
199
203
|
- vendor/faiss/faiss/gpu/test/TestCodePacking.cpp
|
204
|
+
- vendor/faiss/faiss/gpu/test/TestGpuIcmEncoder.cpp
|
200
205
|
- vendor/faiss/faiss/gpu/test/TestGpuIndexBinaryFlat.cpp
|
201
206
|
- vendor/faiss/faiss/gpu/test/TestGpuIndexFlat.cpp
|
202
207
|
- vendor/faiss/faiss/gpu/test/TestGpuIndexIVFFlat.cpp
|
@@ -243,6 +248,8 @@ files:
|
|
243
248
|
- vendor/faiss/faiss/impl/ProductQuantizer.cpp
|
244
249
|
- vendor/faiss/faiss/impl/ProductQuantizer.h
|
245
250
|
- vendor/faiss/faiss/impl/Quantizer.h
|
251
|
+
- vendor/faiss/faiss/impl/RaBitQuantizer.cpp
|
252
|
+
- vendor/faiss/faiss/impl/RaBitQuantizer.h
|
246
253
|
- vendor/faiss/faiss/impl/ResidualQuantizer.cpp
|
247
254
|
- vendor/faiss/faiss/impl/ResidualQuantizer.h
|
248
255
|
- vendor/faiss/faiss/impl/ResultHandler.h
|
@@ -265,6 +272,9 @@ files:
|
|
265
272
|
- vendor/faiss/faiss/impl/kmeans1d.h
|
266
273
|
- vendor/faiss/faiss/impl/lattice_Zn.cpp
|
267
274
|
- vendor/faiss/faiss/impl/lattice_Zn.h
|
275
|
+
- vendor/faiss/faiss/impl/mapped_io.cpp
|
276
|
+
- vendor/faiss/faiss/impl/mapped_io.h
|
277
|
+
- vendor/faiss/faiss/impl/maybe_owned_vector.h
|
268
278
|
- vendor/faiss/faiss/impl/platform_macros.h
|
269
279
|
- vendor/faiss/faiss/impl/pq4_fast_scan.cpp
|
270
280
|
- vendor/faiss/faiss/impl/pq4_fast_scan.h
|
@@ -273,6 +283,8 @@ files:
|
|
273
283
|
- vendor/faiss/faiss/impl/residual_quantizer_encode_steps.cpp
|
274
284
|
- vendor/faiss/faiss/impl/residual_quantizer_encode_steps.h
|
275
285
|
- vendor/faiss/faiss/impl/simd_result_handlers.h
|
286
|
+
- vendor/faiss/faiss/impl/zerocopy_io.cpp
|
287
|
+
- vendor/faiss/faiss/impl/zerocopy_io.h
|
276
288
|
- vendor/faiss/faiss/index_factory.cpp
|
277
289
|
- vendor/faiss/faiss/index_factory.h
|
278
290
|
- vendor/faiss/faiss/index_io.h
|
@@ -357,14 +369,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
357
369
|
requirements:
|
358
370
|
- - ">="
|
359
371
|
- !ruby/object:Gem::Version
|
360
|
-
version: '3'
|
372
|
+
version: '3.2'
|
361
373
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
362
374
|
requirements:
|
363
375
|
- - ">="
|
364
376
|
- !ruby/object:Gem::Version
|
365
377
|
version: '0'
|
366
378
|
requirements: []
|
367
|
-
rubygems_version: 3.6.
|
379
|
+
rubygems_version: 3.6.7
|
368
380
|
specification_version: 4
|
369
381
|
summary: Efficient similarity search and clustering for Ruby
|
370
382
|
test_files: []
|