mirror of
https://github.com/ruvnet/RuVector.git
synced 2026-06-01 06:10:31 +00:00
- Add SIMD feature detection functions (is_avx512_available, is_avx2_available, is_neon_available, simd_level) - Implement AVX-512 distance functions processing 16 floats per iteration: - l2_distance_ptr_avx512: Euclidean distance with _mm512_fmadd_ps - cosine_distance_ptr_avx512: Cosine distance with full normalization - inner_product_ptr_avx512: Inner/dot product for normalized vectors - manhattan_distance_ptr_avx512: L1 distance with _mm512_abs_ps - cosine_distance_normalized_avx512: Optimized for pre-normalized vectors - Add NEON Manhattan distance for ARM64 (manhattan_distance_ptr_neon) - Update all dispatch functions to prefer AVX-512 > AVX2 > NEON > Scalar - Add comprehensive AVX-512 test suite with remainder handling tests - All functions use horizontal reduce (_mm512_reduce_add_ps) for efficient summation Performance: AVX-512 processes 16 floats/iteration vs 8 for AVX2, yielding ~1.5-2x speedup on supported CPUs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| attention | ||
| bin | ||
| distance | ||
| gnn | ||
| graph | ||
| hyperbolic | ||
| index | ||
| learning | ||
| quantization | ||
| routing | ||
| sparse | ||
| types | ||
| lib.rs | ||
| operators.rs | ||