GPUOpen-Tools / radeon_compute_profiler

The Radeon Compute Profiler (RCP) is a performance analysis tool that gathers data from the API run-time and GPU for OpenCLâ„¢ and ROCm/HSA applications. This information can be used by developers to discover bottlenecks in the application and to find ways to optimize the application's performance.
MIT License
84 stars 19 forks source link

kernel output with all fails to generate the output profile #35

Open rNoz opened 4 years ago

rNoz commented 4 years ago

I don't know if this is the expected behavior, but in Windows, when running -k all, it fails: Failed to generate profile result.

I need to write -k cl or leave that option empty to be able to generate the profile data.

Since it fails, CodeXL has also this bug because it executes rcprof-x64.exe with that option forced.

rNoz commented 4 years ago

Some background for those that need to run CodeXL but it fails:

To get the parameters that the CodeXL is executing, I used ProcMon from Windows (Sysinternals Suite). It was a bit tricky, but I found the "Process Create", monitoring both "CodeXL" and "conhost" when I launched the Perf Counters. Then, I did manual tests with that specific arguments and rcprof-x64, finding that the error was the -k all.

Then, temporarily, to bypass this bug with -k all, I created a script (e.g. python, then converted to rcprof-x64.exe) that parses the arguments and removes the -k all. Then, it launches a subprocess, calling the original rcprof-x64.exe (eg. renamed to rcprof-x64.real.exe). Although it is a bit slower, it can work directly from CodeXL.