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 |