-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replicate MLP examples in Linalg Named Ops #933
Comments
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 3, 2024
Adds support to generate linalg named Ops for matmul, bias, relu. This feature can be controlled using a new flag '--output'. For example: To generate generic linalg Ops use '--output=generic" To generate named linalg Ops use '--output=named" The default behaviour is to generate linalg generic Ops.
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 5, 2024
Adds support to generate linalg named Ops for matmul, bias, relu. This feature can be controlled using a new flag '--output'. For example: To generate generic linalg Ops use '--output=generic" To generate named linalg Ops use '--output=named" The default behaviour is to generate linalg generic Ops. Adds named op test which pass out of the box.
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 5, 2024
Adds support to generate linalg named Ops for matmul, bias, relu. This feature can be controlled using a new flag '--output'. For example: To generate generic linalg Ops use '--output=generic" To generate named linalg Ops use '--output=named" The default behaviour is to generate linalg generic Ops. Adds named op test which pass out of the box.
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 8, 2024
Adds support to generate linalg named Ops for matmul, bias, relu. This feature can be controlled using a new flag '--output'. For example: To generate generic linalg Ops use '--output=generic" To generate named linalg Ops use '--output=named" The default behaviour is to generate linalg generic Ops. Adds named op test which pass out of the box.
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 9, 2024
Adds support to generate linalg named Ops for matmul, bias, relu. This feature can be controlled using a new flag '--output'. For example: To generate generic linalg Ops use '--output=generic" To generate named linalg Ops use '--output=named" The default behaviour is to generate linalg generic Ops. Adds named op test which pass out of the box.
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 12, 2024
Adds support to generate linalg named Ops for matmul, bias, relu. This feature can be controlled using a new flag '--output'. For example: To generate generic linalg Ops use '--output=generic" To generate named linalg Ops use '--output=named" The default behaviour is to generate linalg generic Ops. Adds named op test which pass out of the box.
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 17, 2024
Adds support to generate linalg named Ops for matmul, bias, relu. This feature can be controlled using a new flag '--output'. For example: To generate generic linalg Ops use '--output=generic" To generate named linalg Ops use '--output=named" The default behaviour is to generate linalg generic Ops. Adds named op test which pass out of the box. -Adds another option "--keep-generic-matmul" to help generate generic matmul when linalg named ops output was chosen. -Refactors the code.
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 18, 2024
Adds support to generate linalg named Ops for matmul, bias, relu. This feature can be controlled using a new flag '--output'. For example: To generate generic linalg Ops use '--output=generic" To generate named linalg Ops use '--output=named" The default behaviour is to generate linalg generic Ops. Adds named op test which pass out of the box. -Adds another option "--keep-generic-matmul" to help generate generic matmul when linalg named ops output was chosen. -Refactors the code.
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 18, 2024
Adds support to generate linalg named Ops for matmul, bias, relu. This feature can be controlled using a new flag '--output'. For example: To generate generic linalg Ops use '--output=generic" To generate named linalg Ops use '--output=named" The default behaviour is to generate linalg generic Ops. Adds named op test which pass out of the box. -Adds another option "--keep-generic-matmul" to help generate generic matmul when linalg named ops output was chosen. -Refactors the code.
shahidact
added a commit
that referenced
this issue
Jul 19, 2024
Mlir-Gen tool currently generates linalg generic ops for basic MLP operators. We want to extend it to also generate linalg named ops whenever required based on command line option. This is the 1st PR to a larger goal to ensure we have enough test coverage which passes through TPP-OPT pipeline.
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 22, 2024
Linalg named ops supports destination style argument passing which makes hasOneUse() API imprecise, which prevents tiling and fusion. This patch extends this logic to handle destination style argument passing. *Adds an option to keep-named-op which prevent generalization of named ops.
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 25, 2024
Linalg named ops supports destination style argument passing which makes hasOneUse() API imprecise, which prevents tiling and fusion. This patch extends this logic to handle destination style argument passing.
shahidact
added a commit
to shahidact/tpp-mlir
that referenced
this issue
Jul 30, 2024
Linalg named ops supports destination style argument passing which makes hasOneUse() API imprecise, which prevents tiling and fusion. This patch extends this logic to handle destination style argument passing.
shahidact
added a commit
that referenced
this issue
Jul 31, 2024
Linalg named ops supports destination style argument passing which makes hasOneUse() API imprecise, which prevents tiling and fusion. This patch extends this logic to handle destination style argument passing. *Adds an option to keep-named-op which prevent generalization of named ops.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Replicate tests and benchmarks written in Linalg generic to use named ops, for example, by changing
mlir-gen
to output named ops instead of generics.We should compare the output between
mlir-gen -output=generic
withmlir-gen -output=named | mlir-opt -linalg-generalize
and see that they're the same.The output should pass through
tpp-opt
, tile and fuse in the same way. This may not work out of the box, so may need to be implemented. This may involve changing the upstream packing, tiling, fusing passes to cope with named ops.The end result is a complete replacement of all benchmarks to named ops, with the same performance as current generic ones, and additional tests matching IR generation between the natively generic forms and the generalized via upstream pass.
Most of the logic should go upstream, other than the "usage wrappers" like our current framework. This work will be a mix of upstream and downstream PRs, LLVM bumps and fix-ups, until converging to a fixed point.
The text was updated successfully, but these errors were encountered: