构造及析构函数
函数功能
构造一个TensorData。
构造方式1:指定了tensor数据的地址以及用于管理tensor数据的函数manager。
构造方式2:指定了tensor数据的地址、用于管理tensor数据的函数manager、tensor数据所占内存大小、tensor数据所在的位置(host、device)。
构造方式3:移动构造形式。
注意:若manager为nullptr,则认为addr就是tensor的数据地址。否则,tensor数据的地址由manager给出。
函数原型
- 构造函数
1 2 3 4
explicit TensorData(TensorAddress addr = nullptr, const TensorAddrManager manager = nullptr) explicit TensorData(TensorAddress addr, const TensorAddrManager manager, size_t size, TensorPlacement placement) TensorData(TensorData &&other) noexcept TensorData(const TensorData &) = delete
- 析构函数
1
~TensorData
参数说明
参数 |
输入/输出 |
说明 |
||
---|---|---|---|---|
addr |
输入 |
tensor数据的地址。
|
||
manager |
输入 |
tensor data的管理函数,若manager为空,则认为addr就是tensor的数据地址,且此数据不需要被释放。
|
||
size |
输入 |
tensor数据所占的内存大小。 |
||
placement |
输入 |
tensor数据所在的设备位置。 |
返回值说明
初始化后的TensorData对象。
约束说明
无。
调用示例
1 2 | auto addr = reinterpret_cast<void *>(0x10); TensorData td(addr, HostAddrManager, 100U, kOnHost); |
父主题: TensorData