docs.unity3d.com
    Show / Hide Table of Contents

    Class PrecompiledComputeOps

    Precompiled GPU compute IOps implementation

    Inheritance
    Object
    ReferenceCPUOps
    ReferenceComputeOps
    ComputeOps
    PrecompiledComputeOps
    Inherited Members
    ComputeOps.MatMul(Tensor, Boolean, Tensor, Boolean)
    ComputeOps.MatMul(Tensor, Int32, Tensor, Int32)
    ComputeOps.Conv3D(Tensor, Tensor, Tensor, Int32[], Int32[], Layer.FusedActivation)
    ComputeOps.GlobalAvgVariancePool2D(Tensor)
    ComputeOps.GlobalPool2D(String, String, Tensor)
    ComputeOps.ArgMax(Tensor, Int32)
    ComputeOps.ArgMin(Tensor, Int32)
    ComputeOps.Softmax(Tensor, Int32)
    ComputeOps.LogSoftmax(Tensor, Int32)
    ComputeOps.Transpose(Tensor)
    ComputeOps.Transpose(Tensor, Int32[])
    ComputeOps.ApplyPadding(Tensor, Int32[], String, Single)
    ComputeOps.LogicalNot(Tensor)
    ComputeOps.Sign(Tensor)
    ComputeOps.Where(Tensor, Tensor, Tensor)
    ComputeOps.CopyAndReshape_NCHW(Tensor, TensorShape)
    ComputeOps.CopyAndReshape(Tensor, TensorShape)
    ReferenceComputeOps.Pin(Tensor, Boolean)
    ReferenceComputeOps.TensorToRenderTexture(Tensor, RenderTexture, Int32, Int32, Vector4, Vector4, Texture3D)
    ReferenceComputeOps.ShouldFlattenInputForDenseLayer(TensorShape)
    ReferenceComputeOps.IsFusedActivationSupported(Layer.FusedActivation)
    ReferenceComputeOps.Upsample3D(Tensor, Int32[], Boolean)
    ReferenceComputeOps.Resample2D(Tensor, Int32[], Boolean)
    ReferenceComputeOps.DepthToSpace(Tensor, Int32[], Layer.DepthToSpaceMode)
    ReferenceComputeOps.SpaceToDepth(Tensor, Int32[])
    ReferenceComputeOps.MaxPool2D(Tensor, Int32[], Int32[], Int32[])
    ReferenceComputeOps.AvgPool2D(Tensor, Int32[], Int32[], Int32[])
    ReferenceComputeOps.GlobalPool2D(String, Tensor)
    ReferenceComputeOps.ApplyPadding3D(Tensor, Int32[], String, Single)
    ReferenceComputeOps.Border2D(Tensor, Int32[], Single)
    ReferenceComputeOps.Border3D(Tensor, Int32[], Single)
    ReferenceComputeOps.Pad2DReflect(Tensor, Int32[])
    ReferenceComputeOps.Pad2DSymmetric(Tensor, Int32[])
    ReferenceComputeOps.Pad2DEdge(Tensor, Int32[])
    ReferenceComputeOps.LRN(Tensor, Single, Single, Single, Int32)
    ReferenceComputeOps.Dropout(Tensor, Single)
    ReferenceComputeOps.Relu(Tensor)
    ReferenceComputeOps.Tanh(Tensor)
    ReferenceComputeOps.Softplus(Tensor)
    ReferenceComputeOps.Sigmoid(Tensor)
    ReferenceComputeOps.HardSigmoid(Tensor, Single, Single)
    ReferenceComputeOps.Relu6(Tensor)
    ReferenceComputeOps.Elu(Tensor, Single)
    ReferenceComputeOps.LeakyRelu(Tensor, Single)
    ReferenceComputeOps.Selu(Tensor, Single, Single)
    ReferenceComputeOps.Swish(Tensor)
    ReferenceComputeOps.Abs(Tensor)
    ReferenceComputeOps.Neg(Tensor)
    ReferenceComputeOps.Ceil(Tensor)
    ReferenceComputeOps.Clip(Tensor, Single, Single)
    ReferenceComputeOps.Floor(Tensor)
    ReferenceComputeOps.Round(Tensor)
    ReferenceComputeOps.Reciprocal(Tensor)
    ReferenceComputeOps.Pow(Tensor, Single)
    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.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.ReduceMin(Tensor, Int32)
    ReferenceComputeOps.ReduceMax(Tensor, Int32)
    ReferenceComputeOps.ReduceSum(Tensor, Int32)
    ReferenceComputeOps.ReduceMean(Tensor, Int32)
    ReferenceComputeOps.ReduceProd(Tensor, Int32)
    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, Int32, Single, Single)
    ReferenceComputeOps.Flatten(Tensor)
    ReferenceComputeOps.Reshape(Tensor, TensorShape)
    ReferenceComputeOps.GetOnDeviceShape(TensorShape)
    ReferenceComputeOps.ConvertPermutationToDeviceLayout(Int32[])
    ReferenceComputeOps.StridedSlice(Tensor, Int32[], Int32[], Int32[])
    ReferenceComputeOps.Tile(Tensor, Int32[])
    ReferenceComputeOps.Gather(Tensor[], Int32)
    ReferenceComputeOps.Copy(Tensor)
    ReferenceComputeOps.Prepare(Tensor)
    ReferenceComputeOps.PrepareNoAlloc(Tensor)
    ReferenceCPUOps.PostLayerCleanup()
    ReferenceCPUOps.NewTensor(TensorShape, AllocScope, String)
    ReferenceCPUOps.NewTensorLike(Tensor, AllocScope)
    ReferenceCPUOps.NewTensorLike(Tensor[], AllocScope)
    ReferenceCPUOps.NewTensor(Int32, Int32, AllocScope, String)
    ReferenceCPUOps.NewTensor(Int32, Int32, Int32, Int32, AllocScope, String)
    ReferenceCPUOps.SetModelExecutionsReporter(IModelExecutionsReporter)
    ReferenceCPUOps.GetModelExecutionsReporter()
    ReferenceCPUOps.Bernoulli(Single)
    ReferenceCPUOps.Gaussian(Single, Single)
    ReferenceCPUOps.RandomNormal(TensorShape, Single, Single, Int32)
    ReferenceCPUOps.RandomUniform(TensorShape, Single, Single, Int32)
    ReferenceCPUOps.Multinomial(Tensor, Int32, Int32)
    ReferenceCPUOps.TopKIndices(Tensor, Int32, Int32, Boolean, Boolean)
    ReferenceCPUOps.NonZero(Tensor)
    ReferenceCPUOps.TopKValues(Tensor, Tensor, Int32)
    ReferenceCPUOps.ConstantOfShape(TensorShape, Single)
    ReferenceCPUOps.Shape(Tensor, Int32)
    ReferenceCPUOps.NonMaxSuppression(Tensor[], Int32, Single, Single, Int32)
    ReferenceCPUOps.LSTM(Tensor, Tensor[], Tensor[], Tensor[], Tensor[], Tensor, Tensor)
    Namespace: Unity.Barracuda
    Syntax
    public class PrecompiledComputeOps : ComputeOps, IOps, IOpsStatistics, IModelCompiler

    Constructors

    PrecompiledComputeOps(ITensorAllocator, Boolean)

    Create PrecompiledComputeOps

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

    allocator

    Boolean verbose

    verbose flag

    Methods

    Activation(String, Tensor, Single, Single)

    Generic activation function

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

    kernel name

    Tensor X

    input

    Single alpha

    alpha

    Single beta

    beta

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Activation(String, Tensor, Single, Single)

    Concat(Tensor[], Int32)

    Concatenate tensors across axis

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

    input tensors

    Int32 axis

    axis

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Concat(Tensor[], Int32)

    Conv2D(Tensor, Tensor, Tensor, Int32[], Int32[], Layer.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
    Int32[] stride

    stride

    Int32[] pad

    padding

    Layer.FusedActivation fusedActivation

    fused activation type

    Returns
    Type Description
    Tensor

    output Tensor

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

    Conv2DTrans(Tensor, Tensor, Tensor, Int32[], Int32[], Int32[], Layer.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
    Int32[] stride

    stride

    Int32[] pad

    padding

    Int32[] outputAdjustment

    output adjustments

    Layer.FusedActivation fusedActivation

    fused activation type

    Returns
    Type Description
    Tensor

    output Tensor

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

    Dense(Tensor, Tensor, Tensor, Layer.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, Int32[], Int32[], Layer.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
    Int32[] stride

    stride

    Int32[] pad

    padding

    Layer.FusedActivation fusedActivation

    fused activation type

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.DepthwiseConv2D(Tensor, Tensor, Tensor, Int32[], Int32[], 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[])

    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)

    NewOutputTensor(TensorShape, String)

    Declaration
    protected Tensor NewOutputTensor(TensorShape s, string name = "")
    Parameters
    Type Name Description
    TensorShape s
    String name
    Returns
    Type Description
    Tensor

    NewTempTensor(TensorShape, String)

    Declaration
    protected Tensor NewTempTensor(TensorShape s, string name = "")
    Parameters
    Type Name Description
    TensorShape s
    String name
    Returns
    Type Description
    Tensor

    Normalization(Tensor, Tensor, Tensor, Int32, Int32, Single, Layer.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
    Int32 pool

    pooling

    Int32 axis

    axis

    Single epsilon

    threshold

    Layer.FusedActivation fusedActivation

    fused activation type

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Normalization(Tensor, Tensor, Tensor, Int32, Int32, Single, Layer.FusedActivation)

    Pool2D(String, Tensor, Int32[], Int32[], Int32[])

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

    PreExecuteLayer(Layer, Tensor[])

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

    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)

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

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

    ResetAllocator(Boolean)

    Reset internal allocator

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

    keep cached memory flag

    Overrides
    ReferenceCPUOps.ResetAllocator(Boolean)

    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, Int32[], Boolean)

    Upsample 2D

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

    scale

    Boolean bilinear

    bilinear flag

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ComputeOps.Upsample2D(Tensor, Int32[], Boolean)
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023