pub struct CacheFriendlyMatMul { /* private fields */ }Expand description
Cache-friendly matrix multiplication with advanced blocking strategies
Implementations§
Source§impl CacheFriendlyMatMul
impl CacheFriendlyMatMul
Sourcepub fn new(l1_size: usize, l2_size: usize, l3_size: usize) -> Self
pub fn new(l1_size: usize, l2_size: usize, l3_size: usize) -> Self
Create new cache-friendly matrix multiplication engine
Sourcepub fn cache_oblivious_matmul(
&self,
a: &[f32],
b: &[f32],
c: &mut [f32],
m: usize,
n: usize,
k: usize,
) -> Result<()>
pub fn cache_oblivious_matmul( &self, a: &[f32], b: &[f32], c: &mut [f32], m: usize, n: usize, k: usize, ) -> Result<()>
Perform cache-oblivious matrix multiplication
Sourcepub fn hierarchical_blocked_matmul(
&self,
a: &[f32],
b: &[f32],
c: &mut [f32],
m: usize,
n: usize,
k: usize,
) -> Result<()>
pub fn hierarchical_blocked_matmul( &self, a: &[f32], b: &[f32], c: &mut [f32], m: usize, n: usize, k: usize, ) -> Result<()>
Perform hierarchical blocked matrix multiplication
Sourcepub fn get_cache_efficiency_metrics(&self) -> CacheEfficiencyMetrics
pub fn get_cache_efficiency_metrics(&self) -> CacheEfficiencyMetrics
Get cache efficiency metrics
Auto Trait Implementations§
impl Freeze for CacheFriendlyMatMul
impl RefUnwindSafe for CacheFriendlyMatMul
impl Send for CacheFriendlyMatMul
impl Sync for CacheFriendlyMatMul
impl Unpin for CacheFriendlyMatMul
impl UnsafeUnpin for CacheFriendlyMatMul
impl UnwindSafe for CacheFriendlyMatMul
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
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