Driver output enhancements
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 333
- Forks
- 150
- Avg merge
- 4d 19h
- Merged PRs (30d)
- 54
Description
This is really a follow on to
https://github.com/ROCmSoftwarePlatform/AMDMIGraphX/issues/844
which addressed the issue outside the driver output, and outside migraphx overall.
Useful as roctracer files may be, the driver output is still not very informative, in many cases, and migraphx still has no objective numbers that it can use to perform any kind of very credible pipeline autotuning in the future.
New proposal:
Besides printing the instruction time, per instruction, also print the number of invocations. This will enable the following heuristic calculation:
SOPI = Sync Overhead Per Invocation = (Total Instruction time - Total time)/(Total number of kernels or sync points)
Adjusted Time per Op = Time - (#calls)*SOPI
Adjusted Percentage per Op = Adjusted Time per Op / total time
The above is strictly true under very certain assumptions which may or may not be exactly true for any particular network. However, it is still a very useful calculation, which will be informative in many cases.
Contributor guide
No contributing guide indexed for this repository
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
The issue does not name files or tests. Start by locating the driver output implementation and the code that records per-instruction timing, then determine where invocation counts are available; done means the driver output reports both instruction time and invocation count for each instruction.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100