DLManagedTensor

Struct DLManagedTensor 

Source
#[repr(C)]
pub struct DLManagedTensor { pub dl_tensor: DLTensor, pub manager_ctx: *mut c_void, pub deleter: Option<unsafe extern "C" fn(_self: *mut DLManagedTensor)>, }
Expand description

C Tensor object, manage memory of DLTensor. This data structure is intended to facilitate the borrowing of DLTensor by another framework. It is not meant to transfer the tensor. When the borrowing framework doesn’t need the tensor, it should call the deleter to notify the host that the resource is no longer needed.

NOTE: This data structure is used as Legacy DLManagedTensor in DLPack exchange and is deprecated after DLPack v0.8 Use DLManagedTensorVersioned instead. This data structure may get renamed or deleted in future versions.

Fields§

§dl_tensor: DLTensor

DLTensor which is being memory managed

§manager_ctx: *mut c_void

the context of the original host framework of DLManagedTensor in which DLManagedTensor is used in the framework. It can also be NULL.

§deleter: Option<unsafe extern "C" fn(_self: *mut DLManagedTensor)>

Destructor - this should be called to destruct the manager_ctx which backs the DLManagedTensor. It can be NULL if there is no way for the caller to provide a reasonable destructor. The destructor deletes the argument self as well.

Trait Implementations§

Source§

impl Debug for DLManagedTensor

Source§

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

Formats the value using the given formatter. 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<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, 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.