Skip to main content

Module simd_hadamard

Module simd_hadamard 

Source
Expand description

SIMD-Accelerated Walsh-Hadamard Transform

High-performance vectorized Hadamard transform using AVX2/AVX-512/NEON for maximum throughput during vector rotation.

§Problem

Scalar Hadamard transform bottlenecks rotation:

  • O(D log D) complexity per vector
  • ~500ns per 768-dim vector (scalar)
  • Becomes significant at high ingest rates

§Solution

SIMD-accelerated butterfly operations:

  • Process 8 floats per operation (AVX2)
  • Process 16 floats per operation (AVX-512)
  • Vectorized normalization
  • In-place transformation

§Performance

DimensionScalar (ns)AVX2 (ns)AVX-512 (ns)Speedup
1288520124-7×
76852095555-9×
153611001801006-11×

§Usage

use sochdb_vector::simd_hadamard::{hadamard_transform, HadamardKernel};

let kernel = HadamardKernel::detect();
let mut data = vec![1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0];

kernel.transform(&mut data);

Structs§

HadamardKernel
Hadamard transform kernel with automatic dispatch

Enums§

SimdCapability
SIMD capability for Hadamard

Functions§

hadamard_scalar
Scalar Hadamard transform
hadamard_transform
In-place Hadamard transform with auto-detected SIMD
hadamard_transform_batch
Batch Hadamard transform
simd_capability
Get cached SIMD capability