Up to 200x Faster Dot Products & Similarity Metrics — for Python, Rust, C, JS, and Swift, supporting f64, f32, f16 real & complex, i8, and bit vectors using SIMD for both AVX2, AVX-512, NEON, SVE, & SVE2 📐
Previous versions of SimSIMD required the vector lengths to be proportional to SIMD register widths on the target CPU architecture. The new implementations don't require that.
This release brings a new project structure, separating the most popular metrics - IP, Cos, and L2sq, from the more obscure distance functions.
This release also introduces code for dynamic dispatch, which at runtime would pick the best implementation for the target CPU.
This release brings a CPython API, making it easy to use SimSIMD with NumPy arrays!