构造函数与解析函数
函数功能
构造一个TensorData。
构造方式1:指定了tensor数据的地址以及用于管理tensor数据的函数manager。
构造方式2:指定了tensor数据的地址、用于管理tensor数据的函数manager、tensor数据所占内存大小、tensor数据所在的位置(host、device)。
构造方式3:移动构造形式。
注意:若manager为nullptr,则认为addr就是tensor的数据地址。否则,tensor数据的地址由manager给出。
函数原型
参数说明
参数 |
输入/输出 |
说明 |
---|---|---|
addr |
输入 |
tensor数据的地址 using TensorAddress = void *; |
manager |
输入 |
tensor data的管理函数,若manager为空,则认为addr就是tensor的数据地址,且此数据不需要被释放 using TensorAddrManager = ge::graphStatus (*)(TensorAddress addr, TensorOperateType operate_type, void **out); enum TensorOperateType { kGetTensorAddress, ///< 获取Tensor的地址 kFreeTensor, ///< 释放Tensor kPlusShareCount, ///< 共享Tensor kTensorOperateType }; |
size |
输入 |
tensor数据所占的内存大小 |
placement |
输入 |
tensor数据所在的设备位置 |
返回值说明
初始化后的TensorData对象
约束说明
无。
调用示例
auto addr = reinterpret_cast<void *>(0x10); TensorData td(addr, HostAddrManager, 100U, kOnHost);
父主题: TensorData类