"Insufficient Kernel Bounds Data" from Visual Profiler 6.5

Hi there,

I’m migrating from CUDA 5.0 to 6.5, and trying to profile a test program using the Visual Profiler. It generates the timeline without any problem, but when I try and run the “Perform Kernel Analysis” step of guided analysis, I get a couple of errors after the last run of the program:

  1. A dialog box saying “Unable to calculate all metrics”
  2. In the Results pane, a message saying “Insufficient Kernel Bounds Data. The data needed to calculate compute, memory and latency bounds for the kernel could not be collected.”

I can’t find any reference to these error messages. What do they mean? What do I need to change to avoid them?

Thanks
Alistair

You may want to put a cudaDeviceReset() at the end of your application. Furthermore, what OS are you running on, what GPUs are you using? If you are running on Linux OS, or windows TCC mode, what compute mode is the GPU in? (this can be inspected with nvidia-smi)

I have a static instance of a “deleter” that calls cudaDeviceSynchronize() and cudaProfilerStop() at program exit:

class CudaDeleter
{
public:
    CudaDeleter() { }
    ~CudaDeleter() 
    {     
        printf("CudaDeleter...\n");
        cudaDeviceSynchronize();
        cudaProfilerStop();
        printf("...done\n");
    }
};
static CudaDeleter cleanerUpper;

Interestingly, the printf’s from the deleter don’t appear in the output of the final run in the profiler; though this could simply be due to stdout not getting flushed.

This is on Windows 7 x64, on a GT635M (so, no TCC). I’m also using the OpenCV GPU module.