Class ComputeTensorData
Represents data storage for a Tensor
as a compute buffer, for GPUCompute backend.
Inherited Members
Namespace: Unity.Sentis
Syntax
public class ComputeTensorData : ITensorData, IDisposable
Constructors
ComputeTensorData(TensorShape, Boolean)
Initializes and returns an instance of ComputeTensorData
, and allocates storage for a tensor with the shape of shape
.
Declaration
public ComputeTensorData(TensorShape shape, bool clearOnInit = true)
Parameters
Type | Name | Description |
---|---|---|
TensorShape | shape | The shape of the tensor data to allocate. |
Boolean | clearOnInit | Whether to zero the data on allocation. The default value is |
ComputeTensorData(TensorShape, NativeTensorArray, Int32)
Initializes and returns an instance of ComputeTensorData
with given data and offset.
Declaration
public ComputeTensorData(TensorShape shape, NativeTensorArray array, int offset = 0)
Parameters
Type | Name | Description |
---|---|---|
TensorShape | shape | The shape of the tensor data. |
NativeTensorArray | array | The allocated data to use as backing data. |
Int32 | offset | The integer offset from the start of the backing array. The default value is 0. |
Properties
buffer
The data storage as a compute buffer.
Declaration
public ComputeBuffer buffer { get; }
Property Value
Type | Description |
---|---|
ComputeBuffer |
deviceType
On what device backend are the data elements stored
Declaration
public DeviceType deviceType { get; }
Property Value
Type | Description |
---|---|
DeviceType |
Implements
maxCapacity
The maximum count of the stored data elements.
Declaration
public int maxCapacity { get; }
Property Value
Type | Description |
---|---|
Int32 |
Implements
shape
The shape of the tensor using this data as a TensorShape
.
Declaration
public TensorShape shape { get; }
Property Value
Type | Description |
---|---|
TensorShape |
Methods
Dispose()
Disposes of the ComputeTensorData
and any associated memory.
Declaration
public void Dispose()
Implements
Download<T>(Int32, Int32)
Returns data from internal storage.
Declaration
public T[] Download<T>(int dstCount, int srcOffset = 0)
where T : struct
Parameters
Type | Name | Description |
---|---|---|
Int32 | dstCount | |
Int32 | srcOffset |
Returns
Type | Description |
---|---|
T[] |
Type Parameters
Name | Description |
---|---|
T |
Implements
Finalize()
Finalizes the ComputeTensorData
.
Declaration
protected void Finalize()
Pin(Tensor, Boolean)
Moves the tensor into GPU memory on the GPUCompute backend device.
Declaration
public static ComputeTensorData Pin(Tensor X, bool uploadCache = true)
Parameters
Type | Name | Description |
---|---|---|
Tensor | X | |
Boolean | uploadCache | Whether to also move the existing tensor data to the GPU. The default value is |
Returns
Type | Description |
---|---|
ComputeTensorData |
Reserve(Int32)
Reserves memory for count
elements.
Declaration
public void Reserve(int count)
Parameters
Type | Name | Description |
---|---|---|
Int32 | count |
Implements
ScheduleAsyncDownload()
Schedules asynchronous download of the internal data.
Declaration
public bool ScheduleAsyncDownload()
Returns
Type | Description |
---|---|
Boolean |
Implements
ToString()
Returns a string that represents the ComputeTensorData
.
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
String |
Overrides
Upload<T>(T[], Int32, Int32)
Uploads the tensor data to internal storage.
Declaration
public void Upload<T>(T[] data, int srcCount, int srcOffset = 0)
where T : struct
Parameters
Type | Name | Description |
---|---|---|
T[] | data | |
Int32 | srcCount | |
Int32 | srcOffset |
Type Parameters
Name | Description |
---|---|
T |