Skip to content

Commit

Permalink
[CodeGen] Support transform.oneflow.apply_patterns Op in MLIR (#10255)
Browse files Browse the repository at this point in the history
iree中通过 transform.iree.apply_patterns 这个op灵活的将预定义的一些pattern在transform
dialect的变换环节作用于指定的op。如,在transform.sequeue中做完tiling之后,做一些规范化的操作:
```mlir
  transform.structured.tile_to_forall_op %parallel_linalg_ops num_threads [1, 4, 32]
    ( mapping = [#gpu.thread<z>, #gpu.thread<y>, #gpu.thread<x>] )

  // Canonicalizations.
  transform.iree.apply_patterns %variant_op
    { canonicalization, tiling_canonicalization, licm, cse } : (!pdl.operation) -> ()
```


该pr中在oneflow::transform_dialect命名空间引入类似的op,并完成一个canonicalization的支持。具体实例见:https://github.com/Oneflow-Inc/oneflow/pull/10255/files#diff-a36168c1a81d37cf7f56ff09c02af22e9e3bcc39902ccdb8c7f21805d309e72fR1

除此之外,该pr中对transform dialect interpret等从llvm主仓库迁移过来的设施进行剪裁和重构。

---------

Co-authored-by: oneflow-ci-bot <ci-bot@oneflow.org>
  • Loading branch information
howin98 and oneflow-ci-bot authored May 12, 2023
1 parent 5762b80 commit 1af9915
Show file tree
Hide file tree
Showing 17 changed files with 340 additions and 1,282 deletions.
14 changes: 6 additions & 8 deletions oneflow/ir/include/Transform/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
set(LLVM_TARGET_DEFINITIONS TestTransformDialectExtension.td)
mlir_tablegen(TestTransformDialectExtension.h.inc -gen-op-decls)
mlir_tablegen(TestTransformDialectExtension.cpp.inc -gen-op-defs)
mlir_tablegen(TestTransformDialectExtensionTypes.h.inc -gen-typedef-decls
-typedefs-dialect=transform)
mlir_tablegen(TestTransformDialectExtensionTypes.cpp.inc -gen-typedef-defs
-typedefs-dialect=transform)
add_public_tablegen_target(MLIRTestTransformDialectExtensionIncGen)
set(LLVM_TARGET_DEFINITIONS TransformDialectExtension.td)
mlir_tablegen(TransformDialectExtension.h.inc -gen-op-decls)
mlir_tablegen(TransformDialectExtension.cpp.inc -gen-op-defs)
mlir_tablegen(TransformDialectExtensionTypes.h.inc -gen-typedef-decls -typedefs-dialect=transform)
mlir_tablegen(TransformDialectExtensionTypes.cpp.inc -gen-typedef-defs -typedefs-dialect=transform)
add_public_tablegen_target(MLIROneFlowTransformDialectExtensionIncGen)
56 changes: 0 additions & 56 deletions oneflow/ir/include/Transform/TestTransformDialectExtension.h

This file was deleted.

Loading

0 comments on commit 1af9915

Please sign in to comment.