| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-06-13 | 5.8 kB | |
| v1.14.3 source code.tar.gz | 2026-06-13 | 1.7 MB | |
| v1.14.3 source code.zip | 2026-06-13 | 2.4 MB | |
| Totals: 3 Items | 4.0 MB | 3 | |
Highlights
- Metal GPU backend expansion — new
MetalIndexIVFFlatwith IVF scan/merge kernels and expanded top-k support (#5202); Metal now enabled by default on Apple Silicon machines (#5280) - TurboQuant in ScalarQuantizer — full Algorithm 2 (QJL stage) with SIMD and optimizations (#5170)
- Sapphire Rapids (SPR) optimizations — ScalarQuantizer L2/IP (#5173), VPOPCNTDQ-based HammingComputer (#5183), and VPOPCNTDQ-based RaBitQ kernel (#5149)
- faiss-gpu pip wheels — new GPU wheel packaging (#5131); musllinux wheels re-enabled for faiss-cpu (#5299)
- SVS static vamana support (#5224)
- HNSW
is_similaritymode for IP/similarity metrics (#5246, [#5226]) - HNSW search performance — reserve
VisitedTableSetcapacity to avoid rehashes (#5290),search_from_candidate_unboundedtemplatized forVisitedTabledevirtualization (#5270), and runtime checks avoided inVisitedTable(#5234) - NEON FINE_SIZE=2 specializations for
Index2LevelDecoderImplandIndexPQDecoder(#5255) - cuVS upgraded to 26.06 (#5240); CI updated to ROCm 7 (#5196)
- Deserialization hardening — bool-field validation (#5279) and null inner-index rejection in IDMap / BinaryFromFloat (#5239)
- Build robustness — fix non-AVX2 import SIGILL via
.rodatapartitioning tables (#5298), Windows ARM64 (MSVC) NEON build fix (#5274), and AVX512_SPR dispatch fix on AMD (#5281)
Full Changelog
Added
- [261d8f] Add IVFSQTurboQSearchParameters to init.pyi stub (#5304)
- [684a32] Add manual Faiss nightly workflow dispatch (#5300)
- [10b6b2] Add MetalIndexIVFFlat with IVF scan/merge kernels and expanded top-k support (#5202)
- [74d361] TurboQuant in ScalarQuantizer: full Algorithm 2 (QJL stage) with SIMD and optimizations (#5170)
- [506600] Add Python HNSW tutorial (#5260)
- [3cff0f] Add Sapphire Rapids optimizations for ScalarQuantizer (L2, IP) (#5173)
- [46ef80] Support IndexIDMap/IndexIDMap2 in reverse_index_factory (#5266)
- [420158] Add VPOPCNTDQ-based HammingComputer for Sapphire Rapids+ (#5183)
- [d8f1c2] Implement NEON-based FINE_SIZE=2 specializations for Index2LevelDecoderImpl and IndexPQDecoder (#5262)
- [0951b5] Support user provided blas library (#5189)
- [215740] SVS static vamana support (#5224)
- [d24ad6] Add is_similarity mode to HNSW (#5246)
- [aa332c] Implement NEON-based FINE_SIZE=2 specializations for Index2LevelDecoderImpl and IndexPQDecoder (#5255)
- [5d9aae] Add faiss-gpu pip wheel packaging (#5131)
- [6f1cf6] Add VPOPCNTDQ-based RaBitQ kernel for Sapphire Rapids+ (#5149)
Changed
- [262fc3] Re-enable musllinux wheels for faiss-cpu (#5299)
- [1cdc37] Run CI on push to main to refresh ccache cache (#5291)
- [379ee7] Reserve VisitedTableSet capacity to avoid rehashes during HNSW search (#5290)
- [6513a2] Enable Metal by default on Apple machines (#5280)
- [fe46c3] Validate bool fields during deserialization (#5279)
- [480f91] Type imbalance_factor and wire the .pyi stub into the buck build (#5269)
- [e60bae] Templatize search_from_candidate_unbounded for VisitedTable devirtualization (#5270)
- [c00019] Accelerate ScalarQuantizer::QT_bf16 with AVX512-BF16. (#4889)
- [7504fc] Upgrade CUVS Version to 26.06 (#5240)
- [d12683] facebook-unused-include-check in IndexBinaryIVF.cpp (#5263)
- [99d901] facebook-unused-include-check in distances_simd.cpp (#5264)
- [2f0368] facebook-unused-include-check in hamming_avx2.cpp (#5265)
- [0c7275] Remove unused include of platform_macros.h in partitioning.cpp
- [e6b8f6] IndexHNSW: use HNSW::is_similarity for IP/similarity metrics + tests (#5226)
- [c0575f] avoid runtime checks in VisitedTable (#5234)
- [1cb760] Eliminate per-code denormalization in uniform SQ distance computation (#5166)
- [f29d86] Revert D106693266: Implement NEON-based FINE_SIZE=2 specializations for Index2LevelDecoderImpl and IndexPQDecoder
- [ef96e3] Updating CI to ROCm 7 (#5196)
- [f5217d] facebook-unused-include-check in IndexBinaryHNSW.cpp (#5251)
- [3e6ed9] facebook-unused-include-check in IndexBinaryIVF.cpp (#5252)
- [108868] Reject null inner index in IDMap and BinaryFromFloat deserialization (#5239)
- [a64b54] Add IndexLattice r2 limit to cap decode-cache build cost (#5238)
- [099371] faiss: Replace remaining get_single_code calls with ScopedCodes (#5248)
- [910e43] facebook-unused-include-check in hamming_avx2.cpp (#5242)
- [d581f2] Use per-SIMD TU scan for standalone PQ (AVX2 gather inlining) (#5233)
Fixed
- [20afed] make intentional cudaGetLastError() error-clears explicit ((void)) for clang21 -- fixes S674096 (#5302)
- [e420e9] Move partitioning shifts tables to .rodata to fix non-AVX2 import SIGILL (#5298)
- [15bd82] Fix cuVS nightly (#5273)
- [17cc96] Fix AVX512_SPR dispatch on AMD: require AVX512_FP16 CPUID (#5281)
- [e69bfe] Stabilize RaBitQ tests on AVX512_SPR by switching to cross-level equivalence (#5277)
- [c4c651] Stub fixes: knn torch overload, ResidualCoarseQuantizer ctor, remove duplicate I/O defs (#5283)
- [eb4c1e] Fix Windows ARM64 (MSVC) build broken by NEON SIMD templatization (#5274)
- [ab6323] Install missing InvertedListScannerStats.h header (#5268)
- [140541] Fix broken fbcode//faiss/tests:test_index_binary - test_replicas (test_index_binary.TestReplicasAndS (#5258)
- [34eb98] fix(python): int64 coercions for MapLong2Long + InvertedLists DOWNCAST chain (#5257)
- [d492af] faiss: initialize ids_tab to -1 in Top1BlockResultHandler::begin_multiple (#5249)
- [a4e417] Fix: static SIMD dispatch falls to scalar for avx512_spr/avx512/arm_sve builds (#5057)
- [3edc6e] Guard Panorama autovec pragmas against nvcc frontend (#5241)
- [c7689c] Fix ODR violation in ScannerMixIn by adding SIMDLevel template parameter (#5148)
- [ca87f4] Open SIFT demo data in binary mode (#5213)
Full diff: https://github.com/facebookresearch/faiss/compare/v1.14.2...v1.14.3