Class BurstTensorData
Represents Burst-specific internal data storage for a Tensor.
Implements
Inherited Members
Namespace: Unity.Sentis
Assembly: Unity.Sentis.dll
Syntax
public class BurstTensorData : ITensorData, IDisposable, IDependableMemoryResource, IConvertibleToComputeTensorData, IReadableTensorData
Constructors
BurstTensorData(int, bool)
Initializes and returns an instance of BurstTensorData, and allocates storage for a tensor with the shape of shape.
Declaration
public BurstTensorData(int count, bool clearOnInit = false)
Parameters
| Type | Name | Description |
|---|---|---|
| int | count | The number of elements. |
| bool | clearOnInit | Whether to zero the data on allocation. The default value is |
BurstTensorData(NativeTensorArray)
Initializes and returns an instance of BurstTensorData from a NativeTensorArray.
Declaration
public BurstTensorData(NativeTensorArray data)
Parameters
| Type | Name | Description |
|---|---|---|
| NativeTensorArray | data | The elements of the tensor data as a |
Properties
array
The NativeTensorArray managed array containing the Tensor data.
Declaration
public NativeTensorArray array { get; }
Property Value
| Type | Description |
|---|---|
| NativeTensorArray |
backendType
On what backend are the data elements stored.
Declaration
public BackendType backendType { get; }
Property Value
| Type | Description |
|---|---|
| BackendType |
fence
A read fence job handle. You can use fence as a dependsOn argument when you schedule a job that reads data. The job will start when the tensor data is ready for read access.
Declaration
public JobHandle fence { get; set; }
Property Value
| Type | Description |
|---|---|
| JobHandle |
maxCapacity
The maximum count of the stored data elements.
Declaration
public int maxCapacity { get; }
Property Value
| Type | Description |
|---|---|
| int |
rawPtr
The raw memory pointer for the resource.
Declaration
public void* rawPtr { get; }
Property Value
| Type | Description |
|---|---|
| void* |
reuse
A write fence job handle. You can use reuse as a dependsOn argument when you schedule a job that reads data. The job will start when the tensor data is ready for write access.
Declaration
public JobHandle reuse { get; set; }
Property Value
| Type | Description |
|---|---|
| JobHandle |
Methods
Clone()
Returns a deep copy of the internal storage.
Declaration
public ITensorData Clone()
Returns
| Type | Description |
|---|---|
| ITensorData | Cloned internal storage. |
CompleteAllPendingOperations()
Blocking call to make sure that internal data is correctly written to and available for CPU read back.
Declaration
public void CompleteAllPendingOperations()
ConvertToComputeTensorData(int)
Implement this method to convert to ComputeTensorData.
Declaration
public ComputeTensorData ConvertToComputeTensorData(int count)
Parameters
| Type | Name | Description |
|---|---|---|
| int | count |
Returns
| Type | Description |
|---|---|
| ComputeTensorData | Converted |
Dispose()
Disposes of the BurstTensorData and any associated memory.
Declaration
public void Dispose()
DownloadAsync<T>(int)
Awaitable contiguous block of data from internal storage.
Declaration
public Awaitable<NativeArray<T>> DownloadAsync<T>(int dstCount) where T : unmanaged
Parameters
| Type | Name | Description |
|---|---|---|
| int | dstCount | The number of elements to download. |
Returns
| Type | Description |
|---|---|
| Awaitable<NativeArray<T>> | A awaitable native array of downloaded elements. |
Type Parameters
| Name | Description |
|---|---|
| T | The data type of the elements. |
Download<T>(int)
Returns data from internal storage.
Declaration
public NativeArray<T> Download<T>(int dstCount) where T : unmanaged
Parameters
| Type | Name | Description |
|---|---|---|
| int | dstCount | The number of elements to download. |
Returns
| Type | Description |
|---|---|
| NativeArray<T> | The downloaded data as a native array. |
Type Parameters
| Name | Description |
|---|---|
| T | The data type of the elements. |
~BurstTensorData()
Finalizes the BurstTensorData.
Declaration
protected ~BurstTensorData()
GetReadOnlyNativeArrayHandle<T>(int)
Returns a ReadOnlyNativeArray handle on the linear memory data.
Declaration
public NativeArray<T>.ReadOnly GetReadOnlyNativeArrayHandle<T>(int dstCount) where T : unmanaged
Parameters
| Type | Name | Description |
|---|---|---|
| int | dstCount | The number of elements in the array. |
Returns
| Type | Description |
|---|---|
| NativeArray<T>.ReadOnly | NativeArray of elements. |
Type Parameters
| Name | Description |
|---|---|
| T | The data type of the elements. |
Get<T>(int)
Returns a data element.
Declaration
public T Get<T>(int index) where T : unmanaged
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | The index of the element. |
Returns
| Type | Description |
|---|---|
| T | Data element. |
Type Parameters
| Name | Description |
|---|---|
| T | The data type of the element. |
IsReadbackRequestDone()
Checks if asynchronous readback request is done.
Declaration
public bool IsReadbackRequestDone()
Returns
| Type | Description |
|---|---|
| bool | Whether async readback is successful. |
Pin(Tensor, bool)
Moves a tensor into memory on the CPU backend device.
Declaration
public static BurstTensorData Pin(Tensor X, bool clearOnInit = false)
Parameters
| Type | Name | Description |
|---|---|---|
| Tensor | X | The |
| bool | clearOnInit | Whether to initialize the backend data. The default value is |
Returns
| Type | Description |
|---|---|
| BurstTensorData | The pinned |
ReadbackRequest()
Schedules asynchronous readback of the internal data.
Declaration
public void ReadbackRequest()
Set<T>(int, T)
Sets value data element at index.
Declaration
public void Set<T>(int index, T value) where T : unmanaged
Parameters
| Type | Name | Description |
|---|---|---|
| int | index | The index of the element to set. |
| T | value | The value to set for the element. |
Type Parameters
| Name | Description |
|---|---|
| T | The data type of the element. |
ToArray<T>(int)
Returns an array that is a copy of the linear memory data.
Declaration
public T[] ToArray<T>(int dstCount) where T : unmanaged
Parameters
| Type | Name | Description |
|---|---|---|
| int | dstCount | The number of elements in the array. |
Returns
| Type | Description |
|---|---|
| T[] | Array of elements. |
Type Parameters
| Name | Description |
|---|---|
| T | The data type of the elements. |
ToReadOnlySpan<T>(int)
Returns a ReadOnlySpan on the linear memory data.
Declaration
public ReadOnlySpan<T> ToReadOnlySpan<T>(int dstCount) where T : unmanaged
Parameters
| Type | Name | Description |
|---|---|---|
| int | dstCount | The number of elements to span. |
Returns
| Type | Description |
|---|---|
| ReadOnlySpan<T> | Span of elements. |
Type Parameters
| Name | Description |
|---|---|
| T | The data type of the elements. |
ToString()
Returns a string that represents the BurstTensorData.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| string | The string summary of the |
Overrides
Upload<T>(NativeArray<T>, int)
Uploads data to internal storage.
Declaration
public void Upload<T>(NativeArray<T> data, int srcCount) where T : unmanaged
Parameters
| Type | Name | Description |
|---|---|---|
| NativeArray<T> | data | The data to upload as a native array. |
| int | srcCount | The number of elements to upload. |
Type Parameters
| Name | Description |
|---|---|
| T | The data type of the elements. |