tvm.runtime.ndarray¶
Runtime NDArray API
- class tvm.runtime.ndarray.NDArray¶
Lightweight NDArray class of TVM runtime.
Strictly this is only an Array Container (a buffer object) No arthimetic operations are defined. All operations are performed by TVM functions.
The goal is not to re-build yet another array library. Instead, this is a minimal data structure to demonstrate how can we use TVM in existing project which might have their own array containers.
- property dtype¶
Type of this array
- property device¶
Device of this array
- same_as(other)¶
Check object identity equality
- copyfrom(source_array)¶
Perform a synchronous copy from the array.
- Parameters
source_array (array_like) – The data source we should like to copy from.
- Returns
arr – Reference to self.
- Return type
- asnumpy()¶
Convert this array to numpy array. This API will be deprecated in TVM v0.8 release. Please use numpy instead.
- numpy()¶
Convert this array to numpy array
- Returns
np_arr – The corresponding numpy array.
- Return type
numpy.ndarray
- tvm.runtime.ndarray.device(dev_type, dev_id=0)¶
Construct a TVM device with given device type and id.
- Parameters
- Returns
dev – The corresponding device.
- Return type
tvm.runtime.Device
Examples
Device can be used to create reflection of device by string representation of the device type.
assert tvm.device("cpu", 1) == tvm.cpu(1) assert tvm.device("cuda", 0) == tvm.cuda(0)
- tvm.runtime.ndarray.numpyasarray(np_data)¶
Return a TVMArray representation of a numpy array.
- tvm.runtime.ndarray.empty(shape, dtype='float32', device=cpu(0), mem_scope=None)¶
Create an empty array given shape and device
- Parameters
shape (Union[tvm.runtime.ShapeTuple, Sequence[typing.SupportsInt]]) – The shape of the array.
device (Device) – The device of the array.
mem_scope (Optional[str]) – The memory scope of the array.
- Returns
arr – The array tvm supported.
- Return type
tvm.nd.NDArray
- tvm.runtime.ndarray.from_dlpack(dltensor)¶
Produces an array from an object with __dlpack__ method or a DLPack tensor w/o memory copy. Retreives the underlying DLPack tensor’s pointer to create an array from the data. Removes the original DLPack tensor’s destructor as now the array is responsible for destruction.
- Parameters
dltensor (object with __dlpack__ attribute or a DLPack capsule) –
- Returns
arr – The array view of the tensor data.
- Return type
tvm.nd.NDArray
- tvm.runtime.ndarray.cpu(dev_id=0)¶
Construct a CPU device
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.cuda(dev_id=0)¶
Construct a CUDA GPU device
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.gpu(dev_id=0)¶
Construct a CUDA GPU device
deprecated:: 0.9.0 Use
tvm.cuda()
instead.- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.rocm(dev_id=0)¶
Construct a ROCM device
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.opencl(dev_id=0)¶
Construct a OpenCL device
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.metal(dev_id=0)¶
Construct a metal device
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.vpi(dev_id=0)¶
Construct a VPI simulated device
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.vulkan(dev_id=0)¶
Construct a Vulkan device
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.ext_dev(dev_id=0)¶
Construct a extension device
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
Note
This API is reserved for quick testing of new device by plugin device API as ext_dev.
- tvm.runtime.ndarray.hexagon(dev_id=0)¶
Construct a Hexagon device
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.webgpu(dev_id=0)¶
Construct a webgpu device.
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.cl(dev_id=0)¶
Construct a OpenCL device
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.mtl(dev_id=0)¶
Construct a metal device
- Parameters
dev_id (int, optional) – The integer device id
- Returns
dev – The created device
- Return type
Device
- tvm.runtime.ndarray.array(arr, device=cpu(0), mem_scope=None)¶
Create an array from source arr.