docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class ComputeTensorData

    Represents data storage for a Tensor as a compute buffer, for GPUCompute backend.

    Inheritance
    object
    ComputeTensorData
    Implements
    ITensorData
    IDisposable
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.Sentis
    Assembly: Unity.Sentis.dll
    Syntax
    public class ComputeTensorData : ITensorData, IDisposable

    Constructors

    ComputeTensorData(int, bool)

    Initializes and returns an instance of ComputeTensorData, and allocates storage for a tensor with the shape of shape.

    Declaration
    public ComputeTensorData(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 false.

    ComputeTensorData(int, NativeTensorArray, int)

    Initializes and returns an instance of ComputeTensorData with given data and offset.

    Declaration
    public ComputeTensorData(int count, NativeTensorArray array, int offset = 0)
    Parameters
    Type Name Description
    int count

    The number of elements.

    NativeTensorArray array

    The allocated data to use as backing data.

    int offset

    The integer offset from the start of the backing array. The default value is 0.

    Properties

    backendType

    On what backend are the data elements stored.

    Declaration
    public BackendType backendType { get; }
    Property Value
    Type Description
    BackendType

    buffer

    The data storage as a compute buffer.

    Declaration
    public ComputeBuffer buffer { get; }
    Property Value
    Type Description
    ComputeBuffer

    maxCapacity

    The maximum count of the stored data elements.

    Declaration
    public int maxCapacity { get; }
    Property Value
    Type Description
    int

    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()

    Dispose()

    Disposes of the ComputeTensorData and any associated memory.

    Declaration
    public void Dispose()

    Download<T>(int, int)

    Returns a contiguous block of data from internal storage.

    Declaration
    public NativeArray<T> Download<T>(int dstCount, int srcOffset = 0) where T : unmanaged
    Parameters
    Type Name Description
    int dstCount

    The number of elements to download.

    int srcOffset

    The index of the first element in storage to download.

    Returns
    Type Description
    NativeArray<T>

    A native array of downloaded elements.

    Type Parameters
    Name Description
    T

    The data type of the elements.

    ~ComputeTensorData()

    Finalizes the ComputeTensorData.

    Declaration
    protected ~ComputeTensorData()

    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 the tensor into GPU memory on the GPUCompute backend device.

    Declaration
    public static ComputeTensorData Pin(Tensor X, bool clearOnInit = false)
    Parameters
    Type Name Description
    Tensor X

    The tensor to move to the compute backend.

    bool clearOnInit

    Whether to zero the data on pinning. The default value is false.

    Returns
    Type Description
    ComputeTensorData

    The pinned ComputeTensorData.

    ReadbackRequest(Action<bool>)

    Schedules asynchronous readback of the internal data.

    Declaration
    public void ReadbackRequest(Action<bool> callback = null)
    Parameters
    Type Name Description
    Action<bool> callback

    Callback invoked when async readback is finished. Return value indicates if async readback is successful.

    ReadbackRequestAsync()

    Schedules awaitable asynchronous readback of the internal data.

    See AsyncReadbackRequest for more info

    Declaration
    public Task<bool> ReadbackRequestAsync()
    Returns
    Type Description
    Task<bool>

    Whether awaitable task for when readback is successful.

    ToString()

    Returns a string that represents the ComputeTensorData.

    Declaration
    public override string ToString()
    Returns
    Type Description
    string

    The string summary of the ComputeTensorData.

    Overrides
    object.ToString()

    Upload<T>(NativeArray<T>, int, int)

    Uploads a contiguous block of tensor data to internal storage.

    Declaration
    public void Upload<T>(NativeArray<T> data, int srcCount, int srcOffset = 0) where T : unmanaged
    Parameters
    Type Name Description
    NativeArray<T> data

    The data to upload.

    int srcCount

    The number of elements to upload.

    int srcOffset

    The index of the first data element to upload.

    Type Parameters
    Name Description
    T

    The type of data to upload.

    Implements

    ITensorData
    IDisposable
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)