pypi faiss-cpu 1.16.0
v1.16.0

54 minutes ago

[1.16.0] - 2026-11-09

Added

  • fc1095a e-means: add benchmarks reproducing the paper (#5845)
  • 2079677 e-means: add max_points_per_centroid (#5855)
  • 8e5843c Add regression test for flat search in a nested OpenMP region (#5754)
  • b80093c Add DINO resident and SSD streaming e-means demos (#5815)
  • 97fdfb0 Add optional IVF assignment for centroid-sharded e-means (#5817)
  • f6a82dc Add centroid-sharded e-means training (#5823)
  • 0136502 Add native INT8 CuTe assignment to e-means (#5816)
  • 15b14b2 Add FP8 CuTe assignment to e-means (#5820)
  • 13a33bf Add CuTe assignment backend to e-means (#5818)
  • 7a038e7 Add INT8 Triton assignment to e-means (#5821)
  • 87b5339 Add FP8 Triton assignment to e-means (#5819)
  • c8ab4f5 Add Triton assignment backend to e-means (#5822)
  • f61f80a Add reduced-precision assignment to e-means (#5814)
  • 8ac2fdc Add distributed E-means training (#5813)
  • 3795ee6 Add reference e-means implementations (#5812)
  • 951067d Print native crash diagnostics in Linux CMake CI (#5828)
  • 7648f5f InvertedListScanner::distances_to_codes, with a block kernel for 8-bit PQ (#5807)
  • a6505c5 Expose caller-owned Dataset APIs for CAGRA (#5739)
  • 4caf504 Add MetalIndexBinaryFlat with GPU Hamming search and exact top-k selection (#5759)
  • 71c7f48 Add remove_ids to IndexShards and IndexReplicas, and add_with_ids to IndexReplicas (#5773)
  • 6964ecd Make the multi-GPU Python helpers work on the Metal backend (#5747)
  • b156cce feat(rvv): add bit-exact RVV decode_vector for raw-codec quantizers (#5689)
  • 8ff93a8 Serialization, clone and index_factory support for IndexPiPNN (#5758)
  • 840aa1f Add HNSW level-0 links from a sample to remove search sinks (#5705)
  • 89e5eb5 Add IndexPiPNN, a PiPNN graph index with beam search (#5734)
  • 3effdb2 PiPNN build assembly (#5729)
  • 07979b1 Randomized Ball Carving partition (#5714)
  • 7069478 Numeric kernels
  • 7a05795 HashPrune reservoir and sketch kernel (#5708)
  • b0074a3 Add fp16 support to SuperKMeans (#5692)
  • e7c44eb Add AVX-512 fp16 conversion kernels (#5694)
  • ea29bac RaBitQ: add batch-four estimates and 9-bit SIMD scoring (#5647)
  • 76c0e01 Add GPU-accelerated IVFPQ search to the Metal backend (#5449)
  • 0db2f30 rabitq neon kernels (#5532)
  • 430a41e Native fp16 k-means training for Faiss IVF (#5671)
  • 6c8378e Add RVV implementation for decode_bf16_simd (#5641)
  • e24a371 feat(rvv): add vector arithmetic kernels (#5655)
  • 94a4331 Add reranked types to IndexSQFastScan and fix flat RaBitQ filtering (#5661)
  • dcf8ebb Support IDSelector in flat fast-scan search (#5660)
  • 1768a5a Add RVV SIMD specialization for product quantizer distance-table computation (#5543)
  • f323c18 Add RVV encoding for QT_8bit_direct (#5640)
  • 5e74b1b feat: implement RVV optimized scalar quantizer codecs and distance computation (#5535)
  • b0d9e80 Add fast scan variants of SQ indexes - IndexSQFastScan and IndexIVFSQFastScan (#5341)
  • 4864f4d SVS: Add ParameterSpace.set_index_parameter support for Vamana (#5644)
  • 0f23e6a Add RVV SIMD specialization for scalar quantizer distance compute (#5539)

Changed

  • f34c0b8 Move the macOS arm64 CI jobs from macos-14 to macos-15 (#5875)
  • 741138a E-means: quality batch at d <= 16 and no revival at d <= 2 by default (#5854)
  • 731286f e-means: faiss-style verbose output that reports epochs and asks for a citation (#5841)
  • 277b3c7 e-means: rename niter to nepochs (#5848)
  • a15797a Compute the coarse distances in search_preassigned when they are not given (#5748)
  • b955264 Replace the e-means README with a user guide (#5842)
  • e4500c2 Use BF16 defaults and share quantized rows across E-means sharding (#5844)
  • 0a6f936 Emeans ssd speedups (#5839)
  • 9246aa7 Rename e-means operating_point to batch_law, allow batch_size without alpha0, and default niter to 5 (#5833)
  • 22a0cb7 Separate Emeans implementations (#5840)
  • 1d40eeb Speed up the x86 8-bit scalar quantizer inner-product distance (#5829)
  • efd79c9 Upgrade CPU CMake CI to PyTorch 2.15 (#5827)
  • 0b0250d SQ fp16 and bf16: four accumulators per code at d >= 384, any d at AVX-512 (#5806)
  • a3217cb Give each SIMD level its own copy of the 65 shared functions (#5810)
  • 2a6e785 Define the AVX-512 SQ specializations once for AVX512 and AVX512_SPR (#5808)
  • c2d27c6 Search only the sample vectors at sinks after each round of HNSW level-0 links (#5804)
  • 9d5b442 Codify the Faiss SIMD guard rules and check them with a test (#5793)
  • 0d3c380 Move SIMD code to dedicated translation units and align guards (#5792)
  • 03aa1bd Give fvec_L2sqr_ny_y_transposed_D internal linkage in the AVX2 and AVX512 files (#5788)
  • 167f443 Prefetch graph rows and vectors in PiPNN search (#5805)
  • ea99cbc SVS 0.5.0 (#5785)
  • 0c2cad8 Run the Windows conda CI steps in bash (#5795)
  • 35a4ec2 Use 3 sample vectors per node by default for HNSW level-0 links (#5789)
  • 1ec0011 Hamming: vector popcount for the default computer at AVX512 and AVX512_VPOPCNT (#5787)
  • fc65960 Use a SIMD masked sum for the fp32 RaBitQ 1-bit estimate (#5782)
  • d37bede Train ProductQuantizer subquantizers in parallel (#5783)
  • 386c96b Default alpha to 1.2 for all metrics (#5786)
  • 0a32a42 Scale the HNSW and PiPNN search check period by the thread count (#5784)
  • c919a60 Dispatch RaBitQ scans once per inverted list (#5597)
  • 6907ed1 Prune inner-product graphs on cosines when norms vary (#5774)
  • e353ed7 8-bit PQ code distance: 4-sum scalar kernel instead of gathers on AMD Zen 3/4/5 (#5751)
  • 9e16309 Build PiPNN graphs over distinct codes (#5768)
  • 7834aba Size IVF fast-scan slice LUTs on the calling thread (#5721)
  • 2732125 Dispatch more dimensions to the SIMD fvec_L2sqr_ny_transposed kernels (#5757)
  • ee6927d ivflib::search_with_distance_to_code: search through InvertedListScanner::distance_to_code (#5755)
  • 56c96d5 Move Faiss C++ tests to Python (#5743)
  • a55e0b2 Upgrade cuVS to 26.10 (#5633)
  • 494330f Speed up the NEON 8-bit scalar quantizer L2 distance (#5733)
  • 1a9ddc6 Use monotonic dynamic scheduling so libomp 12 does not take its static-steal path (#5723)
  • 3fc6bcd On ROCm, stage pageable host copies in pinned memory (#5712)
  • cec5702 DD: give fvec_L2sqr_ny_nearest_y_transposed_D internal linkage (#5720)
  • db6aa06 Hoist per-list allocations out of the IVF fast-scan search loops (#5717)
  • 3907966 Select OpenBLAS OMP build in conda for AArch64 + Linux (#5669)
  • 44afa77 Stop allocating per (query, probe) on OpenMP workers in IVF RaBitQ fast-scan (#5716)
  • 6692d7a Stop copying QueryFactorsData per block in RaBitQHeapHandler
  • 3a98062 faiss/conda: extend LSQ NEON-flaky test skip to all arm64 (#5713)
  • 2839c39 Make the GPU IVF search return the same neighbours on every run (#5682)
  • a2f7943 Optimize 4-bit PQ fastscan accumulation on Arm CPUs (#5709)
  • 83ae8b0 Move the RVV distance kernels into free-standing headers (#5697)
  • 1dab0c1 Quarantine unstable cuVS Python GPU tests (#5699)
  • ae4466d Avoid widening fp16 data for k-means++ initialization (#5693)
  • ea9151d RaBitQ: broadcast one sign word per 32 dims in the AVX2 RBQ9 kernel (#5696)
  • 4102312 Defer IVF list scan setup until needed (#5595)
  • fdb9535 Make search stats collection configurable (#5670)
  • 7f6bf10 Halve IndexSQFastScan rerank memory with a split-nibble layout (#5662)
  • b1c1496 migrate from bit-manipulation builtins in fbcode/faiss (#5667)
  • 2496f63 Avoid search stats contention during concurrent search (#5663)
  • 3f4838e Batch the IVF ScalarQuantizer scan four codes at a time (#5456)
  • 1dbb3d2 Update backward compatibility test to v1.15.1 (#5646)

Fixed

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

Deprecated

  • 8f176c3 Remove the replicas parameter (#5809)
  • de495c9 Remove redundant contrib, torch, Manifold and telemetry tests (#5801)
  • ce25a10 Remove redundant Panorama, general index, factory and SWIG tests (#5802)
  • ca60fb5 Remove redundant clustering, binary index and SIMD distance tests (#5800)
  • 4915580 Remove redundant serialization, mmap and deserialization tests (#5798)
  • 2f8c1d2 Remove redundant SVS, HNSW, NSG and PiPNN tests (#5799)
  • f2130c2 Remove redundant IVF and search parameter tests (#5803)
  • 1c84f08 Remove redundant PQ, AQ and SQ fast-scan tests (#5797)
  • 2010413 Remove redundant PQ, AQ, SQ and RaBitQ tests (#5796)
  • 42aac2f Remove the cuVS 26.02 compatibility paths from the cuVS GPU code (#5750)

Don't miss a new faiss-cpu release

NewReleases is sending notifications on new releases.