I’m using the Compute Commandline Profiler in CUDA Toolkit 4.2.9 in CentOS 5.6 64-bit Linux to gather statistics on my OpenCL kernel.
Does anyone know what might cause this warning to appear as the first line of my opencl_profile_2.log file:
NV_Warning: Profiler counters are disabled for this context.
OPENCL_PROFILE_LOG_VERSION 2.0
OPENCL_DEVICE 0 GeForce GTX 580
OPENCL_CONTEXT 3
TIMESTAMPFACTOR fffff6b661ce62c8
method,gputime,cputime,occupancy
…
And sure enough, the log for my kernels do not include any results from profiler counters, just the higher level values for memory transfers, and kernel execution times, and occupancy.
I really want to look at things like branch, and divergent_branch.
P.S. - the only google hit for that warning message was not helpful/relevant.
I figured out a plausible explanation and a workaround:
Apparently the profiler counters are only enabled for the first context created (either first overall, or first with the particular device, not sure which).
So, I changed my application to use the first (and only) OpenCL context created, and then the profile counters were available,
and their results were reported in the opencl_profile_0.log file.