Open3D (C++ API)  0.12.0
Data Fields
DLTensor Struct Reference

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

#include <DLPack.h>

Data Fields

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.

Field Documentation

◆ byte_offset

uint64_t DLTensor::byte_offset

The offset in bytes to the beginning pointer to data.

◆ ctx

DLContext DLTensor::ctx

The device context of the tensor.

◆ data

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.

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;
}

◆ dtype

DLDataType DLTensor::dtype

The data type of the pointer.

◆ ndim

int DLTensor::ndim

Number of dimensions.

◆ shape

int64_t* DLTensor::shape

The shape of the tensor.

◆ strides

int64_t* DLTensor::strides

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


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