High-performance, zero-overhead SIMD abstraction library.
Architecture
hermes-simd is the public facade for the hermes-simd workspace:
- [
hermes_simd_core] — core abstractions, traits, views - [
hermes_simd_intrinsics] — architecture-specific kernels - [
hermes_simd_macros] — proc-macro code generation
Feature Flags
| Feature | Description |
|---|---|
std (default) |
Runtime CPU feature detection (is_x86_feature_detected!); without it dispatch uses compile-time cfg!(target_feature) only |
mnemosyne-memory (default) |
Route AlignedVec allocation through the mnemosyne allocator |
libnuma |
Linux NUMA affinity and residency probes via libnuma (links -lnuma); allocation still routes through Mnemosyne/the configured allocator |
Usage Examples
Dense sum (runtime dispatch):
use sum;
let data = vec!;
assert_eq!;
Masked dot product:
use masked_dot;
let a = vec!;
let b = vec!;
let mask = vec!;
assert_eq!; // 1+3+5