SimSIMD
Open‑source library providing fast SIMD‑accelerated implementations of similarity and distance computations (e.g., vector inner products and distances), serving as an efficient alternative to scipy.spatial.distance and numpy.inner for vector search and vector database workloads.
About this tool
Overview
SimSIMD is an open‑source, SIMD‑accelerated library for fast similarity and distance computations on vectors. It targets use cases such as vector search, vector databases, and high‑performance numerical workloads, providing a faster alternative to libraries like scipy.spatial.distance and numpy.inner.
Key Capabilities
- Implements dot products and similarity metrics
- Supports multiple numeric types:
f64,f32,f16, real & complex,i8, and bit vectors - SIMD acceleration across multiple CPU instruction sets: AVX2, AVX‑512, NEON, SVE, and SVE2
- Achieves large speedups (reported up to ~200x) over naïve or non‑SIMD implementations for inner products and distances
- Designed for integration into vector search and vector database pipelines
Language & Platform Support
- Core implementation in C / C++ (via
includeandcdirectories) - Bindings / integrations for multiple languages:
- Python
- Rust
- JavaScript
- Swift
- Go (Golang)
Features
-
SIMD‑Accelerated Operations
- Vector inner products (dot products)
- Similarity and distance metrics for numerical vectors
- Optimized kernels per CPU architecture (AVX2, AVX‑512, NEON, SVE, SVE2)
-
Data Type Support
- Floating‑point:
f64,f32,f16 - Real and complex numbers
- Integer:
i8 - Bit vectors
- Floating‑point:
-
Multi‑Language Bindings
- Python package for numerical workloads and vector search pipelines
- Rust crate for systems and performance‑critical applications
- JavaScript bindings for web or Node.js environments
- Swift bindings for Apple platforms
- Go bindings for Go‑based services
-
Cross‑Platform / Cross‑Architecture Design
- Portable SIMD abstractions targeting multiple CPU instruction sets
- Suitable for x86 and ARM ecosystems (via AVX*, NEON, SVE, SVE2)
-
Open‑Source & Integration‑Friendly
- Source available on GitHub
- Modular layout with language‑specific folders for easier integration
- Apache‑2.0 license for permissive use in open‑source and commercial projects
License
- Apache‑2.0
Pricing
- SimSIMD is an open‑source library under the Apache‑2.0 license and is free to use. No pricing plans are listed.
Loading more......
Information
Categories
Similar Products
6 result(s)Locality-Sensitive Hashing (LSH) is an algorithmic technique for approximate nearest neighbor search in high-dimensional vector spaces, commonly used in vector databases to speed up similarity search while reducing memory footprint.
Spectral Hashing is a method for approximate nearest neighbor search that uses spectral graph theory to generate compact binary codes, often applied in vector databases to enhance retrieval efficiency on large-scale, high-dimensional data.
Ruby gem for approximate nearest neighbor search that can integrate with pgvector and other backends to power vector similarity search in Ruby applications.
IDEA is an inverted, deduplication-aware index structure designed to improve storage efficiency and query performance for similarity search workloads. It is implemented as research code and targets high-dimensional vector and content-addressable data, making it relevant to large-scale vector database and ANN indexing systems.
iRangeGraph is an ANN indexing approach and accompanying implementation for range-filtering nearest neighbor search. It provides a specialized graph-based index that supports vector similarity search under range constraints, making it directly useful as a component or reference implementation for advanced vector database indexing and retrieval.
NSG is an approximate nearest neighbor search algorithm based on a sparse navigable graph structure designed for high-dimensional vector similarity search. The reference implementation provides a graph-based ANN index that can be integrated into custom vector retrieval systems.