mxnet
Public Attributes | List of all members
DLTensor Struct Reference

Plain C Tensor object, does not manage memory. More...

#include <dlpack.h>

Collaboration diagram for DLTensor:
Collaboration graph

Public Attributes

void * data
 The opaque data pointer points to the allocated data. This will be CUDA device pointer or cl_mem handle in OpenCL. This pointer is always aligned to 256 bytes as in CUDA. More...
 
DLContext ctx
 The device context of the tensor. More...
 
int ndim
 Number of dimensions. More...
 
DLDataType dtype
 The data type of the pointer. More...
 
int64_t * shape
 The shape of the tensor. More...
 
int64_t * strides
 strides of the tensor (in number of elements, not bytes) can be NULL, indicating tensor is compact and row-majored. More...
 
uint64_t byte_offset
 The offset in bytes to the beginning pointer to data. More...
 

Detailed Description

Plain C Tensor object, does not manage memory.

Member Data Documentation

uint64_t DLTensor::byte_offset

The offset in bytes to the beginning pointer to data.

DLContext DLTensor::ctx

The device context of the tensor.

void * DLTensor::data

The opaque data pointer points to the allocated data. This will be CUDA device pointer or cl_mem handle in OpenCL. This pointer is always aligned to 256 bytes as in CUDA.

The opaque data pointer points to the allocated data. This will be CUDA device pointer or cl_mem handle in OpenCL. This pointer is always aligns to 256 bytes as in CUDA.

For given DLTensor, the size of memory required to store the contents of data is calculated as follows:

static inline size_t GetDataSize(const DLTensor* t) {
size_t size = 1;
for (tvm_index_t i = 0; i < t->ndim; ++i) {
size *= t->shape[i];
}
size *= (t->dtype.bits * t->dtype.lanes + 7) / 8;
return size;
}
DLDataType DLTensor::dtype

The data type of the pointer.

int DLTensor::ndim

Number of dimensions.

int64_t * DLTensor::shape

The shape of the tensor.

int64_t * DLTensor::strides

strides of the tensor (in number of elements, not bytes) can be NULL, indicating tensor is compact and row-majored.

strides of the tensor (in number of elements, not bytes) can be nullptr, indicating tensor is compact and row-majored.


The documentation for this struct was generated from the following files: