Skip to content

[first stage] Upgrade faiss to 1.13.2+ (commit 1aea3e934745f37)#1430

Merged
sre-ci-robot merged 1 commit intozilliztech:mainfrom
alexanderguzhva:upgrade_faiss_1132
Feb 7, 2026
Merged

[first stage] Upgrade faiss to 1.13.2+ (commit 1aea3e934745f37)#1430
sre-ci-robot merged 1 commit intozilliztech:mainfrom
alexanderguzhva:upgrade_faiss_1132

Conversation

@alexanderguzhva
Copy link
Collaborator

@alexanderguzhva alexanderguzhva commented Jan 12, 2026

This is the first patch of the following series. I expect it to be committed ASAP, because it allows starting the work on integrating some other Faiss parts, such as SVS, cuVS, etc. into Milvus. And these integration processes can be started independently from a fork-related refactoring process.

The code has been reorganized in the following way:

  • /thirdparty/faiss has been replaced with a clone of the baseline Faiss version, 1.13.2+, commit 1aea3e934745f37e8d60cfff6c5900b175c42709
  • all knowhere-specific Faiss fork pieces were moved to /thirdparty/faiss/faiss/cppcontrib/knowhere directory under a C++ namespace faiss::cppcontrib::knowhere.
  • all knowhere-specific faiss integration code (such as /src/simd/) has been altered to use a C++ namespace faiss::cppcontrib::knowhere

It is expected to gradually remove duplicate components from a knowhere-fork a replace them with the baseline faiss components. If this is not possible, then a new component must be created and put into cppcontrib/knowhere directory.

Additional patches with the refactoring of the fork are expected.

@mergify
Copy link

mergify bot commented Jan 12, 2026

@alexanderguzhva 🔍 Important: PR Classification Needed!

For efficient project management and a seamless review process, it's essential to classify your PR correctly. Here's how:

  1. If you're fixing a bug, label it as kind/bug.
  2. For small tweaks (less than 20 lines without altering any functionality), please use kind/improvement.
  3. Significant changes that don't modify existing functionalities should be tagged as kind/enhancement.
  4. Adjusting APIs or changing functionality? Go with kind/feature.

For any PR outside the kind/improvement category, ensure you link to the associated issue using the format: “issue: #”.

Thanks for your efforts and contribution to the community!.

@alexanderguzhva alexanderguzhva force-pushed the upgrade_faiss_1132 branch 5 times, most recently from 4d62de3 to 001b7e6 Compare January 13, 2026 22:29
@mergify mergify bot added the ci-passed label Jan 13, 2026
Signed-off-by: Alexandr Guzhva <alexanderguzhva@gmail.com>
@alexanderguzhva
Copy link
Collaborator Author

issue: #1439

@alexanderguzhva
Copy link
Collaborator Author

/kind improvement

@foxspy
Copy link
Collaborator

foxspy commented Jan 16, 2026

@alexanderguzhva After this PR, does knowhere still need to bear the maintenance cost of keeping code in sync with Faiss? It currently looks like that’s the case.

@alexanderguzhva
Copy link
Collaborator Author

@foxspy yes

@foxspy
Copy link
Collaborator

foxspy commented Jan 17, 2026

@foxspy yes

Could we maintain two versions of Faiss: one that directly references https://github.com/facebookresearch/faiss, and another one under thirdparty/faiss? The former would be integrated into Knowhere without any modifications, so we can avoid the cost of keeping it in sync.

@alexanderguzhva
Copy link
Collaborator Author

@foxspy we cannot, because we still need to modify faiss a bit. For example, I needed to add extra metric types, which is impossible to do if the code is just referenced

Copy link
Collaborator

@foxspy foxspy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@sre-ci-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: alexanderguzhva, foxspy

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [alexanderguzhva,foxspy]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sre-ci-robot sre-ci-robot merged commit 996b88b into zilliztech:main Feb 7, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants