Expand description
Core abstractions for hermes-simd.
§Module Organization
| Module | Contents |
|---|---|
arch | SimdArch marker trait with architecture constants |
align | Alignment, Aligned<N>, Unaligned typestates |
execution | ExecutionMode, Unmasked, Masked ZSTs |
kernel | SimdKernel<T> trait — full SIMD operation surface |
scalar | Scalar sealed element trait |
mask | BitMask<N> bit-packed lane mask |
ops | ReductionOp<T>, ElementOp<T> ZST strategies |
view | SimdView, SimdError — safe typed slice views |
tiling | Const-generic tiled dot product and TilingPolicy |
sparse | SparseView, format ZSTs, data structs, SpMV kernels |
vec | AlignedVec — heap-allocated aligned vector |
cow | SimdCow — SIMD-aware copy-on-write |
tensor | N-D tensor views, GEMM, softmax, LayerNorm, Attention |
Re-exports§
pub use align::Aligned;pub use align::Alignment;pub use align::Unaligned;pub use arch::IsaFamily;pub use arch::SimdArch;pub use bitboard::BitBoardKernel;pub use bitboard::BitBoardView;pub use compute::ComputeView;pub use cow::ArchivedSimdCow;pub use cow::SimdCow;pub use cow::SimdCowResolver;pub use execution::ExecutionMode;pub use execution::Masked;pub use execution::Unmasked;pub use iter::SimdChunks;pub use iter::SimdChunksMut;pub use iter::ZipChunks;pub use kernel::SimdKernel;pub use mask::BitMask;pub use numa::current_numa_node;pub use numa::refresh_numa_node;pub use numa::verify_numa_locality;pub use numa::MnemosyneNumaAllocator;pub use numa::NumaAllocator;pub use numa::NumaBinding;pub use ops::Abs;pub use ops::AbsMax;pub use ops::AbsSum;pub use ops::Add;pub use ops::BitAnd;pub use ops::BitOr;pub use ops::BitXor;pub use ops::Clamp;pub use ops::Div;pub use ops::Dot;pub use ops::ElementOp;pub use ops::Exclusive;pub use ops::FmaAdd;pub use ops::Inclusive;pub use ops::Max;pub use ops::Min;pub use ops::Mul;pub use ops::Neg;pub use ops::Popcount;pub use ops::Product;pub use ops::RecipSqrt;pub use ops::ReductionOp;pub use ops::ScanAdd;pub use ops::ScanMax;pub use ops::ScanMin;pub use ops::ScanMode;pub use ops::ScanMul;pub use ops::ScanOp;pub use ops::Sqrt;pub use ops::Sub;pub use ops::Sum;pub use ops::UnaryOp;pub use sparse::BlockedCoo;pub use sparse::BlockedCooData;pub use sparse::Csr;pub use sparse::CsrData;pub use sparse::DenseWithMask;pub use sparse::DenseWithMaskData;pub use sparse::SellP;pub use sparse::SellPData;pub use sparse::SparseFormat;pub use sparse::SparseShape;pub use sparse::SparseView;pub use sparse::Validated;pub use sparse::ValidatedData;pub use tensor::ColMajor;pub use tensor::RowMajor;pub use tensor::TensorCow;pub use tensor::TensorError;pub use tensor::TensorView;pub use tiling::tiled_dot;pub use tiling::tiled_gemm;pub use tiling::tiled_gemv;pub use tiling::TilingPolicy;pub use tiling::TilingStrategy;pub use vec::AlignedVec;pub use view::Mask;pub use view::SimdError;pub use view::SimdView;pub use view::TileMatrixMultiply;pub use view::TileView;pub use view::Vector;
Modules§
- align
- Typestate markers for statically and dynamically guaranteed slice alignment.
- arch
- Target architecture definition trait with architecture-level constants.
- bitboard
- Chess bitboards and sliding attack generation views.
- compute
- Unified computation view abstraction.
- cow
- Clone-on-write container for lazy SIMD memory layout allocation.
- execution
- Execution-mode markers for SIMD operations.
- iter
- Zero-copy SIMD chunk iterators over
SimdView. - kernel
- Low-level SIMD operations trait implemented per architecture and primitive type.
- mask
- Bit-packed lane mask for SIMD predicated operations.
- numa
- NUMA-aware memory allocation and thread affinity interfaces.
- ops
- Zero-cost operation strategy markers for SIMD reductions and elementwise transforms.
- scalar
- Sealed element-type trait for SIMD-eligible scalars.
- sparse
- Sparse matrix formats and representations.
- tensor
- Zero-copy, const-generic N-dimensional strided tensor view.
- tiling
- Register-blocked, cache-aware tiling for dot products, GEMV, and GEMM.
- vec
- Custom aligned vector allocation for zero-copy aligned SIMD memory access.
- view
- Safely typed views over slices with static alignment, architecture dispatch, reference typestates, and execution mode.
Structs§
- Archived
Packed4 Cow - Archived representation of a
Packed4Cowfor zero-copy deserialization. - Packed4
CowResolver - Resolver type for
Packed4Cow.
Traits§
- Float
Element - Float-specific capabilities.
- Numeric
Element - Core numeric element trait. The main extension point for monomorphized operations across all precisions.
- Scalar
- Backward-compatible alias for NumericElement. Core numeric element trait. The main extension point for monomorphized operations across all precisions.