Skip to content

v0.1.0: Bare-Metal SIMD Vector Search & AI Agent Memory

Choose a tag to compare

@eminsk eminsk released this 10 Sep 22:57
· 21 commits to main since this release

⚡ NanoVector v0.1.0 — Initial Official Release

The SQLite of Vector Search & Episodic Memory for AI Agents in ~120KB.

Key Highlights

  • Zero External Dependencies: Self-contained C99 extension, no PyTorch, no SciPy, no heavy C++ runtimes.
  • AVX2 + FMA SIMD Kernel: Unrolled 4x across 32 floats per iteration on x86_64.
  • Pure FASM x64 Assembly Kernel: Standalone hand-crafted assembly kernel adhering strictly to Microsoft x64 ABI.
  • ARM NEON Kernel: 128-bit FMA vectorization for Apple Silicon (M1/M2/M3/M4) and AWS Graviton.
  • In-Place Top-K Heap: O(N log K) min-heap / max-heap with branch-predicted pruning.
  • Single-File Binary Persistence (.nvec): Instant serialization and deserialization with 64-byte aligned header.
  • Python Buffer Protocol: Direct Zero-Copy ingestion and search from 1D/2D numpy.ndarray.
  • Concurrency: GIL released during searches (Py_BEGIN_ALLOW_THREADS) achieving 14,300+ QPS across 8 threads.

Installation

pip install nanovector