OpenCL Core Profiling

I'm trying to optimize my OpenCL cores, and all I have now is the NVidia Visual Profiler, which seems rather limited. I would like to see a linear profile of nuclei for a better understanding of problems with coalescence, etc. Is there a way to get more detailed profiling data than the one provided by Visual Profiler?

+7
source share
4 answers

I think AMD CodeXL is what you are looking for. This is a free toolkit that contains the OpenCL debugger and GPU profiler. The OpenCL debugger allows you to stage-by-stage debugging of OpenCL cores and host code, view all variables in different workgroups, view special events and errors that occur, etc. The GPU profiler has a nice feature that generates a timeline that shows how long your program spends on tasks such as data transfer and kernel execution.

For more information and download links, http://developer.amd.com/tools-and-sdks/heterogeneous-computing/codexl/

+4
source

No, there is no such tool, but you can profile your code changes. Try measuring the speed of your code, change something, and then measure it again. clEnqueueNDRangeKernel has an Event argument, which can later be used with clGetEventProfilingInfo, the timer is very sharp, accuracy is measured in microsecond order. This is the only way to measure the performance of a particular piece of code ...

+1
source

I did not test it, but I found this program http://www.gremedy.com/gDEBuggerCL.php . Description: "This new product provides gDEBugger features for advanced debugging, profiling and memory analysis in the world of OpenCL developers ..."

+1
source

LTPV is an OpenCL open source profiler that can meet your requirements. Currently it works only under Linux.

(disclosure: I am the developer of this tool)

+1
source

All Articles