DL*类型

名称 说明 源文件
DLDeviceType 设备类型,例如cpu,gpu 3rdparty/dlpack/include/dlpack/dlpack.h
DLContext 张量和算子相关的设备上下文,包括设备类型,设备ID
DLDataTypeCode 数据类型代码,包括:Int, float等,常作为DLDataType的一个字段
DLDataType 张量的数据类型,包括:数据类型代码,位数,通道数
DLTensor 纯C的张量对象,包括:纯数据值,维数,相撞,步长,上下文,数据类型,等等。不管理内存
DLManagedTensor 纯C的张量对象,管理DLTensor内存。此数据结构旨在简化其他框架对DLTensor的借用。它并不转移张量。当借用框架不需要张量时,应调用删除器以通知主DLManagedTensor不再需要该资源。

TVM*类型

名称 说明 源文件
TVMDeviceExtType tvm中的扩展设备类型,是DLDeviceType的扩展,可以在此添加自定义的设备类型,例如:kDLVacc
include/tvm/runtime/c_runtime_api.h
TVMTypeCode The type code in TVMType, 是DLDataTypeCode的扩展
TVMType typedef DLDataType TVMType;
TVMContext typedef DLContext TVMContext;
TVMArray typedef DLTensor TVMArray;
TVMArrayHandle typedef TVMArray* TVMArrayHandle;
TVMValue Union type of values being passed through API and function calls.
TVMByteArray Byte array type used to pass in byte array. When kBytes is used as data type.
各类Handle /! \brief Handle to TVM runtime modules. /
typedef void TVMModuleHandle;
/
! \brief Handle to packed function handle. /
typedef void
TVMFunctionHandle;
/! \brief Handle to hold return value. /
typedef void TVMRetValueHandle;
/
!
\brief The stream that is specific to device
can be NULL, which indicates the default one.
/
typedef void
TVMStreamHandle;
/! \brief Handle to Object. /
typedef void *TVMObjectHandle;

类型相关

名称 说明 源文件
DataType 运行时的一个原始数据类型。它是对DLDataType的简单封装。
我们在编译器中的使用DataType来存储快速提示。
/usr/local/include/tvm/runtime/data_type.h