[KMCompiler][TLE] Common IR triton35 - #974
Open
zhongsanming wants to merge 87 commits into
Open
Conversation
zhongsanming
marked this pull request as ready for review
August 13, 2026 06:00
zhongsanming
requested review from
Galaxy1458,
sunnycase and
zhzhcookie
as code owners
August 13, 2026 06:00
zhongsanming
marked this pull request as draft
August 13, 2026 07:24
zhongsanming
force-pushed
the
common-ir-poc-triton35
branch
from
August 13, 2026 07:25
73e293d to
e59ce83
Compare
kateyijian
reviewed
Aug 14, 2026
zhongsanming
force-pushed
the
common-ir-poc-triton35
branch
from
August 18, 2026 02:35
0f72332 to
fb9eb49
Compare
zhongsanming
marked this pull request as ready for review
August 18, 2026 02:42
zhongsanming
force-pushed
the
common-ir-poc-triton35
branch
from
August 18, 2026 09:42
1ce4010 to
1efb4e0
Compare
Co-authored-by: zhongsanming <sanming.zhong@compiler-dev.com>
* feat(test): add matmul_dsa_slice (#26) * feat(test): add matmul_dsa_slice * feat(test): use double buffer * docs(docs): add md file * [TileIRToHIVM] Lower scattered-pointer tile.copy via tt.load/tt.store (#35) A tile.copy whose source or destination is a scattered pointer (tensor<Nx!tt.ptr>) cannot be turned into a structured DMA in this pass, and previously produced an unresolved materialization cast that failed later in the pipeline. Rewrite such copies back into triton tt.load / tt.store so the access rejoins flir normal lowering path, where PtrAnalysis structures it downstream (reducing to a contiguous DMA when the indices are contiguous). Non-scattered copies (on-chip buffers, block pointers) keep their existing hivm.copy / memref.copy lowering unchanged. Co-authored-by: Your Name <you@example.com> --------- Co-authored-by: 103yiran <1039105206@qq.com> Co-authored-by: Shane <93116528+LeBlanc9@users.noreply.github.com> Co-authored-by: Your Name <you@example.com>
Co-authored-by: zhongsanming <sanming.zhong@compiler-dev.com>
对double buffer处理默认为编译器处理 算子处理会出现a loop-carried value of the outer task loop 同时EnableStrideAlign处理时会生成unrealized_conversion_cast 解决方案:算子不生成double buffer逻辑 将double buffer逻辑交给编译器处理 GraphSyncBlock问题: 如果算子控制workspace和CV 同步 需要使用_USE_CUSTOM_COMPILE_OPT,将bisheng编译器相关编译选项关闭
* test(test): add matmul subview * test(test): add no sync fa * test(test): add gpu pass fa * test(test): add fa_serial * test(test): add missing sync * fix(test): recover sub function * refactor(test): remove used variables * fix(third_party): add tile::MemorySpace::Global * fix(CMakeLists.txt): add no-dangling-assignment-gsl
* fix(test): fix L0C to UB error * fix(test): fix L0C to UB error * test(test): add fa 4func * test(test): add fa serial * test(test): add matmul_low_dim
* fix(test): fix cube use ub error * refactor(test): use tl.load
* fix(test): fix cube use ub error * refactor(test): use tl.load * fix(test): remove l1 alloc and copy, fix sync error
Co-authored-by: zhongsanming <zhongsanming@compiler-dev.com>
* fix(test): fix cube use ub error * refactor(test): use tl.load * fix(test): fix fa compile error * fix(test): fix rebase error
* update commit id of flir * remove docs * remove script folder * rename TileIR to CommonIR * revert unrelevant changes * revert changes unrelated to ascend * revert changes to backend testing tools * revert unrelated create_tanh ffi * revert compiler flags * remove HIVM dependency of tle * remove redundant header include directory * guard commonir c++ changes with __TLE_DSA__ * add commonir python comments and guard * change the license header for newly added source * run commonir success tests in ascend ci * move common ir unit test to it's own folder * add more python comment * remove envvar to replace ir * move common ir changes to tle/dsa * add more python comments * add comment to explain flir commit id changes --------- Co-authored-by: zhongsanming <zhongsanming@compiler-dev.com>
zhongsanming
force-pushed
the
common-ir-poc-triton35
branch
from
August 19, 2026 09:40
1efb4e0 to
105ef10
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
相关SIG flagos-ai/community#95
引入一种新的Common IR作为TTIR的补充,CommonIR的主要功能是对算子层暴露更低层次的抽象,让算子层能解锁更多优化的机会。这个PR在triton 3.5 分支上完成了昇腾设备的POC工作,打通了从tle.dsa到Common IR到linalg IR到npubin的全流程。
现有flaggems全量op的精度测试结果:飞书文档
如果飞书文档没有权限请先使用以下链接:
summary
环境配置:
精度测试环境:
FlagGems: flaggems主线分支
FlagTree:
triton_v3.5 分支提交: flagtree 3.5
commonir 提交: common ir特性分支