docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class PrecompiledComputeOps

    Precompiled GPU compute IOps implementation

    Inheritance
    object
    ReferenceCPUOps
    ReferenceComputeOps
    ComputeOps
    PrecompiledComputeOps
    Implements
    IOps
    IOpsStatistics
    Inherited Members
    ComputeOps.MatMul(Tensor, bool, Tensor, bool)
    ComputeOps.MatMul(Tensor, int, Tensor, int)
    ComputeOps.Conv3D(Tensor, Tensor, Tensor, int[], int[], Layer.FusedActivation)
    ComputeOps.GlobalAvgVariancePool2D(Tensor)
    ComputeOps.GlobalPool2D(string, string, Tensor)
    ComputeOps.ArgMax(Tensor, int)
    ComputeOps.ArgMin(Tensor, int)
    ComputeOps.ReduceMin(Tensor, int)
    ComputeOps.ReduceMax(Tensor, int)
    ComputeOps.ReduceSum(Tensor, int)
    ComputeOps.ReduceMean(Tensor, int)
    ComputeOps.ReduceProd(Tensor, int)
    ComputeOps.Softmax(Tensor, int)
    ComputeOps.LogSoftmax(Tensor, int)
    ComputeOps.Transpose(Tensor)
    ComputeOps.Transpose(Tensor, int[])
    ComputeOps.ApplyPadding(Tensor, int[], string, float)
    ComputeOps.LogicalNot(Tensor)
    ComputeOps.Sign(Tensor)
    ComputeOps.Where(Tensor, Tensor, Tensor)
    ComputeOps.CopyAndReshape_NCHW(Tensor, TensorShape)
    ComputeOps.CopyAndReshape(Tensor, TensorShape)
    ReferenceComputeOps.Pin(Tensor, bool)
    ReferenceComputeOps.TensorToRenderTexture(Tensor, RenderTexture, int, int, Vector4, Vector4, Texture3D, bool)
    ReferenceComputeOps.ShouldFlattenInputForDenseLayer(TensorShape)
    ReferenceComputeOps.IsFusedActivationSupported(Layer.FusedActivation)
    ReferenceComputeOps.Upsample3D(Tensor, int[], bool)
    ReferenceComputeOps.Resample2D(Tensor, int[], bool)
    ReferenceComputeOps.DepthToSpace(Tensor, int[], Layer.DepthToSpaceMode)
    ReferenceComputeOps.SpaceToDepth(Tensor, int[])
    ReferenceComputeOps.MaxPool2D(Tensor, int[], int[], int[])
    ReferenceComputeOps.AvgPool2D(Tensor, int[], int[], int[])
    ReferenceComputeOps.GlobalPool2D(string, Tensor)
    ReferenceComputeOps.ApplyPadding3D(Tensor, int[], string, float)
    ReferenceComputeOps.Border2D(Tensor, int[], float)
    ReferenceComputeOps.Border3D(Tensor, int[], float)
    ReferenceComputeOps.Pad2DReflect(Tensor, int[])
    ReferenceComputeOps.Pad2DSymmetric(Tensor, int[])
    ReferenceComputeOps.Pad2DEdge(Tensor, int[])
    ReferenceComputeOps.LRN(Tensor, float, float, float, int)
    ReferenceComputeOps.Dropout(Tensor, float)
    ReferenceComputeOps.Relu(Tensor)
    ReferenceComputeOps.Tanh(Tensor)
    ReferenceComputeOps.Softplus(Tensor)
    ReferenceComputeOps.Sigmoid(Tensor)
    ReferenceComputeOps.HardSigmoid(Tensor, float, float)
    ReferenceComputeOps.Relu6(Tensor)
    ReferenceComputeOps.Elu(Tensor, float)
    ReferenceComputeOps.LeakyRelu(Tensor, float)
    ReferenceComputeOps.Selu(Tensor, float, float)
    ReferenceComputeOps.Swish(Tensor)
    ReferenceComputeOps.Abs(Tensor)
    ReferenceComputeOps.Neg(Tensor)
    ReferenceComputeOps.Ceil(Tensor)
    ReferenceComputeOps.Clip(Tensor, float, float)
    ReferenceComputeOps.Floor(Tensor)
    ReferenceComputeOps.Round(Tensor)
    ReferenceComputeOps.Reciprocal(Tensor)
    ReferenceComputeOps.Pow(Tensor, float)
    ReferenceComputeOps.Exp(Tensor)
    ReferenceComputeOps.Log(Tensor)
    ReferenceComputeOps.Sqrt(Tensor)
    ReferenceComputeOps.Acos(Tensor)
    ReferenceComputeOps.Acosh(Tensor)
    ReferenceComputeOps.Asin(Tensor)
    ReferenceComputeOps.Asinh(Tensor)
    ReferenceComputeOps.Atan(Tensor)
    ReferenceComputeOps.Atanh(Tensor)
    ReferenceComputeOps.Cos(Tensor)
    ReferenceComputeOps.Cosh(Tensor)
    ReferenceComputeOps.Sin(Tensor)
    ReferenceComputeOps.Sinh(Tensor)
    ReferenceComputeOps.Tan(Tensor)
    ReferenceComputeOps.Erf(Tensor)
    ReferenceComputeOps.ConstantOfShape(TensorShape, DataType, float)
    ReferenceComputeOps.Expand(Tensor, TensorShape)
    ReferenceComputeOps.Add(Tensor[])
    ReferenceComputeOps.Sub(Tensor[])
    ReferenceComputeOps.Mul(Tensor[])
    ReferenceComputeOps.Div(Tensor[])
    ReferenceComputeOps.Pow(Tensor[])
    ReferenceComputeOps.Min(Tensor[])
    ReferenceComputeOps.Max(Tensor[])
    ReferenceComputeOps.Mean(Tensor[])
    ReferenceComputeOps.Greater(Tensor, Tensor)
    ReferenceComputeOps.GreaterEqual(Tensor, Tensor)
    ReferenceComputeOps.Less(Tensor, Tensor)
    ReferenceComputeOps.LessEqual(Tensor, Tensor)
    ReferenceComputeOps.Equal(Tensor, Tensor)
    ReferenceComputeOps.LogicalOr(Tensor, Tensor)
    ReferenceComputeOps.LogicalAnd(Tensor, Tensor)
    ReferenceComputeOps.LogicalXor(Tensor, Tensor)
    ReferenceComputeOps.OneHot(Tensor, int, float, float, int)
    ReferenceComputeOps.RoiAlign(Tensor, Tensor, Tensor, int, int, int, float)
    ReferenceComputeOps.Flatten(Tensor)
    ReferenceComputeOps.Reshape(Tensor, TensorShape)
    ReferenceComputeOps.GetOnDeviceShape(TensorShape)
    ReferenceComputeOps.ConvertPermutationToDeviceLayout(int[])
    ReferenceComputeOps.StridedSlice(Tensor, int[], int[], int[])
    ReferenceComputeOps.Tile(Tensor, int[])
    ReferenceComputeOps.Gather(Tensor[], int)
    ReferenceComputeOps.ScatterND(Tensor, Tensor, Tensor, Layer.ScatterNDReductionMode)
    ReferenceComputeOps.Copy(Tensor)
    ReferenceComputeOps.Prepare(Tensor)
    ReferenceComputeOps.PrepareNoAlloc(Tensor)
    ReferenceCPUOps.PostLayerCleanup()
    ReferenceCPUOps.NewTensor(DataType, TensorShape, AllocScope, string)
    ReferenceCPUOps.NewTensorLike(Tensor, AllocScope)
    ReferenceCPUOps.NewTensorLike(Tensor[], AllocScope, bool)
    ReferenceCPUOps.NewTensorForFusedActivation(DataType, TensorShape, Layer.FusedActivation)
    ReferenceCPUOps.NewOutputTensor(DataType, TensorShape, string)
    ReferenceCPUOps.NewTempTensor(DataType, TensorShape, string)
    ReferenceCPUOps.SetModelExecutionsReporter(IModelExecutionsReporter)
    ReferenceCPUOps.GetModelExecutionsReporter()
    ReferenceCPUOps.Bernoulli(float)
    ReferenceCPUOps.Gaussian(float, float)
    ReferenceCPUOps.RandomNormal(TensorShape, float, float, int)
    ReferenceCPUOps.RandomUniform(TensorShape, float, float, int)
    ReferenceCPUOps.Multinomial(Tensor, int, int)
    ReferenceCPUOps.TopKIndices(Tensor, int, int, bool, bool)
    ReferenceCPUOps.NonZero(Tensor)
    ReferenceCPUOps.TopKValues(Tensor, Tensor, int)
    ReferenceCPUOps.Shape(Tensor, int)
    ReferenceCPUOps.NonMaxSuppression(Tensor[], int, float, float, int)
    ReferenceCPUOps.LSTM(Tensor, Tensor[], Tensor[], Tensor[], Tensor[], Tensor, Tensor)
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Unity.Barracuda
    Assembly: solution.dll
    Syntax
    public class PrecompiledComputeOps : ComputeOps, IOps, IOpsStatistics

    Constructors

    PrecompiledComputeOps(ITensorAllocator, bool)

    Create PrecompiledComputeOps

    Declaration
    public PrecompiledComputeOps(ITensorAllocator allocator = null, bool verbose = false)
    Parameters
    Type Name Description
    ITensorAllocator allocator

    allocator

    bool verbose

    verbose flag

    Methods

    Activation(string, Tensor, float, float)

    Generic activation function

    Declaration
    protected override Tensor Activation(string kernelName, Tensor X, float alpha = 0, float beta = 0)
    Parameters
    Type Name Description
    string kernelName

    kernel name

    Tensor X

    input

    float alpha

    alpha

    float beta

    beta

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Activation(string, Tensor, float, float)

    Concat(Tensor[], int)

    Concatenate tensors across axis

    Declaration
    public override Tensor Concat(Tensor[] tensors, int axis)
    Parameters
    Type Name Description
    Tensor[] tensors

    input tensors

    int axis

    axis

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Concat(Tensor[], int)

    Conv2D(Tensor, Tensor, Tensor, int[], int[], FusedActivation)

    2D convolution

    Declaration
    public override Tensor Conv2D(Tensor X, Tensor K, Tensor B, int[] stride, int[] pad, Layer.FusedActivation fusedActivation)
    Parameters
    Type Name Description
    Tensor X
    Tensor K
    Tensor B
    int[] stride

    stride

    int[] pad

    padding

    Layer.FusedActivation fusedActivation

    fused activation type

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Conv2D(Tensor, Tensor, Tensor, int[], int[], Layer.FusedActivation)

    Conv2DTrans(Tensor, Tensor, Tensor, int[], int[], int[], FusedActivation)

    Transpose 2D convolution

    Declaration
    public override Tensor Conv2DTrans(Tensor X, Tensor K, Tensor B, int[] stride, int[] pad, int[] outputAdjustment, Layer.FusedActivation fusedActivation)
    Parameters
    Type Name Description
    Tensor X
    Tensor K
    Tensor B
    int[] stride

    stride

    int[] pad

    padding

    int[] outputAdjustment

    output adjustments

    Layer.FusedActivation fusedActivation

    fused activation type

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Conv2DTrans(Tensor, Tensor, Tensor, int[], int[], int[], Layer.FusedActivation)

    Dense(Tensor, Tensor, Tensor, FusedActivation)

    Dense layer (matrix multiplication) o = x ⨯ w + b

    Declaration
    public override Tensor Dense(Tensor X, Tensor W, Tensor B, Layer.FusedActivation fusedActivation)
    Parameters
    Type Name Description
    Tensor X
    Tensor W
    Tensor B
    Layer.FusedActivation fusedActivation

    fused activation type

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Dense(Tensor, Tensor, Tensor, Layer.FusedActivation)

    Dense3(Tensor, Tensor, Tensor)

    rank3 Dense layer (matrix multiplication) o = x ⨯ w + b O: N,,W,C / X: N,,W,C / W:N,,,C / B:N,,,_

    Declaration
    public override Tensor Dense3(Tensor X, Tensor W, Tensor B)
    Parameters
    Type Name Description
    Tensor X
    Tensor W
    Tensor B
    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Dense3(Tensor, Tensor, Tensor)

    DepthwiseConv2D(Tensor, Tensor, Tensor, int[], int[], FusedActivation)

    Depthwise 2D convolution

    Declaration
    public override Tensor DepthwiseConv2D(Tensor X, Tensor K, Tensor B, int[] stride, int[] pad, Layer.FusedActivation fusedActivation)
    Parameters
    Type Name Description
    Tensor X
    Tensor K
    Tensor B
    int[] stride

    stride

    int[] pad

    padding

    Layer.FusedActivation fusedActivation

    fused activation type

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.DepthwiseConv2D(Tensor, Tensor, Tensor, int[], int[], Layer.FusedActivation)

    ElementwiseWithBroadcast(string, Tensor[])

    Elementwise broadcast for specified kernel

    Declaration
    protected override Tensor ElementwiseWithBroadcast(string kernelName, Tensor[] tensors)
    Parameters
    Type Name Description
    string kernelName

    kernel name

    Tensor[] tensors

    input tensors

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.ElementwiseWithBroadcast(string, Tensor[])
    Exceptions
    Type Condition
    NotImplementedException

    thrown if input Tensor is not compatible with 4D shape

    GlobalAvgPool2D(Tensor)

    2D global average pooling

    Declaration
    public override Tensor GlobalAvgPool2D(Tensor X)
    Parameters
    Type Name Description
    Tensor X
    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.GlobalAvgPool2D(Tensor)

    GlobalMaxPool2D(Tensor)

    2D global max pooling

    Declaration
    public override Tensor GlobalMaxPool2D(Tensor X)
    Parameters
    Type Name Description
    Tensor X
    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.GlobalMaxPool2D(Tensor)

    Normalization(Tensor, Tensor, Tensor, int, int, float, FusedActivation)

    Normalization

    Declaration
    public override Tensor Normalization(Tensor X, Tensor S, Tensor B, int pool, int axis, float epsilon, Layer.FusedActivation fusedActivation)
    Parameters
    Type Name Description
    Tensor X
    Tensor S
    Tensor B
    int pool

    pooling

    int axis

    axis

    float epsilon

    threshold

    Layer.FusedActivation fusedActivation

    fused activation type

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Normalization(Tensor, Tensor, Tensor, int, int, float, Layer.FusedActivation)

    PRelu(Tensor, Tensor)

    PReLU

    Declaration
    public override Tensor PRelu(Tensor X, Tensor S)
    Parameters
    Type Name Description
    Tensor X
    Tensor S
    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.PRelu(Tensor, Tensor)

    Pool2D(string, Tensor, int[], int[], int[])

    Declaration
    protected override Tensor Pool2D(string kernelName, Tensor X, int[] pool, int[] stride, int[] pad)
    Parameters
    Type Name Description
    string kernelName
    Tensor X
    int[] pool
    int[] stride
    int[] pad
    Returns
    Type Description
    Tensor
    Overrides
    ComputeOps.Pool2D(string, Tensor, int[], int[], int[])

    PreExecuteLayer(Layer, Tensor[])

    Prepare for layer execution

    Declaration
    public virtual void PreExecuteLayer(Layer layer, Tensor[] inputs)
    Parameters
    Type Name Description
    Layer layer

    layer

    Tensor[] inputs

    inputs

    PrepareModel(Model, IDictionary<string, TensorShape>, IVars)

    Prepare model for execution, allocating required intermediate tensors

    Declaration
    public virtual void PrepareModel(Model model, IDictionary<string, TensorShape> inputShapes, IVars vars)
    Parameters
    Type Name Description
    Model model

    model

    IDictionary<string, TensorShape> inputShapes

    input shapes

    IVars vars

    model variables

    ReduceHelper(Type, Tensor, int, AllocScope)

    Declaration
    protected override Tensor ReduceHelper(Layer.Type kernelName, Tensor X, int axis, AllocScope outputScope)
    Parameters
    Type Name Description
    Layer.Type kernelName
    Tensor X
    int axis
    AllocScope outputScope
    Returns
    Type Description
    Tensor
    Overrides
    ComputeOps.ReduceHelper(Layer.Type, Tensor, int, AllocScope)

    ResetAllocator(bool)

    Reset internal allocator

    Declaration
    public override void ResetAllocator(bool keepCachedMemory = true)
    Parameters
    Type Name Description
    bool keepCachedMemory

    keep cached memory flag

    Overrides
    ReferenceCPUOps.ResetAllocator(bool)

    ScaleBias(Tensor, Tensor, Tensor)

    Scale bias o = s * x + b, element wise

    Declaration
    public override Tensor ScaleBias(Tensor X, Tensor S, Tensor B)
    Parameters
    Type Name Description
    Tensor X
    Tensor S
    Tensor B
    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.ScaleBias(Tensor, Tensor, Tensor)

    Upsample2D(Tensor, int[], bool)

    Upsample 2D

    Declaration
    public override Tensor Upsample2D(Tensor X, int[] scale, bool bilinear)
    Parameters
    Type Name Description
    Tensor X
    int[] scale

    scale

    bool bilinear

    bilinear flag

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Upsample2D(Tensor, int[], bool)

    Implements

    IOps
    IOpsStatistics
    In This Article
    Back to top
    Copyright © 2025 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)