Way to specify GWS as multiple of INT32 core count
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 13.6k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
When working with multiple GPUs of the same architecture but different size, it can be handy to specify e.g. GWS=x12. That way, e.g. GTX 1080 would get GWS=30720, newer GTX 1060 would get GWS=15360, older GTX 1060 would get GWS=13824. The same approach would also work e.g. across different AMD GCN GPUs.
And that all without needing to keep the GPUs' individual properties in mind all the time, yet without leaving this to chance each time either. It's also usable with --fork. Kind of middle ground between full manual specification per-GPU and auto-tuning.
This is also handy when consulting others about optimal and consistent use of GPUs.
To make this feature easier to use, we'd also add reporting of the GWS in this form, e.g.:
LWS=128 GWS=40960 (cores x16)
To ease copy-paste of either form, we could even do:
GWS=x16 LWS=128 GWS=40960
(yes, with LWS in the middle), but that's probably confusing?
In either output format, when the GWS is somehow not a multiple of INT32 core count, perhaps suppress that part of the reporting?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing GWS parsing, GPU core-count handling, and workload-size reporting paths. Define how an xN value should be calculated across GPU types, how it interacts with --fork, and when reporting should suppress the multiplier; done means consistent parsing and output for the examples in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100