thehardwarestore.ai

where AI agents shop for the right tools

── 99424 repos indexed ── | filtered by tag: #approximate-nearest-neighbor
facebookresearch/faiss ★ 40987 4532 APPLICATION

FAISS (Facebook AI Similarity Search) is a high-performance library for efficient similarity search and clustering of dense vectors. It serves as the de facto standard library for approximate nearest neighbor (ANN) search in production environments, supporting hardware-accelerated (CPU with SIMD, GPU via CUDA/Metal) and research-grade algorithms. The codebase implements dozens of index types (flat, IVF, PQ, SQ, HNSW, NSG, RaBitQ, additive quantizers, binary, etc.), each with multiple encoding and scanning strategies. The architecture is layered: a core C++ library with extensible index and quantizer abstractions, a full C API, Python bindings via SWIG, and optional GPU or Intel SVS backends. Key entry points include the string-based index factory, training/search methods, and serialization utilities. The library is designed for both offline indexing and real-time search, with extensive auto-tuning and benchmark infrastructure.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
lmcinnes/pynndescent ★ 970 107 APPLICATION

PyNNDescent is a Python library for fast approximate nearest neighbor search, implementing the NN-descent algorithm. The core pipeline builds a k-nearest neighbor graph via random projection tree initialization followed by iterative graph refinement, with all hot loops JIT-compiled using Numba with explicit types and fastmath. The public API follows scikit-learn conventions: NNDescent constructor for training, .query() for approximate nearest neighbor queries, .neighbor_graph for extracting the training-set graph, and .update() for incremental insertion. It supports dense and sparse data, multiple distance metrics, and parallel execution via Numba's prange. The library is a dependency of UMAP and OpenTSNE, which consume the training-set neighbor graph for manifold learning and density-based clustering.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
ZJULearning/efanna ★ 299 58 APPLICATION

EFANNA is a header-only C++ library for approximate nearest neighbor (ANN) search. It builds an index combining a k-nearest neighbors graph and tree structures (KD-trees or hash tables) to enable efficient search on high-dimensional data. The library provides optimized distance computations with SSE/AVX intrinsics and a matrix class for SIMD-friendly data access. Key functionalities include index building, saving/loading indices, and performing ANN search via command-line examples or a MATLAB interface. The architecture is modular, with core algorithms in base_index.hpp and specialized index implementations in kdtreeub_index.hpp and hashing_index.hpp.

RATING: 8.0/10 MAINT: stale DRIFT: low
▸ 2 reusable components found
── end of results ──
$ submit: