/llvm-project/mlir/test/Dialect/Linalg/ |
H A D | block-pack-matmul-layout.mlir | 4 // RUN: -canonicalize | FileCheck %s --check-prefix=MMT4D 37 // MMT4D-DAG: #[[$MAP:.+]] = affine_map<(d0, d1, d2, d3, d4, d5) -> (d0, d2, d3, d5)> 38 // MMT4D-DAG: #[[$MAP1:.+]] = affine_map<(d0, d1, d2, d3, d4, d5) -> (d1, d2, d4, d5)> 39 // MMT4D-DAG: #[[$MAP2:.+]] = affine_map<(d0, d1, d2, d3, d4, d5) -> (d0, d1, d3, d4)> 40 // MMT4D-LABEL: func @block_matmul 41 // MMT4D-COUNT-3: tensor.pack 42 // MMT4D: linalg.generic 43 // MMT4D-SAME: indexing_maps = [#[[$MAP]], #[[$MAP1]], #[[$MAP2]]] 44 // MMT4D-SAME: iterator_types = ["parallel", "parallel", "reduction", "parallel", "parallel", "red… 45 // MMT4D-COUNT-1: tensor.unpack [all …]
|
H A D | transform-op-mmt4d-to-fma.mlir | 4 %res = linalg.mmt4d 19 …%mmt4d = transform.structured.match ops{["linalg.mmt4d"]} in %func : (!transform.op<"func.func">) … 23 …%tiled_linalg_op_p, %loops:4 = transform.structured.tile_using_for %mmt4d tile_sizes [1, 1, 0, 8, … 34 // Generates a 6-dim vector.contract with the dim matching the original MMT4D Op
|
H A D | vectorization.mlir | 813 func.func @mmt4d(%A: memref<16x16x8x1xf32>, %B: memref<16x16x8x1xf32>, %C_in: memref<16x16x8x8xf32>) { 814 linalg.mmt4d ins(%A, %B: memref<16x16x8x1xf32>, memref<16x16x8x1xf32>) 819 // CHECK-LABEL: func.func @mmt4d( 830 %mmt4d = transform.structured.match ops{["linalg.mmt4d"]} in %arg1 : (!transform.any_op) -> !transform.any_op 831 transform.structured.vectorize %mmt4d : !transform.any_op
|
H A D | invalid.mlir | 1113 %res = linalg.mmt4d 1126 %res = linalg.mmt4d
|
H A D | named-ops.mlir | 1632 // CHECK-LABEL: func @mmt4d 1633 func.func @mmt4d(%A: tensor<10x32x8x1xf32>, %B: tensor<80x32x4x1xf32>, %C: tensor<10x80x8x4xf32>) -> tensor<10x80x8x4xf32> { 1634 // CHECK: %{{.+}} = linalg.mmt4d 1637 %0 = linalg.mmt4d ins(%A, %B : tensor<10x32x8x1xf32>, tensor<80x32x4x1xf32>) outs(%C: tensor<10x80x8x4xf32>) -> tensor<10x80x8x4xf32>
|
/llvm-project/mlir/test/Integration/Dialect/Linalg/CPU/ |
H A D | pack-unpack-mmt4d.mlir | 12 /// End-to-end test for computing matrix-multiplication using linalg.mmt4d. In 13 /// particular, demonstrates how the following MLIR sequence (implemented in @mmt4d): 18 /// out_pack = linalg.mmt4d(A_pack, B_pack, C_pack) 45 // Matrix multiplication via linalg.mmt4d 54 %C_mmt4d = func.call @mmt4d(%A, %B, %C) : (tensor<7x16xi32>, tensor<16x13xi32>, tensor<7x13xi32>) -> tensor<7x13xi32> 81 func.func private @mmt4d(%A: tensor<7x16xi32>, %B: tensor<16x13xi32>, %C: tensor<7x13xi32>) -> tensor<7x13xi32> { 93 // MMT4D 94 %mmt4d = linalg.mmt4d ins(%A_pack, %B_pack : tensor<2x16x8x1xi32>, tensor<2x16x8x1xi32>) outs(%C_pack : tensor<2x2x8x8xi32>) -> tensor<2x2x8x8xi32> 98 %C_out_unpack = tensor.unpack %mmt4d outer_dims_per [all...] |
H A D | mmt4d.mlir | 4 // DEFINE: %{entry_point} = mmt4d 12 func.func @mmt4d() { 39 %C_out = linalg.mmt4d ins(%A, %B: tensor<2x2x3x1xi32>, tensor<2x2x3x1xi32>) outs(%C_in: tensor<2x2x3x3xi32>) -> tensor<2x2x3x3xi32> 68 %mmt4d = transform.collect_matching @match_mmt4d in %module : (!transform.any_op) -> (!transform.any_op) 69 %func = transform.get_parent_op %mmt4d {isolated_from_above} : (!transform.any_op) -> !transform.op<"func.func"> 73 %tiled_linalg_op_p, %loops:4 = transform.structured.tile_using_for %mmt4d tile_sizes [1, 1, 0, 3, 3, 0] 84 // Generates a 6-dim vector.contract with the dim matching the original MMT4D Op 116 transform.match.operation_name %entry ["linalg.mmt4d"] : !transform.any_op
|
/llvm-project/mlir/utils/tree-sitter-mlir/dialect/ |
H A D | linalg.js | 32 'linalg.mmt4d', 'linalg.pooling_nchw_max',
|
/llvm-project/mlir/utils/tree-sitter-mlir/queries/ |
H A D | highlights.scm | 250 "linalg.mmt4d"
|
/llvm-project/mlir/include/mlir/Dialect/Linalg/ |
H A D | Passes.td | 168 %res_packed = linalg.mmt4d ins(%A_packed, %B_packed) outs(%C_packed)
|
/llvm-project/mlir/python/mlir/dialects/linalg/opdsl/ops/ |
H A D | core_named_ops.py | 444 def mmt4d( 477 non-batch dimensions are the same as linalg.mmt4d vs. linalg.matmul. See the 478 description of lingalg.mmt4d. 467 def mmt4d( global() function
|
/llvm-project/mlir/include/mlir/Dialect/Linalg/IR/ |
H A D | LinalgNamedStructuredOps.yaml | 1319 name: mmt4d 1406 non-batch dimensions are the same as linalg.mmt4d vs. linalg.matmul. See the 1407 description of lingalg.mmt4d. 1459 name: mmt4d global() play
|