[BACKEND][TLE] add sunrise backend with tle#726
Conversation
|
lixingda seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
| return false; | ||
| if (!forOp->isAncestor(owner)) | ||
| return false; | ||
| return domInfo.properlyDominates(store.getOperation(), owner); | ||
| return domInfo.properlyDominates(storeOp, owner); |
There was a problem hiding this comment.
structured bindings is not available in c++17 (until c++20),but the CMAKE_CXX_STANDARD set to 17
There was a problem hiding this comment.
Thanks for pointing this out. I may be missing something, but I do not see any structured bindings in this snippet. Also, structured bindings are a C++17 feature, so they should be allowed with CMAKE_CXX_STANDARD set to 17.
Could you point me to the exact expression you are concerned about? If there is any C++20-only construct here, I am happy to adjust it.
There was a problem hiding this comment.
for (auto &[dst, store] : storeByDst) { if (!store || duplicateStores.contains(dst)) continue; if (!isSafeToPromote(store, forOp, domInfo)) continue; OpBuilder builder(store); auto stage = builder.create<ttg::LocalAllocOp>( store.getLoc(), store.getDst().getType(), store.getSrc()); Operation *storeOp = store.getOperation(); dst.replaceUsesWithIf(stage.getResult(), [&](OpOperand &use) { Operation *owner = use.getOwner(); if (owner == storeOp) return false; if (!forOp->isAncestor(owner)) return false; return domInfo.properlyDominates(storeOp, owner); });
with store in the lambda function,there reports an error as follows
TlePromoteLocalStoreStaging.cpp:171:24: error: captured structured bindings are a C++20 extension [-Werror,-Wc++20-extensions]
171 | if (owner == store.getOperation())
| ^
TlePromoteLocalStoreStaging.cpp:159:24: note: 'store' declared here
159 | for (auto &[dst, store] : storeByDst) {
| ^
|
Thanks for the contribution and for adding TLE support for the sunrise backend. Could you please update the PR description or add supporting documentation to explain which TLE primitives are implemented/supported by this work, and include performance benefit data so reviewers can evaluate whether the implementation scope matches the expected value? It would be helpful to include:
|
|
|
||
| def get_packages(): | ||
| yield from find_packages(where="python", include=["triton", "triton.*"]) | ||
| yield from find_namespace_packages(where="python", include=["triton", "triton.*"]) |
There was a problem hiding this comment.
Which dir without __init__.py does sunrise backend need?
df25a4a to
67517a8
Compare
No description provided.