/llvm-project/mlir/test/Dialect/Linalg/ |
H A D | conv-interface-invalid.mlir | 32 // expected-error @+1 {{unexpected input index map for convolution}} 51 // expected-error @+1 {{unexpected input index map for convolution}} 106 // Convolution op illegal if a loop dimension is used to access 110 // expected-error @+1 {{unexpected loop dimension for convolution op}} 127 // Convolution op illegal if a loop dimension is used only in the output. 130 // expected-error @+1 {{unexpected loop dimension for convolution op}} 148 // Convolution op illegal if a loop dimension is used only in the filter. 151 // expected-error @+1 {{unexpected loop dimension for convolution op}} 169 // Convolution op illegal if a loop dimension is used only in the input. 172 // expected-error @+1 {{unexpected loop dimension for convolution op}} [all …]
|
H A D | vectorize-conv-masked-and-scalable.mlir | 50 /// Convolution 112 /// Convolution 174 /// Convolution
|
/llvm-project/mlir/include/mlir/Dialect/Linalg/IR/ |
H A D | LinalgInterfaces.h | 74 /// convolution dimension. 87 /// dimension candidates that form a convolution subcomputation within 88 /// `linalgOp`. The LHS is assumed to be the convolution input while the 105 /// This allows e.g. detecting that some convolution is embedded within 186 /// convolution. 199 /// Returns the error message corresponding to the convolution checking return
|
H A D | LinalgNamedStructuredOps.yaml | 2199 Performs 1-D convolution with no channels. 2266 Performs 2-D convolution with no channels. 2335 Performs 3-D convolution with no channels. 2407 Performs 1-D convolution. 2491 Performs 1-D convolution. 2579 Performs 2-D convolution. 2677 Performs 2-D convolution. 2775 Performs 2-D convolution with zero point offsets. 2912 Performs 2-D convolution with zero point offsets. 3049 Performs 2-D convolution wit [all...] |
/llvm-project/mlir/lib/Dialect/Linalg/Transforms/ |
H A D | TransposeConv2D.cpp | 1 //===- TransposeConv2D.cpp - Convolution transposition -------------------===// 28 /// Convolution converter that applies the following rewrite: 54 // convolution this will be known statically as [1, 2, 3, 0]. in transposeConv2DHelper() 100 // It is possible the convolution doesn't define any results and its in transposeConv2DHelper()
|
H A D | Vectorization.cpp | 55 /// Try to vectorize `convOp` as a convolution. 88 // convolution. in extractConvInputSlices() 99 // for channeled convolution. in extractConvInputSlices() 121 // non-chanelled convolution] @ [kw]. in extractConvFilterSlices() 137 // Extract res slice: {wSizeStep} @ [w] for non-channeled convolution. in extractConvResultSlices() 146 // convolution. in extractConvResultSlices() 164 // Write back res slice: {wSizeStep} @ [w] for non-channeled convolution. in insertConvResultSlices() 173 // convolution. This does not depend on kw. in insertConvResultSlices() 517 W, // Corresponds to non-channeled 1D convolution operation. in getCombinerOpKind() 1821 // Support dynamic shapes in 1D depthwise convolution, bu in vectorizeLinalgOpPrecondition() [all...] |
/llvm-project/mlir/docs/Tutorials/transform/ |
H A D | ChH.md | 12 ## Channeled Convolution 36 We will consider the 2D channeled convolution example extracted from Halide 54 // Declarations of "mathematical functions" for convolution and relu. 64 // Core convolution with the result initialized to the bias value. 85 // Convolution proper. While Linalg has named operations for 2D convolutions, 325 Practically, this corresponds to fusing the convolution initialization and 330 * first the main convolution update is fused into ReLU that uses it and has 332 * then the bias initialization is fused into the convolution+relu loop nest. 349 loops from the convolution operation. However, these are reduction loops and it 363 This transformation materializes the desired loops around the convolution [all …]
|
/llvm-project/mlir/python/mlir/dialects/linalg/opdsl/ops/ |
H A D | core_named_ops.py | 664 """Performs 1-D convolution with no channels. 680 """Performs 2-D convolution with no channels. 698 """Performs 3-D convolution with no channels. 718 """Performs 1-D convolution. 738 """Performs 1-D convolution. 762 """Performs 2-D convolution. 786 """Performs 2-D convolution. 812 """Performs 2-D convolution with zero point offsets. 842 """Performs 2-D convolution with zero point offsets. 872 """Performs 2-D convolution wit [all...] |
/llvm-project/mlir/include/mlir/Dialect/Linalg/TransformOps/ |
H A D | LinalgMatchOps.td | 184 "Checks if an operation has convolution-like dimensions and returns them"; 186 Checks if the structured payload op has convolution-like dimensions as 200 Additionally this will match stride and dilation information for the convolution: 201 - 'strides' are the static strides per convolution window dimension; 202 - 'dilations' are the static dilations per convolution window dimension. 210 Succeeds if the operation has the convolution-like dimensions, produces a
|
/llvm-project/mlir/lib/Analysis/Presburger/ |
H A D | Utils.cpp | 548 /// coefficients, by taking the convolution. 551 // The length of the convolution is the sum of the lengths in multiplyPolynomials() 562 std::vector<Fraction> convolution; in multiplyPolynomials() 563 convolution.reserve(len); in multiplyPolynomials() local 568 convolution.emplace_back(sum); in multiplyPolynomials() 570 return convolution; in multiplyPolynomials()
|
/llvm-project/llvm/test/Transforms/InstCombine/X86/ |
H A D | shufflemask-undef-inseltpoison.ll | 14 …%struct.Convolution = type { %struct.IColor4, %struct.ImagingColorScale, i16, i16, [0 x i32], ptr,… 21 …%struct.ImagingSubset = type { %struct.Convolution, %struct.Convolution, %struct.Convolution, %str…
|
H A D | shufflemask-undef.ll | 14 …%struct.Convolution = type { %struct.IColor4, %struct.ImagingColorScale, i16, i16, [0 x i32], ptr,… 21 …%struct.ImagingSubset = type { %struct.Convolution, %struct.Convolution, %struct.Convolution, %str…
|
/llvm-project/llvm/test/Transforms/LoopStrengthReduce/AArch64/ |
H A D | lsr-ldp.ll | 5 define void @convolution(ptr %src0, ptr %src1, i64 %stride_xm, i64 %stride_xp, ptr %dst, i32 %w) { 6 ; CHECK-LABEL: convolution:
|
/llvm-project/mlir/lib/Conversion/TosaToLinalg/ |
H A D | TosaToLinalgNamed.cpp | 223 // Creates a map to collapse the last dimension of the Depthwise convolution op in createDepthwiseConvCollapseMap() 312 // For 2D convolutions, we need to check if the target convolution op in matchAndRewrite() 319 // convolution operation. in matchAndRewrite() 341 // convolution operation. Conv2D has a 1-1 mapping in linalg so better to in matchAndRewrite() 363 // Extract the attributes for convolution. in matchAndRewrite() 367 // Create the convolution op. in matchAndRewrite() 485 // Extract the attributes for convolution. in matchAndRewrite() 489 // Create the convolution op. in matchAndRewrite()
|
/llvm-project/mlir/lib/Dialect/Tosa/Transforms/ |
H A D | TosaDecomposeTransposeConv.cpp | 49 // the x/y direction to make it a regular convolution. This is much simpler in createOpAndInfer() 119 // the x/y direction to make it a regular convolution. This is much simpler in matchAndRewrite() 230 // Perform the convolution using the zero bias. in matchAndRewrite() 259 // Factor striding out of the convolution result. in matchAndRewrite()
|
H A D | TosaDecomposeConv2D.cpp | 10 // (1) Convert a 1x1 Convolution to a Reshape->FC->Reshape
|
/llvm-project/mlir/include/mlir/Dialect/Linalg/Transforms/ |
H A D | Transforms.h | 1261 /// A convolution operation can be written as a matrix-matrix multiplication by 1285 /// and output (N, Ho, Wo, D) the convolution is the following matrix-matrix 1291 /// the final operation of the sequence that replaces the original convolution. 1304 /// reduction among the input channels so each convolution can be a 1404 /// Rewrites 2-D convolution ops with size-1 window dimensions into 1-D 1405 /// convolution ops. 1425 /// Rewrites 2-D depthwise convolution ops with size-1 (w, kw) or (h, kh) 1426 /// dimensions into 1-D depthwise convolution ops. 1706 /// Populates patterns to decompose high-D convolution ops into low-D ones. 1707 /// This is a step in progressive lowering for convolution op [all...] |
/llvm-project/mlir/lib/Dialect/Linalg/IR/ |
H A D | LinalgInterfaces.cpp | 571 /// Walk the indexing expressions for input of a convolution operation to verify in getDimExprOrMulExprDimPos() 583 // Stores the dual mapping between LHS and RHS of convolution exprs. in getDimExprOrMulExprDimPos() 698 /// Classifies dimensions in the `linalgOp` used by a convolution in inferConvolutionDimsImpl() 701 /// at least convolved dimension pair (output image + filter loop). Convolution in inferConvolutionDimsImpl() 794 /// dimension candidates that form a convolution subcomputation within in isConvolutionInterfaceImpl() 795 /// `linalgOp`. The LHS is assumed to be the convolution input while the in isConvolutionInterfaceImpl() 812 /// This allows e.g. detecting that some convolution is embedded within in isConvolutionInterfaceImpl() 975 assert(succeeded(res) && "unexpected failure to infer convolution dims"); 994 return "unexpected loop dimension for convolution op"; in createLoopRanges()
|
/llvm-project/mlir/test/Examples/transform/ChH/ |
H A D | full.mlir | 8 // Fixed-size tensor types to be used in convolution. 18 // Function containing the convolution. Note that its arguments and results are 47 // Convolution proper. While Linalg has named operations for 2D convolutions, 194 // The loop reordering requested for the convolution operation requires
|
/llvm-project/mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/ |
H A D | 1d-depthwise-conv.mlir | 32 // Run the convolution
|
/llvm-project/mlir/test/python/dialects/linalg/opdsl/ |
H A D | emit_convolution.py | 34 # Convolution indexing maps.
|
H A D | emit_misc.py | 11 # fill, matmul, convolution, or pooling tests. The features include:
|
/llvm-project/mlir/unittests/Analysis/Presburger/ |
H A D | UtilsTest.cpp | 79 TEST(UtilsTest, convolution) { in TEST() argument
|
/llvm-project/mlir/include/mlir/Dialect/Tosa/IR/ |
H A D | TosaUtilOps.td | 36 multiple quantized operations (mul, convolution, rescale, matmul, pooling).
|
/llvm-project/mlir/test/Integration/Dialect/SparseTensor/CPU/ |
H A D | sparse_filter_conv2d.mlir | 36 // An example of a 2D convolution with a sparse filter.
|