ppc64le/linux/: faiss-cpu-1.9.0.post1 metadata and description

Simple index

A library for efficient similarity search and clustering of dense vectors.

author_email Kota Yamaguchi <[email protected]>
classifiers
  • Development Status :: 4 - Beta
  • Intended Audience :: Developers
  • Intended Audience :: Science/Research
  • Operating System :: MacOS :: MacOS X
  • Operating System :: Microsoft :: Windows
  • Operating System :: POSIX
  • Programming Language :: Python :: 3.10
  • Programming Language :: Python :: 3.11
  • Programming Language :: Python :: 3.12
  • Programming Language :: Python :: 3.13
  • Programming Language :: Python :: 3.14
  • Topic :: Scientific/Engineering :: Artificial Intelligence
  • Environment :: MetaData :: IBM Python Ecosystem
description_content_type text/markdown
keywords faiss,similarity search,clustering,machine learning
license_expression MIT AND BSD-3-Clause
project_urls
  • Repository, https://github.com/kyamagu/faiss-wheels
requires_dist
  • numpy<3.0,>=1.25.0
  • packaging
requires_python <3.15,>=3.10
File Tox results History
faiss_cpu-1.9.0.post1-cp312-abi3-manylinux_2_39_ppc64le.whl
Size
14 MB
Type
Python Wheel
Python
3.12
faiss_cpu-1.9.0.post1-cp313-abi3-manylinux_2_39_ppc64le.whl
Size
14 MB
Type
Python Wheel
Python
3.13
faiss_cpu-1.9.0.post1-cp314-abi3-manylinux_2_39_ppc64le.whl
Size
14 MB
Type
Python Wheel
Python
3.14

faiss-wheels 🎡

Build PyPI

[!IMPORTANT] This repository is archived. Starting with faiss v1.14.2, the upstream faiss repository officially supports PyPI wheel distribution. This community-maintained repository has ended its role. Please install faiss directly from PyPI:

pip install faiss-cpu

Faiss Python wheel packages.

Overview

This repository provides CI scripts to build wheel packages for the faiss library.

Features

The PyPI distributed wheels include the following extentions.

Platform Arch Extensions BLAS backend
Linux x86_64 generic, avx2, avx512 OpenBLAS
Linux arm64 generic, sve OpenBLAS
macOS x86_64 generic, avx2 Accelerate framework
macOS arm64 generic Accelerate framework
Windows x86_64 generic, avx2 OpenBLAS
Windows arm64 generic OpenBLAS

Note GPU binary package is discontinued as of 1.7.3 release. Build a custom wheel to support GPU features.

Install

Install the CPU-only package by:

pip install faiss-cpu

Note that the package name is faiss-cpu.

Usage

Check the official documentation at the upstream for general usage.

Index portability

One caveat is that faiss indices built in a specific environment is not always compatible in the other environment. For example, indices built and saved in the x86_64 architecture is not always compatible in the arm64 environment. In addition, SIMD features can lead to incompatibility. Indices built in the AVX2 extension are not compatible in the generic extension. Faiss automatically detects the CPU instruction set and loads extensions. This tends to be an issue in the containerized environment where CPU features are not correctly detected due to driver issues.

If you encounter a segfault or weird argument errors, set the following environment variable to force or disable the specific SIMD extension:

export FAISS_OPT_LEVEL="generic"

Building customized wheels

The PyPI wheels do not support GPU by default. To support GPU methods or use faiss with a different build configuration, build a custom wheel. For building a wheel package, there are a few requirements.

See scripts/install_* scripts for details.

Build instruction

Clone the repository with submodules.

git clone --recursive https://github.com/kyamagu/faiss-wheels.git
cd faiss-wheels

You can use a standard Python environment manager like pipx to build a wheel.

pipx run build --wheel

Any build backend supporting scikit-build-core can build wheels. For example, you can use uv to build wheels.

uv build --wheel

Build options

You can set environment variables to customize the build options. The following example builds a wheel with AVX2 and CUDA support.

export FAISS_OPT_LEVELS=avx2
export FAISS_GPU_SUPPORT=CUDA
pipx run build --wheel

Alternatively, you may directly pass CMake options via the command line. See the scikit-build-core documentation for details on how to specify CMake defines.

pipx run build --wheel \
    -Ccmake.define.FAISS_OPT_LEVELS=avx2 \
    -Ccmake.define.FAISS_GPU_SUPPORT=CUDA

The following options are available for configuration.

See also the list of supported build-time options in the upstream documentation. Do not directly set FAISS_OPT_LEVEL and FAISS_ENABLE_GPU when building a wheel via this project, as that will confuse the build process.

You might want to overwrite the default wheel package name faiss-cpu depending on the build option. Manually rewrite the name field in pyproject.toml file, or launch the following script to update the project name in pyproject.toml.

./scripts/rename_project.sh faiss-gpu

Development

This repository is intended to support PyPI distribution for the official faiss library. The repository contains the CI workflow based on cibuildwheel. Feel free to make a pull request to fix packaging problems.

Currently, GPU wheels result in a large binary size that exceeds the file size limit of PyPI.

Other relevant resources:

Export Classification Notice

The software hosted on this website consists of publicly available open‑source packages. To the extent U.S. export regulations apply, software that is publicly available as described in 15 C.F.R. §§ 734.7 (for non-encryption software) or 742.15(b) (for encryption software) is not subject to the Export Administration Regulations (EAR). Users are responsible for complying with all applicable export laws and regulations.