diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8d0387ce..9561e667 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -38,11 +38,12 @@ Run any examples you add or change, including examples inside Markdown. ## Setup for code changes -Source builds support x86-64 with AVX2/FMA (AVX-512 optional) and macOS ARM64 -with NEON. They need CMake 3.20 or newer, a C++17 compiler, and OpenMP. -Windows x86-64 uses Visual Studio 2026; Linux AArch64 needs separate platform -validation. See the [platform-specific build instructions](tests/README.md#quick-start) -for Windows and [Apple Silicon](tests/README.md#macos-arm64). +Source builds support Linux and Windows x86-64 with AVX2/FMA (AVX-512 +optional), and Linux and macOS ARM64 with NEON. They need CMake 3.20 or newer, +a C++17 compiler, and OpenMP. Windows x86-64 uses Visual Studio 2026. See the +[platform-specific build instructions](tests/README.md#quick-start) for +[Linux ARM64](tests/README.md#linux-arm64) and +[Apple Silicon](tests/README.md#macos-arm64). Documentation-only contributions do not need this hardware or compiler setup. On Ubuntu or Debian: @@ -150,7 +151,7 @@ for details. | Problem | What to check | | --- | --- | | CMake cannot find OpenMP or a compiler | Check the [platform-specific prerequisites](tests/README.md#prerequisites). On Apple Silicon, install `libomp` and pass its prefix as `OpenMP_ROOT`. Include the compiler version and CMake error when asking for help. | -| Unsupported CPU or architecture | Use x86-64 with AVX2/FMA or macOS ARM64 with NEON. Linux AArch64 still needs platform validation; disabling native tuning alone does not establish support. Report your CPU model in the issue or PR. | +| Unsupported CPU or architecture | Use Linux or Windows x86-64 with AVX2/FMA, or Linux or macOS ARM64 with NEON. Disabling native tuning does not add an unsupported architecture. Report your CPU model in the issue or PR. | | Tests do not reflect your Python or C++ edits | Re-run the platform-specific install command above in the active environment, then check the import paths below. Re-run the regression test that exercises your change. | | Formatting or analysis reports the wrong tool version | Use the pinned versions and executable overrides in the [development reference](DEVELOPMENT.md). | diff --git a/README.md b/README.md index 5f2f6c1e..36b63866 100644 --- a/README.md +++ b/README.md @@ -35,26 +35,15 @@ ## News -- **September 2026 — Linux ARM64 support:** Native AArch64 C++ tests and - CPython 3.11–3.14 wheel builds cover NEON kernels and all three indexes. - See the [platform requirements](docs/docs/quick_start.md#requirements). +- **September 2026 — Platform support:** CPython 3.11–3.14 wheels cover Linux + x86-64 and ARM64, Windows x86-64, and macOS 14+ ARM64. C++ source builds are + validated on these platforms. See the + [platform requirements](docs/docs/quick_start.md#requirements). -- **September 2026 — Apple Silicon support:** macOS ARM64 joins Linux and - Windows x86-64, with NEON kernels and CPython 3.11–3.14 wheel builds for - macOS 14+. See the [platform requirements](docs/docs/quick_start.md#requirements). - -- **September 2026 — Windows x86-64 support:** C++ and Python source builds now - support MSVC, runtime AVX2/AVX-512 dispatch, and Unicode index paths. Windows - wheels are available for CPython 3.11–3.14. For source builds, see the - [Windows build instructions](tests/README.md#prerequisites). - -- **September 2026 — IVF raw-vector reranking:** Use `nbits=32` for float32 - reranking. Quantized IVF automatically selects HACC for 4–9-bit codes. - See the [IVF documentation](docs/docs/index/ivf.md). - -- **September 2026 — Quantized SymphonyQG:** Set `quantization_bits=4` or `8` - for compact vector storage; raw vectors remain the default. - See the [SymphonyQG documentation](docs/docs/index/qg.md). +- **September 2026 — txtai integration:** [txtai](https://github.com/neuml/txtai) + now includes `rabitqlib` as an ANN backend with IVF and HNSW modes. See its + [RaBitQ configuration](https://github.com/neuml/txtai/blob/master/docs/embeddings/configuration/ann.md#rabitq) + and the [integration discussion](https://github.com/VectorDB-NTU/RaBitQ-Library/issues/110). ## Install @@ -65,8 +54,8 @@ python -m pip install --upgrade rabitqlib Wheels: CPython 3.11–3.14 on Linux x86-64 and ARM64, Windows x86-64, and macOS 14+ ARM64 (Apple Silicon). x86-64 uses AVX2/FMA with optional AVX-512 acceleration; ARM64 uses NEON and portable scalar kernels. Linux ARM64 and -macOS wheels bundle OpenMP. Linux ARM64 wheels use a `manylinux_2_28` build -image; check each wheel's tags for its glibc compatibility. Intel Mac and +macOS wheels bundle OpenMP. The v0.3.10 Linux ARM64 wheels carry +`manylinux_2_27_aarch64` and `manylinux_2_28_aarch64` tags. Intel Mac and universal2 wheels are not provided. ## Python quick start @@ -175,6 +164,9 @@ search; this is not a list of direct dependencies on RaBitQ-Library. traces its use of the library's quantizers and estimators inside zvec's IVF and HNSW implementations, with links to the source code. +The [txtai RaBitQ backend](https://github.com/neuml/txtai/blob/master/docs/embeddings/configuration/ann.md#rabitq) +uses `rabitqlib` directly for IVF and HNSW search. +
diff --git a/docs/docs/index.md b/docs/docs/index.md
index 88ea6395..8a1edcca 100644
--- a/docs/docs/index.md
+++ b/docs/docs/index.md
@@ -111,6 +111,10 @@ University.
## Used across the vector-search ecosystem
+[txtai](https://github.com/neuml/txtai) uses `rabitqlib` directly as an ANN
+backend with IVF and HNSW modes. See its
+[RaBitQ configuration](https://github.com/neuml/txtai/blob/master/docs/embeddings/configuration/ann.md#rabitq).
+
RaBitQ has been adopted by projects including
[Milvus](https://github.com/milvus-io/milvus),
[Faiss](https://github.com/facebookresearch/faiss),
diff --git a/docs/docs/quick_start.md b/docs/docs/quick_start.md
index 4ee149aa..8c9d1e77 100644
--- a/docs/docs/quick_start.md
+++ b/docs/docs/quick_start.md
@@ -18,8 +18,8 @@ workload and CMake 4.2+ for its generator). Apple Silicon uses AppleClang and
an external OpenMP runtime such as Homebrew `libomp`.
Linux ARM64 source builds and repaired wheels run on native AArch64 CI.
-The Linux ARM64 wheels use a `manylinux_2_28` build image; auditwheel assigns
-the final glibc compatibility tags. Intel Mac and universal2 wheels are not provided.
+The v0.3.10 Linux ARM64 wheels carry `manylinux_2_27_aarch64` and
+`manylinux_2_28_aarch64` tags. Intel Mac and universal2 wheels are not provided.
CPU dispatch details |