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
AsyncReadbackRequest(Action<Boolean>)
Schedules asynchronous readback of the internal data.
Invokes callback when async readback is finished.
Boolean indicates if async readback is successful.
Declaration
public void AsyncReadbackRequest(Action<bool> callback = null)
Parameters
| Type | Name | Description |
|---|---|---|
| Action<Boolean> | callback |
Implements
Clone()
Returns a deep copy of the internal storage.
Declaration
public ITensorData Clone()
Returns
| Type | Description |
|---|---|
| ITensorData |
Implements
CompleteAllPendingOperations()
Blocking call to make sure that internal data is correctly written to and available for CPU read back.
Declaration
public void CompleteAllPendingOperations()
Implements
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 NativeArray<T> Download<T>(int dstCount, int srcOffset = 0)
where T : struct
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | dstCount | |
| Int32 | srcOffset |
Returns
| Type | Description |
|---|---|
| NativeArray<T> |
Type Parameters
| Name | Description |
|---|---|
| T |
Implements
Finalize()
Finalizes the ComputeTensorData.
Declaration
protected void Finalize()
IsAsyncReadbackRequestDone()
Checks if asynchronous readback request it done.
Returns true if async readback is successful.
Declaration
public bool IsAsyncReadbackRequestDone()
Returns
| Type | Description |
|---|---|
| Boolean |
Implements
Pin(Tensor, Boolean)
Moves the tensor into GPU memory on the GPUCompute backend device.
Declaration
public static ComputeTensorData Pin(Tensor X, bool clearOnInit = true)
Parameters
| Type | Name | Description |
|---|---|---|
| Tensor | X | |
| Boolean | clearOnInit |
Returns
| Type | Description |
|---|---|
| ComputeTensorData |
Reserve(Int32)
Reserves memory for count elements.
Declaration
public void Reserve(int count)
Parameters
| Type | Name | Description |
|---|---|---|
| Int32 | count |
Implements
ToString()
Returns a string that represents the ComputeTensorData.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| String |
Overrides
Upload<T>(NativeArray<T>, Int32, Int32)
Uploads the tensor data to internal storage.
Declaration
public void Upload<T>(NativeArray<T> data, int srcCount, int srcOffset = 0)
where T : struct
Parameters
| Type | Name | Description |
|---|---|---|
| NativeArray<T> | data | |
| Int32 | srcCount | |
| Int32 | srcOffset |
Type Parameters
| Name | Description |
|---|---|
| T |