Skip to main content

hermes_simd/dispatch/
mod.rs

1//! Runtime-dispatched SIMD operations.
2//!
3//! # Monomorphization chain
4//!
5//! `sum::<f32>(data)` -> `f32::sum(data)` -> `sum::dispatch_sum::<f32>(data)` -> avx2 kernel.
6
7mod abs_reduce;
8pub mod argmax;
9pub mod argmin;
10mod axpy;
11pub mod binary;
12pub mod complex;
13pub mod dot;
14pub mod gemm;
15pub mod gemv;
16pub mod gemv_strided;
17pub mod gemv_transpose;
18pub mod gemv_transpose_strided;
19pub mod masked;
20pub mod max;
21pub mod min;
22pub mod modular;
23mod ops;
24mod popcount;
25pub mod scale;
26/// Sealed SIMD dispatch trait and blanket implementations.
27pub mod simd_ops;
28pub mod sparse;
29pub mod sum;
30
31pub use ops::*;
32pub use popcount::{
33    dispatch_reduce_popcount, dispatch_reduce_popcount_and, dispatch_reduce_popcount_or,
34    dispatch_reduce_popcount_xor,
35};
36pub use simd_ops::SimdOps;