From d87888b13e7eb339bb9c45825e9d20def6665171 Mon Sep 17 00:00:00 2001 From: Maria Lomeli Date: Wed, 19 Apr 2023 06:18:30 -0700 Subject: [PATCH] Prepare for v1.7.4 release (#2820) Summary: Updated the changelog with features since last release, see https://github.com/facebookresearch/faiss/compare/1.7.3_release...main for details. Please comment if you want to highlight anything that I've missed. Pull Request resolved: https://github.com/facebookresearch/faiss/pull/2820 Reviewed By: mdouze Differential Revision: D44922916 Pulled By: mlomeli1 fbshipit-source-id: db16754698af4dd0fb8dddff7ec9885170a3d5c4 --- CHANGELOG.md | 37 ++++++++++++++++++++++++++++++++++++- CMakeLists.txt | 2 +- faiss/Index.h | 2 +- faiss/python/setup.py | 2 +- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4aeb0393a0..9a38f4e2d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,40 @@ We try to indicate most contributions here with the contributor names who are no the Facebook Faiss team. Feel free to add entries here if you submit a PR. ## [Unreleased] +## [1.7.4] - 2023-04-12 +### Added +- Added big batch IVF search for conducting efficient search with big batches of queries +- Checkpointing in big batch search support +- Precomputed centroids support +- Support for iterable inverted lists for eg. key value stores +- 64-bit indexing arithmetic support in FAISS GPU +- IndexIVFShards now handle IVF indexes with a common quantizer +- Jaccard distance support +- CodePacker for non-contiguous code layouts +- Approximate evaluation of top-k distances for ResidualQuantizer and IndexBinaryFlat +- Added support for 12-bit PQ / IVFPQ fine quantizer decoders for standalone vector codecs (faiss/cppcontrib) +- Conda packages for osx-arm64 (Apple M1) and linux-aarch64 (ARM64) architectures +- Support for Python 3.10 + +### Removed +- CUDA 10 is no longer supported in precompiled packages +- Removed Python 3.7 support for precompiled packages +- Removed constraint for using fine quantizer with no greater than 8 bits for IVFPQ, for example, now it is possible to use IVF256,PQ10x12 for a CPU index + +### Changed +- Various performance optimizations for PQ / IVFPQ for AVX2 and ARM for training (fused distance+nearest kernel), search (faster kernels for distance_to_code() and scan_list_*()) and vector encoding +- A magnitude faster CPU code for LSQ/PLSQ training and vector encoding (reworked code) +- Performance improvements for Hamming Code computations for AVX2 and ARM (reworked code) +- Improved auto-vectorization support for IP and L2 distance computations (better handling of pragmas) +- Improved ResidualQuantizer vector encoding (pooling memory allocations, avoid r/w to a temporary buffer) + +### Fixed +- HSNW bug fixed which improves the recall rate! Special thanks to zh Wang @hhy3 for this. +- Faiss GPU IVF large query batch fix +- Faiss + Torch fixes, re-enable k = 2048 +- Fix the number of distance computations to match max_codes parameter +- Fix decoding of large fast_scan blocks + ## [1.7.3] - 2022-11-3 ### Added @@ -224,7 +258,8 @@ by conda install -c pytorch faiss-gpu cudatoolkit=10.0. - C bindings. - Extended tutorial to GPU indices. -[Unreleased]: https://github.com/facebookresearch/faiss/compare/v1.7.2...HEAD +[Unreleased]: https://github.com/facebookresearch/faiss/compare/v1.7.4...HEAD +[1.7.4]: https://github.com/facebookresearch/faiss/compare/v1.7.3...v1.7.4 [1.7.3]: https://github.com/facebookresearch/faiss/compare/v1.7.2...v1.7.3 [1.7.2]: https://github.com/facebookresearch/faiss/compare/v1.7.1...v1.7.2 [1.7.1]: https://github.com/facebookresearch/faiss/compare/v1.7.0...v1.7.1 diff --git a/CMakeLists.txt b/CMakeLists.txt index 199da9dbca..fa1e312456 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,7 +7,7 @@ cmake_minimum_required(VERSION 3.23.1 FATAL_ERROR) project(faiss - VERSION 1.7.3 + VERSION 1.7.4 DESCRIPTION "A library for efficient similarity search and clustering of dense vectors." HOMEPAGE_URL "https://github.com/facebookresearch/faiss" LANGUAGES CXX) diff --git a/faiss/Index.h b/faiss/Index.h index f3eb0521c6..d73a684f54 100644 --- a/faiss/Index.h +++ b/faiss/Index.h @@ -18,7 +18,7 @@ #define FAISS_VERSION_MAJOR 1 #define FAISS_VERSION_MINOR 7 -#define FAISS_VERSION_PATCH 3 +#define FAISS_VERSION_PATCH 4 /** * @namespace faiss diff --git a/faiss/python/setup.py b/faiss/python/setup.py index 101b4712d9..6ea944e188 100644 --- a/faiss/python/setup.py +++ b/faiss/python/setup.py @@ -53,7 +53,7 @@ """ setup( name='faiss', - version='1.7.3', + version='1.7.4', description='A library for efficient similarity search and clustering of dense vectors', long_description=long_description, url='https://github.com/facebookresearch/faiss',