pub struct SpecializedSimdOps;Expand description
Specialized SIMD operations with explicit strategy selection Allows manual selection of specific SIMD strategy for fine-tuned performance
Implementations§
Source§impl SpecializedSimdOps
impl SpecializedSimdOps
Sourcepub fn cacheline_mul_f32(a: &[f32], b: &[f32]) -> Result<Vec<f32>>
pub fn cacheline_mul_f32(a: &[f32], b: &[f32]) -> Result<Vec<f32>>
Cache-line aware SIMD multiplication (7.93x speedup for small arrays) Currently uses hyperoptimized implementation as cacheline variant is unavailable
Sourcepub fn tlb_optimized_mul_f32(a: &[f32], b: &[f32]) -> Result<Vec<f32>>
pub fn tlb_optimized_mul_f32(a: &[f32], b: &[f32]) -> Result<Vec<f32>>
TLB-optimized SIMD multiplication (14.17x speedup - best overall performance) Currently uses hyperoptimized implementation as TLB variant is unavailable
Sourcepub fn pipelined_mul_f32(a: &[f32], b: &[f32]) -> Result<Vec<f32>>
pub fn pipelined_mul_f32(a: &[f32], b: &[f32]) -> Result<Vec<f32>>
Software pipelined SIMD multiplication (7.41x speedup for large arrays) Currently uses hyperoptimized implementation as pipelined variant is unavailable
Sourcepub fn aligned_add_f32(a: &[f32], b: &[f32]) -> Result<AlignedVec<f32>>
pub fn aligned_add_f32(a: &[f32], b: &[f32]) -> Result<AlignedVec<f32>>
AlignedVec operations for cache-line aligned SIMD processing
Sourcepub fn aligned_mul_f32(a: &[f32], b: &[f32]) -> Result<AlignedVec<f32>>
pub fn aligned_mul_f32(a: &[f32], b: &[f32]) -> Result<AlignedVec<f32>>
AlignedVec multiplication for cache-line aligned SIMD processing
Auto Trait Implementations§
impl Freeze for SpecializedSimdOps
impl RefUnwindSafe for SpecializedSimdOps
impl Send for SpecializedSimdOps
impl Sync for SpecializedSimdOps
impl Unpin for SpecializedSimdOps
impl UnsafeUnpin for SpecializedSimdOps
impl UnwindSafe for SpecializedSimdOps
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more