Expand description
SIMD-accelerated operations for spatial algorithms
This module provides high-performance SIMD implementations for critical spatial operations:
- Distance computations (Euclidean, Manhattan, Chebyshev, Minkowski, Cosine)
- KD-Tree operations (bounding box tests, point-to-box distance)
- Nearest neighbor search (batch distance, priority queues, radius search)
All operations use scirs2_core::simd::SimdUnifiedOps for optimal hardware utilization.
§Architecture Support
The SIMD operations are automatically optimized based on available hardware:
- AVX-512 (8x f64 vectors)
- AVX2 (4x f64 vectors)
- ARM NEON (2x f64 vectors)
- SSE (2x f64 vectors - fallback)
§Examples
use scirs2_spatial::simd_ops::{simd_euclidean_distance, simd_batch_distances};
use scirs2_core::ndarray::array;
// Single distance computation
let a = array![1.0, 2.0, 3.0];
let b = array![4.0, 5.0, 6.0];
let dist = simd_euclidean_distance(&a.view(), &b.view())?;
// Batch distance computation
let points1 = array![[1.0, 2.0], [3.0, 4.0]];
let points2 = array![[2.0, 3.0], [4.0, 5.0]];
let distances = simd_batch_distances(&points1.view(), &points2.view())?;Functions§
- simd_
batch_ distances - SIMD-accelerated batch distance computation between point sets
- simd_
batch_ squared_ distances - SIMD-accelerated batch distance computation for KD-Tree queries
- simd_
box_ box_ intersection - SIMD-accelerated axis-aligned bounding box intersection test
- simd_
chebyshev_ distance - SIMD-accelerated Chebyshev distance between two points
- simd_
cosine_ distance - SIMD-accelerated Cosine distance between two points
- simd_
euclidean_ distance - SIMD-accelerated Euclidean distance between two points
- simd_
knn_ search - SIMD-accelerated k-nearest neighbors distance computation
- simd_
manhattan_ distance - SIMD-accelerated Manhattan distance between two points
- simd_
minkowski_ distance - SIMD-accelerated Minkowski distance between two points
- simd_
pairwise_ distance_ matrix - SIMD-accelerated pairwise distance matrix computation
- simd_
point_ to_ box_ min_ distance_ squared - SIMD-accelerated point-to-axis-aligned-box minimum distance
- simd_
radius_ search - SIMD-accelerated radius search
- simd_
squared_ euclidean_ distance - SIMD-accelerated squared Euclidean distance between two points