iree-org / iree-org/iree

Use a heuristic for waves per EU

Open
#20,176 0 comments 0 reactions 1 assignee Claimed by @MaheshRavishankar View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.