docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class ComputeOps

    GPU compute implementation of IOps

    Inheritance
    object
    ReferenceCPUOps
    ReferenceComputeOps
    ComputeOps
    PrecompiledComputeOps
    Implements
    IOps
    Inherited Members
    ReferenceComputeOps.Pin(Tensor)
    ReferenceComputeOps.TensorToRenderTexture(Tensor, RenderTexture, int, int, Vector4, Vector4, Texture3D)
    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.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.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, int)
    ReferenceComputeOps.ReduceMax(Tensor, int)
    ReferenceComputeOps.ReduceSum(Tensor, int)
    ReferenceComputeOps.ReduceMean(Tensor, int)
    ReferenceComputeOps.ReduceProd(Tensor, int)
    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)
    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.Copy(Tensor)
    ReferenceComputeOps.Prepare(Tensor)
    ReferenceCPUOps.NewTensor(TensorShape, string)
    ReferenceCPUOps.NewTensorLike(Tensor)
    ReferenceCPUOps.NewTensorLike(Tensor[])
    ReferenceCPUOps.NewTensor(int, int, string)
    ReferenceCPUOps.NewTensor(int, int, int, int, string)
    ReferenceCPUOps.ResetAllocator(bool)
    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.ConstantOfShape(TensorShape, float)
    ReferenceCPUOps.Shape(Tensor, int)
    ReferenceCPUOps.NonMaxSuppression(Tensor[], int, float, float, int)
    ReferenceCPUOps.LSTM(Tensor, Tensor[], Tensor[], Tensor[], Tensor[], Tensor, Tensor)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Unity.Barracuda
    Assembly: Unity.Barracuda.dll
    Syntax
    public class ComputeOps : ReferenceComputeOps, IOps

    Constructors

    ComputeOps(ITensorAllocator, bool)

    Create ComputeOps

    Declaration
    public ComputeOps(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
    ReferenceComputeOps.Activation(string, Tensor, float, float)

    ApplyPadding(Tensor, int[], string, float)

    Apply padding

    Declaration
    protected override Tensor ApplyPadding(Tensor X, int[] pad, string kernelName, float constant = 0)
    Parameters
    Type Name Description
    Tensor X

    input

    int[] pad

    padding

    string kernelName

    kernel name

    float constant

    constant

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ReferenceComputeOps.ApplyPadding(Tensor, int[], string, float)

    ArgMax(Tensor, int)

    ArgMax

    Declaration
    public override Tensor ArgMax(Tensor X, int axis)
    Parameters
    Type Name Description
    Tensor X
    int axis

    axis

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ReferenceComputeOps.ArgMax(Tensor, int)

    ArgMin(Tensor, int)

    ArgMax

    Declaration
    public override Tensor ArgMin(Tensor X, int axis)
    Parameters
    Type Name Description
    Tensor X
    int axis

    axis

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ReferenceComputeOps.ArgMin(Tensor, int)

    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
    ReferenceComputeOps.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
    ReferenceComputeOps.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
    ReferenceComputeOps.Conv2DTrans(Tensor, Tensor, Tensor, int[], int[], int[], Layer.FusedActivation)

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

    3D convolution

    Declaration
    public override Tensor Conv3D(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
    ReferenceComputeOps.Conv3D(Tensor, Tensor, Tensor, int[], int[], Layer.FusedActivation)

    CopyAndReshape(Tensor, TensorShape)

    Copy and reshape Tensor

    Declaration
    protected override Tensor CopyAndReshape(Tensor X, TensorShape newShape)
    Parameters
    Type Name Description
    Tensor X

    input

    TensorShape newShape
    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ReferenceComputeOps.CopyAndReshape(Tensor, TensorShape)

    CopyAndReshape_NCHW(Tensor, TensorShape)

    Copy and reshape tensor for NCHW layout

    Declaration
    protected override Tensor CopyAndReshape_NCHW(Tensor X, TensorShape newShape)
    Parameters
    Type Name Description
    Tensor X

    input

    TensorShape newShape

    new shape

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ReferenceComputeOps.CopyAndReshape_NCHW(Tensor, TensorShape)

    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
    ReferenceComputeOps.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
    ReferenceComputeOps.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
    ReferenceComputeOps.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
    ReferenceComputeOps.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
    ReferenceComputeOps.GlobalAvgPool2D(Tensor)

    GlobalAvgVariancePool2D(Tensor)

    2D global average variance pooling

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

    output Tensor

    Overrides
    ReferenceComputeOps.GlobalAvgVariancePool2D(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
    ReferenceComputeOps.GlobalMaxPool2D(Tensor)

    GlobalPool2D(string, string, Tensor)

    Generic global 2D pooling

    Declaration
    protected virtual Tensor GlobalPool2D(string smallKernelName, string globalKernelName, Tensor X)
    Parameters
    Type Name Description
    string smallKernelName

    small kernel name

    string globalKernelName

    global kernel name

    Tensor X

    input

    Returns
    Type Description
    Tensor

    output Tensor

    LogSoftmax(Tensor)

    LogSoftmax

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

    output Tensor

    Overrides
    ReferenceComputeOps.LogSoftmax(Tensor)

    LogicalNot(Tensor)

    Not

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

    Tensor with !x values

    Overrides
    ReferenceComputeOps.LogicalNot(Tensor)

    MatMul(Tensor, bool, Tensor, bool)

    Simple 2D matrix multiplication O = X ⨯ Y

    Declaration
    public override Tensor MatMul(Tensor X, bool xTranspose, Tensor Y, bool yTranspose)
    Parameters
    Type Name Description
    Tensor X

    left Tensor

    bool xTranspose

    X transposed data flag

    Tensor Y

    right Tensor

    bool yTranspose

    Y transposed data flag

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ReferenceComputeOps.MatMul(Tensor, bool, Tensor, bool)

    MatMul(Tensor, int, Tensor, int)

    Multidimensional Matrix multiplication o = x ⨯ y

    Declaration
    public override Tensor MatMul(Tensor X, int rankX, Tensor Y, int rankY)
    Parameters
    Type Name Description
    Tensor X
    int rankX

    rank of x

    Tensor Y
    int rankY

    rank of y

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ReferenceComputeOps.MatMul(Tensor, int, Tensor, int)

    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
    ReferenceComputeOps.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
    ReferenceComputeOps.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
    ReferenceComputeOps.Pool2D(string, Tensor, int[], int[], int[])

    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
    ReferenceComputeOps.ScaleBias(Tensor, Tensor, Tensor)

    Sign(Tensor)

    Sign

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

    Tensor with 1 if x > 0 -1 if < 0 and 0 if == 0 values

    Overrides
    ReferenceComputeOps.Sign(Tensor)

    Softmax(Tensor, int)

    Softmax

    Declaration
    public override Tensor Softmax(Tensor X, int axis)
    Parameters
    Type Name Description
    Tensor X
    int axis

    axis

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ReferenceComputeOps.Softmax(Tensor, int)

    Transpose(Tensor)

    Transpose matrix

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

    output Tensor

    Overrides
    ReferenceComputeOps.Transpose(Tensor)

    Transpose(Tensor, int[])

    Transpose according to permutations

    Declaration
    public override Tensor Transpose(Tensor X, int[] permutations)
    Parameters
    Type Name Description
    Tensor X
    int[] permutations

    new axis order

    Returns
    Type Description
    Tensor

    output Tensor

    Overrides
    ReferenceComputeOps.Transpose(Tensor, int[])

    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
    ReferenceComputeOps.Upsample2D(Tensor, int[], bool)

    Where(Tensor, Tensor, Tensor)

    Where

    Declaration
    public override Tensor Where(Tensor C, Tensor A, Tensor B)
    Parameters
    Type Name Description
    Tensor C
    Tensor A
    Tensor B
    Returns
    Type Description
    Tensor

    Tensor with values c ? a : b

    Overrides
    ReferenceComputeOps.Where(Tensor, Tensor, Tensor)

    Implements

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