我要评分
获取效率
正确性
完整性
易理解

Introduction to Faiss

Lastest Updates

  • [2026.03.30]: Faiss provides a non-equivalence optimization patch and an equivalence optimization patch. The non-equivalence optimization patch further optimizes the IVFPQ algorithm and supports the HNSW FP16 interface.
  • [2025.12.30]: Faiss was released on the Gitcode platform, optimizing IVFFLAT, IVFPQ, IVFPQFS, PQFS, and HNSW.

Overview

Faiss is an algorithm library developed by Facebook for efficient similarity search and clustering of dense vectors. It is written in C++ and provides complete bindings for Python and NumPy. Faiss supports multiple indexing methods such as IVFFlat, IVFPQ, HNSW, IVFPQFS, and PQFS. Kunpeng optimization is based on intrusive modifications to the open-source Faiss code while retaining the original interfaces.

HNSW is an approximate nearest neighbor (ANN) graph retrieval algorithm provided by Faiss. The open-source Faiss (HNSW) interface supports the FP32 data type. To optimize the computing efficiency and memory usage, the original Faiss has been adapted and reconstructed to add an FP16 interface, enabling efficient computation for FP16-based retrieval under the Kunpeng Arm architecture

Directory Structure

The repository directory structure is as follows:

faiss/
├─ 0001-faiss_1.8.0-optimize-neq.patch         // Non-equivalence optimization patch
├─ 0002-faiss_1.8.0-optimize-eqv.patch         // Equivalence optimization patch
└── docs
   ├── LICENSE
   └── en
      ├── api_reference.md                        // API reference
      ├── feature_introduction.md                 // Feature introduction
      ├── best_practices.md                       // Best practices
      ├── installation_guide.md                   // Installation guide
      ├── quick_start.md                          // Quick start
      └── release_notes.md                        // Release notes

Release Notes

For details about the version updates of Faiss, see Release Notes.

Documents

Introduction to

Resource Type

Resource Name

Resource Description

Document

Feature Introduction

Describes the Faiss architecture and optimizations.

Document

Release Notes

Provides basic information and feature updates of each Faiss release.

Document

Quick Start

Provides guidance for getting started with Faiss.

Document

Installation Guide

Provides guidance for compiling and installing Faiss.

Document

API Reference

Provides the definitions and descriptions of new Faiss APIs.

Document

Best Practices

Provides practical cases of Faiss.

Disclaimer

This code repository contributes to the Faiss open-source components. It strictly adheres to the coding style and methods, as well as security design of the native open-source software. Any vulnerability and security issues of the software shall be resolved by the corresponding upstream communities according to their response mechanisms. Please pay attention to the notifications and version updates released by the upstream communities. The Kunpeng computing community does not assume any responsibility for software vulnerabilities and security issues.

License

Faiss is licensed under the MIT License, which allows modification and redistribution of derivative works as open source. For details, see LICENSE.

The documents of this project are licensed under CC-BY 4.0. For details, see LICENSE.

Contribution Statement

We welcome your contributions to the community. If you have any questions/suggestions or want to provide feedback on feature requirements and bug reports, you can submit issues. For details, see the contribution guideline. You are also welcome to share insights in Discussions. Thank you for your support.

Acknowledgments

Faiss is jointly developed by the following Huawei department:

  • Kunpeng Computing BoostKit Development Dept

Thank you to everyone in the community for your PRs. We warmly welcome contributions to Faiss!