If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

OpenCL profiling tools in Linux, no luck?

08-24-2012, 01:43 PM

So i've been searching a for a profiling tool that will allow me to profile/optimize my OpenCL kernels.
I'm using Ubuntu 12.04 64b, with Intel i7 3930K.
I have access to both an AMD GPU (HD6870) and NVidia GPU (GTX 580).

NVidia:
I've tried using NVidia's Visual Profiler (nvvp), but when trying to debug my OpenCL application
i just get "Warning: No CUDA application was profiled, exiting".
Altough i can't find any mention of this in NVidia's documentation, it seems as though
nvvp does not support profiling of OpenCL kernels, only CUDA - is this correct?

AMD:
AMD's APP profiler is limited to Visual Studio.
While i could use windows (at least for profiling), i don't have access to a full version of Visual Studio, and express versions don't seem to be supported, so this is not an option.

Intel:
Only supposedly supports opencl profiling on linux by using their "VTune? Amplifier", which costs 899$ (not an option).
Still, I've tried out the trial version, but was unsuccessful as I only got profiling information on the host code. I don't see why i should pay 900 bucks for that if i can do it for free with gprof or oprofile, so again: not really an option.

So, what other tools are available which i could use for profiling my OpenCL device code?

Comment

NVidia:
I've tried using NVidia's Visual Profiler (nvvp), but when trying to debug my OpenCL application
i just get "Warning: No CUDA application was profiled, exiting".
Altough i can't find any mention of this in NVidia's documentation, it seems as though
nvvp does not support profiling of OpenCL kernels, only CUDA - is this correct?

That shouldn't be correct. The Nvidia Visual Profiler can (or at least used to be able to) profile OpenCL code. It is, however, VERY picky about your API usage. If you don't free ALL of the resources that you allocate, it will not produce any output and will pretend you didn't actually use the API at all. You may want to use something like valgrind to check for resource leaks in your program.

AMD:
AMD's APP profiler is limited to Visual Studio.
While i could use windows (at least for profiling), i don't have access to a full version of Visual Studio, and express versions don't seem to be supported, so this is not an option.

AMD ships a command-line tool called sprofile in the AMDAPP SDK. you can use that to dump OpenCL timing/trace information from your program.

Intel:
Only supposedly supports opencl profiling on linux by using their "VTune™ Amplifier", which costs 899$ (not an option).
Still, I've tried out the trial version, but was unsuccessful as I only got profiling information on the host code. I don't see why i should pay 900 bucks for that if i can do it for free with gprof or oprofile, so again: not really an option.