跳到主要内容

构造函数与析构函数

函数功能

构造一个TensorData。

  • 构造方式1:指定了tensor数据的地址以及用于管理tensor数据的函数manager。
  • 构造方式2:指定了tensor数据的地址、用于管理tensor数据的函数manager、tensor数据所占内存大小、tensor数据所在的位置(host、device)。
  • 构造方式3:移动构造形式。

若manager为nullptr,则认为addr就是tensor的数据地址。否则,tensor数据的地址由manager给出。

函数原型

  • 构造函数

    TensorData(TensorAddress addr = nullptr, const TensorAddrManager manager = nullptr)
    TensorData(TensorAddress addr, const TensorAddrManager manager, size_t size, TensorPlacement placement)
    TensorData(TensorData &&other) noexcept
    TensorData(const TensorData &) = delete;
  • 析构函数

    ~TensorData()

参数说明

参数输入/输出说明
addr输入tensor数据的地址,定义如下。 using TensorAddress = void *;
manager输入tensor data的管理函数,若manager为空,则认为addr就是tensor的数据地址,且此数据不需要被释放。
size输入tensor数据所占的内存大小。
placement输入tensor数据所在的设备位置。

返回值

初始化后的TensorData对象。

约束说明

调用示例

auto addr = reinterpret_cast<void *>(0x10);
TensorData td(addr, HostAddrManager, 100U, kOnHost);