pub struct CacheAwareMatrixOperations { /* private fields */ }Expand description
Cache-aware matrix operations with dynamic blocking
Implementations§
Source§impl CacheAwareMatrixOperations
impl CacheAwareMatrixOperations
pub fn new() -> Self
Sourcepub fn calculate_optimal_blocksizes(
&self,
elementsize: usize,
) -> CacheBlockSizes
pub fn calculate_optimal_blocksizes( &self, elementsize: usize, ) -> CacheBlockSizes
Calculate optimal block sizes for current cache hierarchy
Sourcepub fn cache_aware_gemm_f32(
&mut self,
a: &ArrayView2<'_, f32>,
b: &ArrayView2<'_, f32>,
c: &mut ArrayViewMut2<'_, f32>,
) -> LinalgResult<()>
pub fn cache_aware_gemm_f32( &mut self, a: &ArrayView2<'_, f32>, b: &ArrayView2<'_, f32>, c: &mut ArrayViewMut2<'_, f32>, ) -> LinalgResult<()>
Cache-aware matrix multiplication with intelligent prefetching
Sourcepub fn cache_aware_transpose_f32(
&mut self,
input: &ArrayView2<'_, f32>,
) -> LinalgResult<Array2<f32>>
pub fn cache_aware_transpose_f32( &mut self, input: &ArrayView2<'_, f32>, ) -> LinalgResult<Array2<f32>>
Cache-aware matrix transpose with optimal memory access patterns
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for CacheAwareMatrixOperations
impl RefUnwindSafe for CacheAwareMatrixOperations
impl Send for CacheAwareMatrixOperations
impl Sync for CacheAwareMatrixOperations
impl Unpin for CacheAwareMatrixOperations
impl UnsafeUnpin for CacheAwareMatrixOperations
impl UnwindSafe for CacheAwareMatrixOperations
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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