Skip to main content

SparseVectorDescriptor

Struct SparseVectorDescriptor 

Source
pub struct SparseVectorDescriptor<'a> { /* private fields */ }

Implementations§

Source§

impl<'a> SparseVectorDescriptor<'a>

Source

pub fn create<I: IndexTypeLike, T: DataTypeLike>( ctx: &Context, size: usize, nonzero_count: usize, indices: &'a mut DeviceMemory<I>, values: &'a mut DeviceMemory<T>, index_base: IndexBase, ) -> Result<Self>

Initializes a sparse vector descriptor.

The descriptor borrows the device index and value buffers by pointer; the buffers must outlive descriptor use or be replaced with SparseVectorDescriptor::set_values.

Source

pub fn index_base(&self) -> Result<IndexBase>

Returns the index base of this sparse vector descriptor.

§Errors

Returns an error if cuSPARSE cannot report the sparse vector index base.

Source

pub fn values(&self) -> Result<DevicePtr>

Returns the values pointer of this sparse vector descriptor.

§Errors

Returns an error if cuSPARSE cannot report the values pointer.

Source

pub fn set_values<T: DataTypeLike>( &mut self, values: &'a mut DeviceMemory<T>, ) -> Result<()>

Sets the values pointer of this sparse vector descriptor.

The pointed-to device buffer must remain valid while the descriptor uses it.

§Errors

Returns an error if cuSPARSE rejects the values pointer.

Source

pub fn info(&self) -> Result<SparseVectorInfo>

Returns the fields of this sparse vector descriptor.

§Errors

Returns an error if cuSPARSE cannot report the descriptor fields or if reported sizes cannot be represented as usize.

Source

pub fn as_raw(&self) -> cusparseSpVecDescr_t

Source

pub fn as_raw_const(&self) -> cusparseConstSpVecDescr_t

Source

pub fn cuda_context(&self) -> &Arc<CudaContext>

Source

pub unsafe fn from_raw( handle: cusparseSpVecDescr_t, ctx: &Context, ) -> Result<Self>

Wraps an existing cuSPARSE sparse-vector descriptor and takes ownership of it.

§Safety

handle must be a valid cusparseSpVecDescr_t. Any device buffers referenced by the descriptor must remain valid for lifetime 'a. Ownership of handle is transferred to the returned descriptor, and the handle must not be destroyed elsewhere after calling this function.

Source

pub fn into_raw(self) -> cusparseSpVecDescr_t

Consumes the descriptor and returns the raw cuSPARSE handle without destroying it.

The caller becomes responsible for eventually destroying the returned handle with cusparseDestroySpVec.

Trait Implementations§

Source§

impl<'a> Debug for SparseVectorDescriptor<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for SparseVectorDescriptor<'_>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more
Source§

impl Send for SparseVectorDescriptor<'_>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.