pub struct MetalSpMatVec { /* private fields */ }Expand description
Metal sparse matrix operations
Implementations§
Source§impl MetalSpMatVec
impl MetalSpMatVec
Sourcepub fn new() -> SparseResult<Self>
pub fn new() -> SparseResult<Self>
Create a new Metal sparse matrix-vector multiplication handler
Sourcepub fn compile_kernels(&mut self) -> Result<(), GpuError>
pub fn compile_kernels(&mut self) -> Result<(), GpuError>
Compile Metal shaders for sparse matrix operations
Sourcepub fn execute_spmv<T>(
&self,
matrix: &CsrArray<T>,
vector: &ArrayView1<'_, T>,
_device: &GpuDevice,
) -> SparseResult<Array1<T>>
pub fn execute_spmv<T>( &self, matrix: &CsrArray<T>, vector: &ArrayView1<'_, T>, _device: &GpuDevice, ) -> SparseResult<Array1<T>>
Execute Metal sparse matrix-vector multiplication
Sourcepub fn execute_optimized_spmv<T>(
&self,
matrix: &CsrArray<T>,
vector: &ArrayView1<'_, T>,
device: &GpuDevice,
optimization_level: MetalOptimizationLevel,
) -> SparseResult<Array1<T>>
pub fn execute_optimized_spmv<T>( &self, matrix: &CsrArray<T>, vector: &ArrayView1<'_, T>, device: &GpuDevice, optimization_level: MetalOptimizationLevel, ) -> SparseResult<Array1<T>>
Execute optimized Metal sparse matrix-vector multiplication
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MetalSpMatVec
impl !RefUnwindSafe for MetalSpMatVec
impl Send for MetalSpMatVec
impl Sync for MetalSpMatVec
impl Unpin for MetalSpMatVec
impl !UnwindSafe for MetalSpMatVec
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