-
Notifications
You must be signed in to change notification settings - Fork 659
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
[Codegen][Tuner] default tuning spec available per-SKU #19748
Conversation
72347e3
to
c1b7532
Compare
Signed-off-by: Bangtian Liu <[email protected]>
c1b7532
to
fc8c3e1
Compare
Signed-off-by: Bangtian Liu <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should split this into three (or more) PRs:
- Add a known target for mi308
- Implement support for per-sku tuning specs
- Populate tuning specs for mi308
@@ -34,6 +34,8 @@ | |||
#define DBGS() (llvm::dbgs() << "[" DEBUG_TYPE "]: ") | |||
#define LDBG(X) LLVM_DEBUG(DBGS() << X << "\n") | |||
|
|||
extern llvm::cl::opt<std::string> clTestTarget; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general, we should no reference global variables like this. This makes the code hard to maintain and LLVM converged on external storage for flags meant to be external, and having these flag storage variables declared in headers.
Here specifically, we should not rely on test flags in this code. All the information we use must come from the gpu target attr. If the information we need there is not available, we should work on adding it.
// Entry point | ||
//===----------------------------------------------------------------------===// | ||
|
||
transform.named_sequence @__kernel_config(%variant_op: !transform.any_op {transform.consumed}) -> !transform.any_op |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can stage this PR such that we first commit a simple tuning spec to make sure everything works, and then separately work on adding configs we care about.
These configs should be tested to make sure they apply on the intended code, and we should quantify the improvements making sure we don't populate these specs with configs that give us only marginal improvements. This needs to be backed by data.
This already landed as a few smaller PRs |
This PR addresses the tasks outlined in the following issues: #19720 and #19721.