Use a heuristic for waves per EU
Open
- Dominant language
- C++
- Stars
- 3.9k
- Forks
- 1k
- Avg merge
- 4d 16h
- Merged PRs (30d)
- 47
Description
We can get a decent approximation for what waves_per_eu should be by looking at the size of the workgroup, the total number of dispatched lanes (if we know it), and how much LDS is used by the dispatch.
For example, we could try and copy off of [rocMLIR's code](https://github.com/ROCm/rocMLIR/blob/3403d503e2f4ce09a44e0a301af1afd8046d40f3/mlir/lib/Conversion/RockToGPU/RockToGPU.cpp#L410-L451)
This might be something we want to add into the tuner? Or in the codegen as a means of selecting when the tuner is silent.
Also, note that waves-per-eu = 1 and not setting waves-per-eu may not be equivalent, prefer not setting it.
Contributor guide
Assessment
This issue has not been assessed yet.