Vf costmodel unroll support - #975
Conversation
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
5c84cd6 to
e04cd55
Compare
Review 结论目前不建议合并。这个 PR 的功能方向是合理的,但还存在几类需要先解决的问题:默认构建/CI、submodule 依赖治理、安装/export 链路、MLIR rewrite 契约,以及一些静默失效路径。 我本地没有完整构建该 PR;以下结论来自 PR diff、现有 lit/CMake 配置以及 pinned VfSimulator commit 的静态审查。另外当前 阻塞问题1. 新增 lit 测试在默认构建下必失败涉及文件:
新增测试无条件传入 目前 lit 配置没有对应 feature,测试也没有 建议:
2. 新增 submodule 指向个人 fork 的 feature 分支涉及文件:
当前 URL 是 建议:
3.
|
c116bec to
de99174
Compare
| llvm::cl::init(llvm::cl::BOU_UNSET)); | ||
|
|
||
| static llvm::cl::opt<bool> enableUnrollAfterLoopFusion( | ||
| "enable-unroll-after-loop-fusion", |
There was a problem hiding this comment.
已进行修改,将enable-unroll-after-loop-fusion作为通用独立选项,以支持后续ptodsl中的unroll attr
|
|
||
| if(PTO_ENABLE_VFSIM_COSTMODEL) | ||
| message(WARNING | ||
| "PTO_ENABLE_VFSIM_COSTMODEL=ON is currently supported only for " |
There was a problem hiding this comment.
后续cost model需要跟随安装包一起导出,这里记一个遗留事项
There was a problem hiding this comment.
增加了TODO注释:
TODO: Export/install embedded VfSimulator targets when the costmodel
integration becomes a supported install-tree feature.
| llvm::StringRef consumedAttr = | ||
| src == "col" ? kColUnrollFactorAttr : kRowUnrollFactorAttr; | ||
| region->setAttr(consumedAttr, | ||
| Builder(region->getContext()).getI64IntegerAttr(/*value=*/1)); |
There was a problem hiding this comment.
先setAttr再unroll,如果unroll失败呢?应该把setAttr放到unroll成功后
There was a problem hiding this comment.
已调整二者位置,在unroll后再复位attr
de99174 to
d9b2ec0
Compare
A5 板测失败
失败用例
|
A3 板测失败
失败用例
|
A3 板测失败详情:PR #975syncall_binding
comm_p2p_binding_variants
comm_p2p
|
利用VfSim costmodel预测ptoas elementwise算子unroll展开后的时间,在IR上打上unroll attrs,供vpto后端消费