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