CUDA_PROFILE_CONFIG format?

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?