Text file src/simd/archsimd/_gen/simdgen/ops/MLOps/categories.yaml

     1  !sum
     2  - go: DotProductPairs
     3    commutative: false
     4    documentation: !string |-
     5      // NAME multiplies the elements and add the pairs together,
     6      // yielding a vector of half as many elements with twice the input element size.
     7  # TODO: maybe simplify this name within the receiver-type + method-naming scheme we use.
     8  - go: DotProductPairsSaturated
     9    commutative: false
    10    documentation: !string |-
    11      // NAME multiplies the elements and add the pairs together with saturation,
    12      // yielding a vector of half as many elements with twice the input element size.
    13  # - go: DotProductBroadcast
    14  #   commutative: true
    15  # #   documentation: !string |-
    16  #     // NAME multiplies all elements and broadcasts the sum.
    17  - go: AddDotProductPairs
    18    commutative: false
    19    noTypes: "true"
    20    noGenericOps: "true"
    21    documentation: !string |-
    22      // NAME performs dot products on pairs of elements of y and z and then adds x.
    23  - go: MulAdd
    24    commutative: false
    25  - go: MulAddEvenSubOdd
    26    commutative: false
    27    documentation: !string |-
    28      // NAME performs a fused (x * y) - z for odd-indexed elements, and (x * y) + z for even-indexed elements.
    29  - go: MulAddOddSubEven
    30    commutative: false
    31    documentation: !string |-
    32      // NAME performs a fused (x * y) + z for odd-indexed elements, and (x * y) - z for even-indexed elements.
    33  - go: SumOf8AbsDiff
    34    commutative: false
    35    documentation: !string |-
    36      // NAME computes the absolute difference of x and y and sums each group of 8 results.
    37      // This method could be seen as the norm of the L1 distance of each 8-element group of the two input vectors.
    38  

View as plain text