Home
last modified time | relevance | path

Searched full:elementwise (Results 1 – 25 of 120) sorted by relevance

12345

/llvm-project/mlir/test/Examples/transform/Ch4/
H A Dsequence.mlir23 // Elementwise addition.
24 // expected-remark @below {{elementwise binary}}
29 // Elementwise max with 0 (ReLU).
31 // expected-remark @below {{elementwise binary}}
99 %elemwise_binary, "elementwise binary" : !transform.any_op
115 // The last operation must be an elementwise binary.
125 // The defining operation must itself be an elementwise binary.
134 // We will yield the handles to the matmul and the two elementwise
H A Dmultiple.mlir13 // Elementwise addition.
19 // Elementwise max with 0 (ReLU).
38 // Elementwise addition.
44 // Elementwise max with 0 (ReLU).
99 // The last operation must be an elementwise binary.
113 // The defining operation must itself be an elementwise binary.
125 // We will yield the handles to the matmul and the two elementwise
/llvm-project/mlir/include/mlir/Dialect/Tosa/IR/
H A DTosaOps.td409 let summary = "Computes elementwise sigmoid of input.";
432 let summary = "Computes elementwise hyperbolic tangent of input";
476 // Operator Class: Elementwise unary/binary/ternary operators.
477 // Operator Subclass: Elementwise binary ops.
488 let summary = "Elementwise addition operator";
491 Elementwise addition of input1 and input2. Axis of size 1 will be broadcast,
497 // Elementwise addition.
500 // Elementwise addition with broadcasting.
524 let summary = "Elementwise Arithmetic Right Shift";
527 Elementwise arithmeti
[all...]
/llvm-project/mlir/docs/Tutorials/transform/
H A DCh4.md44 // Elementwise addition.
49 // Elementwise max with 0 (ReLU).
114 %elemwise_binary, "elementwise binary" : !transform.any_op
157 is used by an elementwise operation, which in turn feeds another elementwise
171 // The last operation must be an elementwise binary.
181 // The defining operation must itself be an elementwise binary.
190 // We will yield the handles to the matmul and the two elementwise
227 operand of elementwise operations is produced by another operation. The same
390 operands of the “max” elementwise operation in our example can be produced by
391 the previous elementwise operation. The previous operation will still require
[all …]
H A DCh1.md11 …forming a matrix multiplication, followed by an (elementwise) matrix addition and taking an elemen…
21 // Elementwise addition.
26 // Elementwise max with 0 (ReLU).
54 …orms`. In our case, we are interested in the matrix multiplication and elementwise operations that…
112 Note that `%arg2` is associated with both elementwise payload operations. Any handle is associated …
259 …tiled the matrix multiplication, but we also want to tile and fuse the elementwise operations. The…
267 // Since the %arg2 handle is associated with both elementwise operations,
269 // elementwise operation.
312 // Since the %arg2 handle is associated with both elementwise operations,
314 // elementwise operation.
[all …]
H A DCh0.md7 ## Uniform Elementwise Extension
22 …. In MLIR, however, it is possible to transparently extend the uniform elementwise application to …
29 …R’s arithmetic operations on vectors preserve the structure of uniform elementwise application. Th…
84 Similarly to uniform elementwise extension, MLIR vector contractions are not limited to 1D cases. I…
243 …iplies each element of the resulting matrix with itself. This trailing elementwise operation has a…
284 // The elementwise operation that we tiled.
/llvm-project/mlir/include/mlir/Dialect/Math/IR/
H A DMathBase.td17 or tensor type. On vector and tensor type operations apply elementwise unless
25 // Vector elementwise absolute value.
28 // Tensor elementwise absolute value.
/llvm-project/mlir/lib/Conversion/GPUToSPIRV/
H A DWmmaOpsToSPIRV.cpp38 /// Creates a SPIR-V op to replace the given GPU subgroup mma elementwise op
39 /// when the elementwise op directly supports with cooperative matrix type.
42 /// See SPV_KHR_cooperative_matrix for supported elementwise ops.
115 /// Converts elementwise ops to SPIR-V cooperative matrix elementwise ops for
139 /// Converts elementwise ops to SPIR-V cooperative matrix elementwise ops for
/llvm-project/mlir/test/Examples/transform/Ch1/
H A Dinvalidation-1.mlir41 // Elementwise addition.
46 // Elementwise max with 0 (ReLU).
90 // Elementwise addition.
95 // Elementwise max with 0 (ReLU).
H A Dinvalidation-2.mlir23 // Elementwise addition.
30 // Elementwise max with 0 (ReLU).
51 // Since the %arg2 handle is associated with both elementwise operations,
53 // elementwise operation.
H A Dsequence.mlir22 // Elementwise addition.
27 // Elementwise max with 0 (ReLU).
67 // Since the %arg2 handle is associated with both elementwise operations,
69 // elementwise operation.
/llvm-project/mlir/test/Examples/transform/Ch3/
H A Dsequence.mlir22 // Elementwise addition.
27 // Elementwise max with 0 (ReLU).
63 // Since the %arg2 handle is associated with both elementwise operations,
65 // elementwise operation.
/llvm-project/mlir/test/Examples/transform/Ch2/
H A Dsequence.mlir22 // Elementwise addition.
27 // Elementwise max with 0 (ReLU).
63 // Since the %arg2 handle is associated with both elementwise operations,
65 // elementwise operation.
/llvm-project/polly/lib/External/isl/
H A Disl_multi_min_max_templ.c10 /* Return the (elementwise) minimum of "multi1" and "multi2".
18 /* Return the (elementwise) maximum of "multi1" and "multi2".
/llvm-project/mlir/include/mlir/IR/
H A DOpBase.td104 // Op is elementwise on tensor/vector operands and results.
105 def Elementwise : NativeOpTrait<"Elementwise">;
106 // Elementwise op can be applied to scalars instead tensor/vector operands.
107 def Scalarizable : NativeOpTrait<"Scalarizable", [Elementwise]>;
108 // Elementwise op can be applied to all-vector operands.
109 def Vectorizable : NativeOpTrait<"Vectorizable", [Elementwise]>;
110 // Elementwise op can be applied to all-tensor operands.
111 def Tensorizable : NativeOpTrait<"Tensorizable", [Elementwise]>;
113 // Group together `Elementwise`, `Scalarizabl
[all...]
H A DOpDefinition.h1370 /// NOTE: Not all ops that are "elementwise" in some abstract sense satisfy this
1373 /// An `Elementwise` op must satisfy the following properties:
1382 /// 4. The operation must be elementwise on its vector/tensor operands and
1388 /// which the operation is elementwise.
1399 /// an `Elementwise` op.
1401 struct Elementwise : public TraitBase<ConcreteType, Elementwise> {
1407 /// This trait tags `Elementwise` operatons that can be systematically
1413 /// Allow to define the vector/tensor semantics of elementwise operations based
1433 ConcreteType::template hasTrait<Elementwise>(),
[all...]
/llvm-project/mlir/python/mlir/dialects/linalg/opdsl/ops/
H A Dcore_named_ops.py15 """Copies the tensor elementwise.
31 """Applies the unary function fun elementwise.
44 """Applies exp(x) elementwise.
56 """Applies log(x) elementwise.
68 """Applies abs(x) elementwise.
80 """Applies ceil(x) elementwise.
92 """Applies floor(x) elementwise.
104 """Applies negf(x) elementwise.
116 """Applies reciprocal(x) elementwise.
128 """Applies round(x) elementwise
[all...]
/llvm-project/mlir/include/mlir/Dialect/Linalg/
H A DPasses.td14 def ConvertElementwiseToLinalgPass : Pass<"convert-elementwise-to-linalg", ""> {
73 def LinalgElementwiseOpFusionPass : Pass<"linalg-fuse-elementwise-ops"> {
74 let summary = "Fuse elementwise operations on tensors";
/llvm-project/mlir/test/lib/Dialect/Linalg/
H A DTestLinalgElementwiseFusion.cpp1 //===- TestLinalgElementwiseFusion.cpp - Test Linalg elementwise fusion ---===//
9 // This file implements a pass for testing fusion of elementwise operations in
99 return "test-linalg-elementwise-fusion-patterns"; in getArgument()
/llvm-project/mlir/test/Dialect/Linalg/
H A Dtile-and-fuse-tensors.mlir59 …tatic(%input: tensor<1x225x225x3xf32>, %filter: tensor<3x3x3x32xf32>, %elementwise: tensor<1x112x1…
80 …%1 = tensor.extract_slice %elementwise[0, %iv0, %iv1, %iv2][1, 8, 16, 4][1, 1, 1, 1] : tensor<1x11…
135 …rs_dynamic(%input: tensor<?x?x?x?xf32>, %filter: tensor<?x?x?x?xf32>, %elementwise: tensor<?x?x?x?…
145 %n = tensor.dim %elementwise, %c0 : tensor<?x?x?x?xf32>
146 %oh = tensor.dim %elementwise, %c1 : tensor<?x?x?x?xf32>
147 %ow = tensor.dim %elementwise, %c2 : tensor<?x?x?x?xf32>
148 %oc = tensor.dim %elementwise, %c3 : tensor<?x?x?x?xf32>
167 …%1 = tensor.extract_slice %elementwise[%iv0, %iv1, %iv2, %iv3][%n_size, %oh_size, %ow_size, %oc_si…
/llvm-project/mlir/lib/Dialect/Linalg/Transforms/
H A DElementwiseToLinalg.cpp1 //===- ElementwiseToLinalg.cpp - conversion of elementwise to linalg ------===//
83 op, "requires elementwise op on ranked tensors"); in matchAndRewrite()
/llvm-project/mlir/lib/Dialect/Vector/Transforms/
H A DVectorTransforms.cpp470 /// Reorders elementwise(transpose) to transpose(elementwise). This makes
472 /// CombineContractABTranspose pattern when elementwise ops are between these
485 : public OpTraitRewritePattern<OpTrait::Elementwise> {
510 // This is an elementwise op, so all transposed operands should have the in matchAndRewrite()
964 /// Reorders elementwise(broadcast/splat) to broadcast(elementwise). Ex:
979 : public OpTraitRewritePattern<OpTrait::Elementwise> { in matchAndRewrite()
1032 // Create the "elementwise" Op in matchAndRewrite()
1037 // Replace the original Op with the elementwise O
[all...]
/llvm-project/mlir/lib/Dialect/Linalg/IR/
H A DLinalgInterfaces.cpp182 // Elementwise Single Unary/Binary-OpInterface implementation in getSourceSkipUnary()
196 // Init should not be referenced for elementwise operations. in isContractionBody()
200 // A linalg.generic could be series of elementwise ops e.g. exp(neg(x)) such in isContractionBody()
202 // the body, where the first is the elementwise single op and the second a in isContractionBody()
234 // Check both inputs are used (elementwise). in isContractionBody()
304 errs << "expected elementwise op to be binary";
309 errs << "expected reduction/elementwise op kind not satisfied"; in inferIteratorsFromOutMap()
322 errs << "expected elementwise op to apply to block arguments (modulo unary "
550 /// In the future, we may wish to allow more input arguments and elementwise and in visitAffineBinaryOpExpr()
/llvm-project/mlir/lib/Dialect/Arith/Transforms/
H A DBufferizableOpInterfaceImpl.cpp138 // Elementwise conditions are not supported yet. To bufferize such an op, in bufferize()
139 // it could be lowered to an elementwise "linalg.generic" with a new in bufferize()
/llvm-project/mlir/test/Integration/Dialect/Linalg/CPU/
H A Dtest-elementwise.mlir1 // RUN: mlir-opt %s -convert-elementwise-to-linalg \

12345