-
Notifications
You must be signed in to change notification settings - Fork 183
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
[Compiler]Define a generic set of pipelines #283
Comments
GraphDriver will manage the lowering pipeline; the infra is coming. We are also exploring an automatic tool for pipeline generation. |
I noticed that you are doing vectorization manually. midend/conversion. Why not add a pass pipeline that can do tiling and vectorization for all linalg ops? |
We use two strategies to perform vectorization.
|
In my opinion, while the method of auto-generating the pipeline via GraphDriver and the write tool is good, it's not the best way to do it, and while it's possible to do it any way, there's always a good and a bad way to do it.
There may not be many advantages I can think of, but I do think this is the best way to go. My purpose in bringing up this issue was never how to lower IR. but how to fine tune the management of the pipeline. |
This is indeed an ideal design, but the situation is more complicated. Do you have any specific proposals? Several issues need to be considered:
|
Well, all in all, this is just a preliminary idea at the moment, and I don't have a good solution for it, but I think we can keep this issue, and if there are any good ideas, you can leave a comment below, and I think there will be a day when we can solve this problem. |
Is your feature request related to a problem? Please describe.
The reason I don't think the current pipeline is elegant is because all the pipelines are separated. For example, for a model, we use mlir upstream and buddy passes in order to lower that model, and many times different pipelines are used for different models, and I don't think this is elegant enough. I envision that we can design our own pipeline, in which case we only need to use this one pipeline when lowering code and models.
Describe the solution you'd like
I don't have too many good ideas at the moment, I don't know what you think @zhanghb97 .
The text was updated successfully, but these errors were encountered: