pub struct TensorDescriptor { /* private fields */ }Implementations§
Source§impl TensorDescriptor
impl TensorDescriptor
pub fn create_for<T: DataTypeLike>( ctx: &Context, shape: &[u64], alignment_requirement: u32, ) -> Result<Self>
pub fn create( ctx: &Context, shape: &[u64], data_type: DataType, alignment_requirement: u32, ) -> Result<Self>
Sourcepub fn create_with_strides(
ctx: &Context,
shape: &[u64],
strides: Option<&[u64]>,
data_type: DataType,
alignment_requirement: u32,
) -> Result<Self>
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.
pub fn create_with_strides_for<T: DataTypeLike>( ctx: &Context, shape: &[u64], strides: Option<&[u64]>, alignment_requirement: u32, ) -> Result<Self>
pub fn shape(&self) -> &[u64]
pub fn strides(&self) -> Option<&[u64]>
pub fn rank(&self) -> u32
pub fn data_type(&self) -> DataType
pub fn alignment_requirement(&self) -> u32
pub const fn as_raw(&self) -> cutensorTensorDescriptor_t
Sourcepub unsafe fn from_raw(
handle: cutensorTensorDescriptor_t,
ctx: &Context,
shape: Vec<u64>,
strides: Option<Vec<u64>>,
data_type: DataType,
alignment_requirement: u32,
) -> Self
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.
Sourcepub fn into_raw(self) -> cutensorTensorDescriptor_t
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.