I’m trying to use the CUDA’s profiler and I can’t get it to work. Specifically, no data gets generated by the profiler.
I tried 2 things:
1- I tried the ‘text-file’ mode. I set the environment variables as decribed by CUDA_Profiler_2.1.txt (CUDA_PROFILE, CUDA_PROFILE_LOG, CUDA_PROFILE_CSV and CUDA_PROFILE_CONFIG) and ran my program.
This is what I put in the configuration file (pointed to by CUDA_PROFILE_CONFIG):
timestamp
threadblocksize
gld_incoherent
gld_coherent
gst_incoherent
gst_coherent
… and after execution of my program, here’s what I get in the output file (pointed to by CUDA_PROFILE_LOG):
2- I tried using the Visual Profiler (1.1, most recent I could find on nVidia’s web site). I configured it to run the same demo as before, and I got the following error message:
=== Start profiling for session ‘Session1’ ===
Start program ‘C:/dev/Demo.exe’ run #1 …
Program run #1 completed.
Error in reading profiler output.
No data rows in profiler output file.
So, basically what am I missing here? Do I need to enable something in the source code? :huh:
I was able to run the visual profiler on the BoxFilter example from the SDK. But when I run my code, the profiler fails. The processing ran as expected (I implemented a simple image inversion, nothing fancy)
I think the problem comes from the fact that my CUDA code does not run in the same context as the SDK examples. I get 2 symptoms:
CUDA running in a DLL which is loaded by an application through LoadLibrary: no profiler data is generated
CUDA running in an application which uses MFC: “Program run #1 failed, exit code:2”
In any case I suspect that there are restrictions when using CUDA with DLL’s (I’ve had other problems in the past).
Anyway I’ll try to extract my CUDA code and insert it into one of the SDK’s examples and profile it from there. I hope this gets eventually fixed though.
Hi,
I am not sure my message will help you, but I am in the same situation. I have the error “no data rows in profiler output file” when I’m trying to use the Visual Profiler with my application. My CUDA program is included in a DLL called by an AVISynth script. I dont think the problem comes from some restrictions between CUDA and DLL using, because I ve previously succeeded to profile another DLL with the visual profiler.
I’ve set environnment variables CUDA_PROFILE = 1, but the generated file does not contain any data.
However i’ve noted that if I set CUDA_PROFILE = 1 in Project options (properties>debugging>environnment), and launch the program directly from Visual Studio, then the log file generated (in sources folder) contains all the informations !
I’m using CUDA 2.2 and visual sutdio express 2008.