Skip to main content

TensorDescriptor

Struct TensorDescriptor 

Source
pub struct TensorDescriptor { /* private fields */ }

Implementations§

Source§

impl TensorDescriptor

Source

pub fn create_for<T: DataTypeLike>( ctx: &Context, shape: &[u64], alignment_requirement: u32, ) -> Result<Self>

Source

pub fn create( ctx: &Context, shape: &[u64], data_type: DataType, alignment_requirement: u32, ) -> Result<Self>

Source

pub fn create_with_strides( ctx: &Context, shape: &[u64], strides: Option<&[u64]>, data_type: DataType, alignment_requirement: u32, ) -> Result<Self>

Creates a tensor descriptor.

This allocates a small amount of host memory.

The descriptor frees the associated cuTENSOR resources when dropped.

This non-blocking call is thread-safe but not reentrant.

§Errors

Returns an error if the context cannot be bound, shape and strides have different ranks, an extent or stride cannot be represented for cuTENSOR, the data type or descriptor layout is unsupported, or cuTENSOR returns a null descriptor handle.

Source

pub fn create_with_strides_for<T: DataTypeLike>( ctx: &Context, shape: &[u64], strides: Option<&[u64]>, alignment_requirement: u32, ) -> Result<Self>

Source

pub fn shape(&self) -> &[u64]

Source

pub fn strides(&self) -> Option<&[u64]>

Source

pub fn rank(&self) -> u32

Source

pub fn data_type(&self) -> DataType

Source

pub fn alignment_requirement(&self) -> u32

Source

pub const fn as_raw(&self) -> cutensorTensorDescriptor_t

Source

pub unsafe fn from_raw( handle: cutensorTensorDescriptor_t, ctx: &Context, shape: Vec<u64>, strides: Option<Vec<u64>>, data_type: DataType, alignment_requirement: u32, ) -> Self

Wraps an existing cuTENSOR tensor descriptor and takes ownership of it.

§Safety

handle must be a valid cutensorTensorDescriptor_t whose rank, extents, strides, data type, and alignment requirement match the metadata supplied to this function. 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) -> cutensorTensorDescriptor_t

Consumes the descriptor and returns the raw cuTENSOR tensor descriptor handle without destroying it.

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

Trait Implementations§

Source§

impl Debug for TensorDescriptor

Source§

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

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

impl Drop for TensorDescriptor

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

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.