pub struct VulkanSpMatVec { /* private fields */ }Expand description
Vulkan sparse matrix-vector multiplication handler
Implementations§
Source§impl VulkanSpMatVec
impl VulkanSpMatVec
Sourcepub fn new() -> SparseResult<Self>
pub fn new() -> SparseResult<Self>
Create a new Vulkan SpMV handler
Sourcepub fn device_info(&self) -> &VulkanDeviceInfo
pub fn device_info(&self) -> &VulkanDeviceInfo
Get device information
Sourcepub fn memory_manager(&self) -> &VulkanMemoryManager
pub fn memory_manager(&self) -> &VulkanMemoryManager
Get memory manager
Sourcepub fn memory_manager_mut(&mut self) -> &mut VulkanMemoryManager
pub fn memory_manager_mut(&mut self) -> &mut VulkanMemoryManager
Get mutable memory manager
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 sparse matrix-vector multiplication using Vulkan
Sourcepub fn execute_optimized_spmv<T>(
&self,
matrix: &CsrArray<T>,
vector: &ArrayView1<'_, T>,
device: &GpuDevice,
optimization_level: VulkanOptimizationLevel,
) -> SparseResult<Array1<T>>
pub fn execute_optimized_spmv<T>( &self, matrix: &CsrArray<T>, vector: &ArrayView1<'_, T>, device: &GpuDevice, optimization_level: VulkanOptimizationLevel, ) -> SparseResult<Array1<T>>
Execute optimized sparse matrix-vector multiplication using Vulkan
Sourcepub fn execute_spmv_cpu<T>(
&self,
matrix: &CsrArray<T>,
vector: &ArrayView1<'_, T>,
) -> SparseResult<Array1<T>>
pub fn execute_spmv_cpu<T>( &self, matrix: &CsrArray<T>, vector: &ArrayView1<'_, T>, ) -> SparseResult<Array1<T>>
CPU fallback implementation
Auto Trait Implementations§
impl Freeze for VulkanSpMatVec
impl RefUnwindSafe for VulkanSpMatVec
impl Send for VulkanSpMatVec
impl Sync for VulkanSpMatVec
impl Unpin for VulkanSpMatVec
impl UnsafeUnpin for VulkanSpMatVec
impl UnwindSafe for VulkanSpMatVec
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