I was just starting to use the profiler, and see that there’s s config file that has a few options. What’s the format of this config file? I can’t seem to find it anywhere.
I tried one option per line, but that made my program crash with a double-free, so I’m guessing that’s not the format. :D
Check CUDA_Profiler_1.1.txt file in /doc directory.
In your CUDA toolkit installation folder (…/CUDA/doc)
there are a couple of documentation files.
One is called CUDA_Profiler_1.1.txt (or 1.0.txt, depends on your CUDA version)
and it tells you all about how to use the profiler ;)
There is a limit of 4 configuration options per kernel.
Yes, that’s the file I’m reading, but I must be daft – I can’t find the format of the file.
I see:
- CUDA_PROFILE_CONFIG specifies a config file.
- A config file has options/signals: timestamp, gld_incoherent, gld_coherent, gst_incoherent, gst_coherent, local_load, local_store, branch, divergent_branch, instructions, warp_serialize, cta_launched and the descriptions of each option
- An option can be commented out with a # at the beginning of the line.
- 4 options max.
But I can’t find the format!
Pshaw!
One option per line was right. I just misspelled “coherent”! That’s why it crashed.
I guess I am daft! :D
Is this still the correct syntax for the Visual Profiler that shipped with CUDA 4.2?
My cuda_profiler.conf looks like this:
gld_incoherent
gld_coherent
gst_incoherent
gst_coherent
Then I do this:
export COMPUTE_PROFILE=1
export CUDA_PROFILE_CONFIG=~/cuda_profiler.conf
Then, I run my CUDA program.
The profiler output, cuda_profile_0.log, looks like this:
NV_Warning: Ignoring the invalid profiler config option: gld_incoherent
NV_Warning: Ignoring the invalid profiler config option: gld_coherent
NV_Warning: Ignoring the invalid profiler config option: gst_incoherent
NV_Warning: Ignoring the invalid profiler config option: gst_coherent
CUDA_PROFILE_LOG_VERSION 2.0
CUDA_DEVICE 0 Tesla C2050
CUDA_CONTEXT 1
TIMESTAMPFACTOR fffff6aabc9dcc78
method,gputime,cputime,occupancy
method=[ memcpyHtoA ] gputime=[ 62290.113 ] cputime=[ 62400.000 ]
method=[ _Z56dummyKernel4ii ] gputime=[ 22408.672 ] cputime=[ 14.000 ] occupancy=[ 0.500 ]
…more profiling output
Other than the “Ignoring the invalid profiler config option” messages, the cuda_profile_0.log output looks the same with or without the CUDA_PROFILE_CONFIG environment variable. Perhaps the syntax for CUDA_PROFILE_CONFIG has changed since this thread was created?