Add SSA compiler pipeline and unified backends#164
Conversation
ad873c2 to
a8249a9
Compare
a8249a9 to
9a4ba7a
Compare
437f718 to
9a4ba7a
Compare
|
我看 |
|
我看新添加的测试都是用的 |
| _BACKEND_ALIASES = { | ||
| None: BackendName.TRITON, | ||
| "triton": BackendName.TRITON, | ||
| "tl": BackendName.TRITON, | ||
| "tilelang": BackendName.TILELANG, | ||
| "tile-lang": BackendName.TILELANG, | ||
| "tile_lang": BackendName.TILELANG, | ||
| "cuda": BackendName.CUDA, | ||
| "cu": BackendName.CUDA, | ||
| "tvm": BackendName.TVM, | ||
| "tvm-script": BackendName.TVM, | ||
| "tvmscript": BackendName.TVM, | ||
| } |
There was a problem hiding this comment.
暂时不应该引入 aliases,Python 其中一个哲学就是最好一件事就一个显式的方式去做,自由度大未必是好事,建议每个后端就一个名字,至少现在没有 alias 存在的必要应该。
There was a problem hiding this comment.
这些是不是不应该暴露给用户,因为这次重构我理解是编译部分的重构,用户使用的接口应该还是 make、jit、build 这些,我理解这里可能是想要暴露给 pass 开发者,不过我们可以先稳定一段时间,这段时间可以通过 ninetoothed.lowering 之类的 namespace 来调用,先不加到 __init__.py 了比较好。
There was a problem hiding this comment.
看上去这个文件里的更改是在尝试解决什么环境问题,而不是跟这个 PR 强相关的,不适宜放到一个 PR 里,如果真的有需要的话可以单独提个 PR。
There was a problem hiding this comment.
看上去这个文件里的更改是在尝试解决什么环境问题,而不是跟这个 PR 强相关的,不适宜放到一个 PR 里,如果真的有需要的话可以单独提个 PR。
There was a problem hiding this comment.
感觉是不是这部分里面各个后端的部分比较耦合。我原本的想象是,各个后端 pass 是可以注册进来的,这个文件里是一个通用的各种 pass,然后具体后端由 backends 里面的注册。但是现在看来,这个文件里面有大量的具体后端相关的内容,但是 backends 下面的对应文件却反而内容很少。
pytestoutput: