tvm.runtime.ndarray
运行时 NDArray API
- class tvm.runtime.ndarray.NDArray
TVM 运行时的轻量级 NDArray 类。
严格来说,这只是一个数组容器(一个缓冲区对象)。未定义算术运算。所有操作均由 TVM 函数执行。
目标不是重建另一个数组库。相反,这是一个最小的数据结构,用于演示如何在现有项目中 使用 TVM,这些项目可能具有自己的数组容器。
- property dtype
此数组的类型
- property device
此数组的设备
- copyfrom(source_array)
执行从数组的同步复制。
- 参数:
source_array (array_like) – 我们想要从中复制的数据源。
- 返回:
arr – 对 self 的引用。
- 返回类型:
- asnumpy()
将此数组转换为 numpy 数组。此 API 将在 TVM v0.8 版本中弃用。请改用 numpy。
- numpy()
将此数组转换为 numpy 数组
- 返回:
np_arr – 对应的 numpy 数组。
- 返回类型:
numpy.ndarray
- tvm.runtime.ndarray.device(dev_type, dev_id=0)
使用给定的设备类型和 ID 构建 TVM 设备。
- 参数:
- 返回:
dev – 对应的设备。
- 返回类型:
tvm.runtime.Device
示例
设备可用于通过设备类型的字符串表示形式创建设备的反射。
assert tvm.device("cpu", 1) == tvm.cpu(1) assert tvm.device("cuda", 0) == tvm.cuda(0)
- tvm.runtime.ndarray.numpyasarray(np_data)
返回 numpy 数组的 TVMArray 表示形式。
- tvm.runtime.ndarray.empty(shape, dtype='float32', device=cpu(0), mem_scope=None)
创建给定形状和设备的空数组
- 参数:
shape (Union[tvm.runtime.ShapeTuple, Sequence[SupportsInt]]) – 数组的形状。
device (Device) – 数组的设备。
mem_scope (Optional[str]) – 数组的内存范围。
- 返回:
arr – tvm 支持的数组。
- 返回类型:
tvm.nd.NDArray
- tvm.runtime.ndarray.from_dlpack(dltensor)
从具有 __dlpack__ 方法的对象或没有内存复制的 DLPack 张量生成数组。检索底层 DLPack 张量的指针以从数据创建数组。删除原始 DLPack 张量的析构函数,因为现在数组负责销毁。
- 参数:
dltensor (具有 __dlpack__ 属性的对象 或 DLPack 胶囊)
- 返回:
arr – 张量数据的数组视图。
- 返回类型:
tvm.nd.NDArray
- tvm.runtime.ndarray.cpu(dev_id=0)
构建 CPU 设备
- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备
- tvm.runtime.ndarray.cuda(dev_id=0)
构建 CUDA GPU 设备
- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备
- tvm.runtime.ndarray.gpu(dev_id=0)
构建 CUDA GPU 设备
deprecated:: 0.9.0 请使用
tvm.cuda()
代替。- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备
- tvm.runtime.ndarray.rocm(dev_id=0)
构建 ROCM 设备
- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备
- tvm.runtime.ndarray.opencl(dev_id=0)
构建 OpenCL 设备
- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备
- tvm.runtime.ndarray.metal(dev_id=0)
构建 metal 设备
- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备
- tvm.runtime.ndarray.vpi(dev_id=0)
构建 VPI 模拟设备
- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备
- tvm.runtime.ndarray.vulkan(dev_id=0)
构建 Vulkan 设备
- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备
- tvm.runtime.ndarray.ext_dev(dev_id=0)
构建扩展设备
- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备
注意
此 API 保留用于通过插件设备 API (ext_dev) 快速测试新设备。
- tvm.runtime.ndarray.hexagon(dev_id=0)
构建 Hexagon 设备
- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备
- tvm.runtime.ndarray.webgpu(dev_id=0)
构建 webgpu 设备。
- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备
- tvm.runtime.ndarray.cl(dev_id=0)
构建 OpenCL 设备
- 参数:
dev_id (int, optional) – 整数设备 ID
- 返回:
dev – 创建的设备
- 返回类型:
设备