pub struct CacheAwareOps;Expand description
Cache-aware sparse matrix operations
Implementations§
Source§impl CacheAwareOps
impl CacheAwareOps
Sourcepub fn cache_optimized_spmv<T, S>(
matrix: &S,
x: &ArrayView1<'_, T>,
cache_line_size: usize,
) -> SparseResult<Array1<T>>where
T: Float + SparseElement + Debug + Copy + 'static + SimdUnifiedOps + Send + Sync,
S: SparseArray<T>,
pub fn cache_optimized_spmv<T, S>(
matrix: &S,
x: &ArrayView1<'_, T>,
cache_line_size: usize,
) -> SparseResult<Array1<T>>where
T: Float + SparseElement + Debug + Copy + 'static + SimdUnifiedOps + Send + Sync,
S: SparseArray<T>,
Cache-optimized sparse matrix-vector multiplication
This implementation optimizes for cache performance by reordering operations to improve data locality.
Sourcepub fn cache_optimized_transpose<T, S>(
matrix: &S,
cache_line_size: usize,
) -> SparseResult<CsrArray<T>>where
T: Float + SparseElement + Debug + Copy + 'static + SimdUnifiedOps + Send + Sync,
S: SparseArray<T>,
pub fn cache_optimized_transpose<T, S>(
matrix: &S,
cache_line_size: usize,
) -> SparseResult<CsrArray<T>>where
T: Float + SparseElement + Debug + Copy + 'static + SimdUnifiedOps + Send + Sync,
S: SparseArray<T>,
Cache-optimized sparse matrix transpose
Auto Trait Implementations§
impl Freeze for CacheAwareOps
impl RefUnwindSafe for CacheAwareOps
impl Send for CacheAwareOps
impl Sync for CacheAwareOps
impl Unpin for CacheAwareOps
impl UnwindSafe for CacheAwareOps
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