Skip to main content

Crate hermes_simd_core

Crate hermes_simd_core 

Source
Expand description

Core abstractions for hermes-simd.

§Module Organization

ModuleContents
archSimdArch marker trait with architecture constants
alignAlignment, Aligned<N>, Unaligned typestates
executionExecutionMode, Unmasked, Masked ZSTs
kernelSimdKernel<T> trait — full SIMD operation surface
scalarScalar sealed element trait
maskBitMask<N> bit-packed lane mask
opsReductionOp<T>, ElementOp<T> ZST strategies
viewSimdView, SimdError — safe typed slice views
tilingConst-generic tiled dot product and TilingPolicy
sparseSparseView, format ZSTs, data structs, SpMV kernels
vecAlignedVec — heap-allocated aligned vector
cowSimdCow — SIMD-aware copy-on-write
tensorN-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
Aligned heap-allocated vector for SIMD workloads.
view
Safely typed views over slices with static alignment, architecture dispatch, reference typestates, and execution mode.

Structs§

ArchivedPacked4Cow
Archived representation of a Packed4Cow for zero-copy deserialization.
Packed4CowResolver
Resolver type for Packed4Cow.

Traits§

FloatElement
Float-specific capabilities.
NumericElement
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.