Download Latest Version v1.16.0 source code.zip (3.8 MB)
Home / v1.16.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-11-10 11.0 kB
v1.16.0 source code.tar.gz 2026-11-10 3.0 MB
v1.16.0 source code.zip 2026-11-10 3.8 MB
Totals: 3 Items   6.8 MB 1

[1.16.0] - 2026-11-09

Added

  • [fc1095] e-means: add benchmarks reproducing the paper (#5845)
  • [207967] e-means: add max_points_per_centroid (#5855)
  • [8e5843] Add regression test for flat search in a nested OpenMP region (#5754)
  • [b80093] Add DINO resident and SSD streaming e-means demos (#5815)
  • [97fdfb] Add optional IVF assignment for centroid-sharded e-means (#5817)
  • [f6a82d] Add centroid-sharded e-means training (#5823)
  • [013650] Add native INT8 CuTe assignment to e-means (#5816)
  • [15b14b] Add FP8 CuTe assignment to e-means (#5820)
  • [13a33b] Add CuTe assignment backend to e-means (#5818)
  • [7a038e] Add INT8 Triton assignment to e-means (#5821)
  • [87b533] Add FP8 Triton assignment to e-means (#5819)
  • [c8ab4f] Add Triton assignment backend to e-means (#5822)
  • [f61f80] Add reduced-precision assignment to e-means (#5814)
  • [8ac2fd] Add distributed E-means training (#5813)
  • [3795ee] Add reference e-means implementations (#5812)
  • [951067] Print native crash diagnostics in Linux CMake CI (#5828)
  • [7648f5] InvertedListScanner::distances_to_codes, with a block kernel for 8-bit PQ (#5807)
  • [a6505c] Expose caller-owned Dataset APIs for CAGRA (#5739)
  • [4caf50] Add MetalIndexBinaryFlat with GPU Hamming search and exact top-k selection (#5759)
  • [71c7f4] Add remove_ids to IndexShards and IndexReplicas, and add_with_ids to IndexReplicas (#5773)
  • [6964ec] Make the multi-GPU Python helpers work on the Metal backend (#5747)
  • [b156cc] feat(rvv): add bit-exact RVV decode_vector for raw-codec quantizers (#5689)
  • [8ff93a] Serialization, clone and index_factory support for IndexPiPNN (#5758)
  • [840aa1] Add HNSW level-0 links from a sample to remove search sinks (#5705)
  • [89e5eb] Add IndexPiPNN, a PiPNN graph index with beam search (#5734)
  • [3effdb] PiPNN build assembly (#5729)
  • [07979b] Randomized Ball Carving partition (#5714)
  • [706947] Numeric kernels
  • [7a0579] HashPrune reservoir and sketch kernel (#5708)
  • [b0074a] Add fp16 support to SuperKMeans (#5692)
  • [e7c44e] Add AVX-512 fp16 conversion kernels (#5694)
  • [ea29ba] RaBitQ: add batch-four estimates and 9-bit SIMD scoring (#5647)
  • [76c0e0] Add GPU-accelerated IVFPQ search to the Metal backend (#5449)
  • [0db2f3] rabitq neon kernels (#5532)
  • [430a41] Native fp16 k-means training for Faiss IVF (#5671)
  • [6c8378] Add RVV implementation for decode_bf16_simd (#5641)
  • [e24a37] feat(rvv): add vector arithmetic kernels (#5655)
  • [94a433] Add reranked types to IndexSQFastScan and fix flat RaBitQ filtering (#5661)
  • [dcf8eb] Support IDSelector in flat fast-scan search (#5660)
  • [1768a5] Add RVV SIMD specialization for product quantizer distance-table computation (#5543)
  • [f323c1] Add RVV encoding for QT_8bit_direct (#5640)
  • [5e74b1] feat: implement RVV optimized scalar quantizer codecs and distance computation (#5535)
  • [b0d9e8] Add fast scan variants of SQ indexes - IndexSQFastScan and IndexIVFSQFastScan (#5341)
  • [4864f4] SVS: Add ParameterSpace.set_index_parameter support for Vamana (#5644)
  • [0f23e6] Add RVV SIMD specialization for scalar quantizer distance compute (#5539)

Changed

  • [f34c0b] Move the macOS arm64 CI jobs from macos-14 to macos-15 (#5875)
  • [741138] E-means: quality batch at d <= 16 and no revival at d <= 2 by default (#5854)
  • [731286] e-means: faiss-style verbose output that reports epochs and asks for a citation (#5841)
  • [277b3c] e-means: rename niter to nepochs (#5848)
  • [a15797] Compute the coarse distances in search_preassigned when they are not given (#5748)
  • [b95526] Replace the e-means README with a user guide (#5842)
  • [e4500c] Use BF16 defaults and share quantized rows across E-means sharding (#5844)
  • [0a6f93] Emeans ssd speedups (#5839)
  • [9246aa] Rename e-means operating_point to batch_law, allow batch_size without alpha0, and default niter to 5 (#5833)
  • [22a0cb] Separate Emeans implementations (#5840)
  • [1d40ee] Speed up the x86 8-bit scalar quantizer inner-product distance (#5829)
  • [efd79c] Upgrade CPU CMake CI to PyTorch 2.15 (#5827)
  • [0b0250] SQ fp16 and bf16: four accumulators per code at d >= 384, any d at AVX-512 (#5806)
  • [a3217c] Give each SIMD level its own copy of the 65 shared functions (#5810)
  • [2a6e78] Define the AVX-512 SQ specializations once for AVX512 and AVX512_SPR (#5808)
  • [c2d27c] Search only the sample vectors at sinks after each round of HNSW level-0 links (#5804)
  • [9d5b44] Codify the Faiss SIMD guard rules and check them with a test (#5793)
  • [0d3c38] Move SIMD code to dedicated translation units and align guards (#5792)
  • [03aa1b] Give fvec_L2sqr_ny_y_transposed_D internal linkage in the AVX2 and AVX512 files (#5788)
  • [167f44] Prefetch graph rows and vectors in PiPNN search (#5805)
  • [ea99cb] SVS 0.5.0 (#5785)
  • [0c2cad] Run the Windows conda CI steps in bash (#5795)
  • [35a4ec] Use 3 sample vectors per node by default for HNSW level-0 links (#5789)
  • [1ec001] Hamming: vector popcount for the default computer at AVX512 and AVX512_VPOPCNT (#5787)
  • [fc6596] Use a SIMD masked sum for the fp32 RaBitQ 1-bit estimate (#5782)
  • [d37bed] Train ProductQuantizer subquantizers in parallel (#5783)
  • [386c96] Default alpha to 1.2 for all metrics (#5786)
  • [0a32a4] Scale the HNSW and PiPNN search check period by the thread count (#5784)
  • [c919a6] Dispatch RaBitQ scans once per inverted list (#5597)
  • [6907ed] Prune inner-product graphs on cosines when norms vary (#5774)
  • [e353ed] 8-bit PQ code distance: 4-sum scalar kernel instead of gathers on AMD Zen 3/4/5 (#5751)
  • [9e1630] Build PiPNN graphs over distinct codes (#5768)
  • [7834ab] Size IVF fast-scan slice LUTs on the calling thread (#5721)
  • [273212] Dispatch more dimensions to the SIMD fvec_L2sqr_ny_transposed kernels (#5757)
  • [ee6927] ivflib::search_with_distance_to_code: search through InvertedListScanner::distance_to_code (#5755)
  • [56c96d] Move Faiss C++ tests to Python (#5743)
  • [a55e0b] Upgrade cuVS to 26.10 (#5633)
  • [494330] Speed up the NEON 8-bit scalar quantizer L2 distance (#5733)
  • [1a9ddc] Use monotonic dynamic scheduling so libomp 12 does not take its static-steal path (#5723)
  • [3fc6bc] On ROCm, stage pageable host copies in pinned memory (#5712)
  • [cec570] DD: give fvec_L2sqr_ny_nearest_y_transposed_D internal linkage (#5720)
  • [db6aa0] Hoist per-list allocations out of the IVF fast-scan search loops (#5717)
  • [390796] Select OpenBLAS OMP build in conda for AArch64 + Linux (#5669)
  • [44afa7] Stop allocating per (query, probe) on OpenMP workers in IVF RaBitQ fast-scan (#5716)
  • [6692d7] Stop copying QueryFactorsData per block in RaBitQHeapHandler
  • [3a9806] faiss/conda: extend LSQ NEON-flaky test skip to all arm64 (#5713)
  • [2839c3] Make the GPU IVF search return the same neighbours on every run (#5682)
  • [a2f794] Optimize 4-bit PQ fastscan accumulation on Arm CPUs (#5709)
  • [83ae8b] Move the RVV distance kernels into free-standing headers (#5697)
  • [1dab0c] Quarantine unstable cuVS Python GPU tests (#5699)
  • [ae4466] Avoid widening fp16 data for k-means++ initialization (#5693)
  • [ea9151] RaBitQ: broadcast one sign word per 32 dims in the AVX2 RBQ9 kernel (#5696)
  • [410231] Defer IVF list scan setup until needed (#5595)
  • [fdb953] Make search stats collection configurable (#5670)
  • [7f6bf1] Halve IndexSQFastScan rerank memory with a split-nibble layout (#5662)
  • [b1c149] migrate from bit-manipulation builtins in fbcode/faiss (#5667)
  • [2496f6] Avoid search stats contention during concurrent search (#5663)
  • [3f4838] Batch the IVF ScalarQuantizer scan four codes at a time (#5456)
  • [1dbb3d] Update backward compatibility test to v1.15.1 (#5646)

Fixed

  • [29782a] Fix verbose e-means tests after the nepochs rename (#5869)
  • [8babd4] Fix assignment after progressive-dimension Kmeans training (#5861)
  • [b7c44b] Initialize SVS Vamana graph parameters in the default constructor. (#5834)
  • [9acf8b] Guard fp16 threshold in mock builds [unused-const-variable] (#5835)
  • [0c269a] Validate codebook size in read_ResidualQuantizer_old and bounds-check IndexBinaryIVF::reconstruct_from_offset (#5764)
  • [7ac4a6] Fix database-parallel kNN when the parallel region gets fewer threads (#5824)
  • [98a23e] Fix OMP exception safety in ProductQuantizer (#5771)
  • [d87b58] fbcode/faiss/tests/test_fast_scan_distance_to_code.cpp (#5772)
  • [48f212] Drop constants [unused-const-variable] (#5794)
  • [2f890e] Fix train_NonUniform skipping training row 0 and racing on a shared buffer (#5791)
  • [d4a654] Faiss OSS nightly autofix (#5790)
  • [5712d8] Fix cuVS IVF-Flat workspace sizing after CPU-to-GPU cloning (#5763)
  • [bce5e2] Re-enable the cuVS CAGRA Python tests that hung on cuVS 26.06 (#5770)
  • [450dd7] Fix AArch64's conda multi output recipe (#5727)
  • [55afdf] cmake: install utils/popcount.h (#5744)
  • [d4a4e3] Fix build for CPUTYPE=znver4 (#5752)
  • [56797f] Match scalar tie-break in AVX2/AVX512 Lloyd-Max encode (#5715)
  • [5b4aa4] fbcode/faiss/gpu/utils (#5737)
  • [a64310] Faiss OSS nightly autofix (#5731)
  • [4f63b4] Keep AVX512-TU copies of the AVX2 QBS loop out of the AVX2 path (#5724)
  • [c966da] Faiss OSS nightly autofix (#5728)
  • [5d635f] DD: give PQCodeDistanceScalar a SIMD level so the AVX2 path cannot run AVX512 code (#5719)
  • [f46050] Deflake test_io TestIVFPQRead.test_reader (#5718)
  • [8b884e] Fix IndexFastScan::reset() leaving stale ntotal2 (crash on search) (#5614)
  • [d380b7] Fix IndexFlatCodes::reset on mmap-loaded codes (#5707)
  • [6c5130] Avoid double-advancing HNSW visited tables (#5596)
  • [76978e] Fix selector handling for IVF iterator scans (#5592)
  • [38460e] Fix Faiss fp16 parity tests across architectures (#5695)
  • [88a28b] Faiss OSS nightly autofix (#5686)
  • [ec9429] Bound the fast scan LUT scale by the accumulated sum (#5658)
  • [3f0809] fix: release SuperKMeans sample buffer after rotation (#5648)
  • [02cacc] Fix TSAN races in side hsnw_stats and rabitq_stats (#5657)
  • [bf8be4] fix(ci): use GCC 14 riscv64 cross-compiler for RVV tuple/zvfhmin intrinsics (#5653)
  • [98af2c] Fix osx-arm64 conda build: drop redundant openblas pin, allow single-platform release dispatch (#5652)
  • [3778f5] Fix IDSelector handling in unbounded HNSW search (#5508)

Deprecated

  • [8f176c] Remove the replicas parameter (#5809)
  • [de495c] Remove redundant contrib, torch, Manifold and telemetry tests (#5801)
  • [ce25a1] Remove redundant Panorama, general index, factory and SWIG tests (#5802)
  • [ca60fb] Remove redundant clustering, binary index and SIMD distance tests (#5800)
  • [491558] Remove redundant serialization, mmap and deserialization tests (#5798)
  • [2f8c1d] Remove redundant SVS, HNSW, NSG and PiPNN tests (#5799)
  • [f2130c] Remove redundant IVF and search parameter tests (#5803)
  • [1c84f0] Remove redundant PQ, AQ and SQ fast-scan tests (#5797)
  • [201041] Remove redundant PQ, AQ, SQ and RaBitQ tests (#5796)
  • [42aac2] Remove the cuVS 26.02 compatibility paths from the cuVS GPU code (#5750)
Source: README.md, updated 2026-11-10