Information about frames in cuda-gdb
I'm trying to debug a cuda program with an illegal read in global memory. I decided to use the cuda-gdb by command line, enabling the cuda memcheck feature. When the illegal read occurs cuda-gdb stops the program. The current frame is the cuda kernel, but if I type "up 1" the upper frame is the cuda kernel again, with the same threadIdx, the same blockIdx, but with different function arguments.
Is it normal? What does it mean?
I'm trying to debug a cuda program with an illegal read in global memory. I decided to use the cuda-gdb by command line, enabling the cuda memcheck feature. When the illegal read occurs cuda-gdb stops the program. The current frame is the cuda kernel, but if I type "up 1" the upper frame is the cuda kernel again, with the same threadIdx, the same blockIdx, but with different function arguments.

Is it normal? What does it mean?

#1
Posted 04/20/2012 09:04 PM   
Hi marcocod, If your program has recursion, or function calls, you may see multiple frames with the same parameters. If you were to type 'backtrace', do multiple frames show up corresponding to the kernel ? Also, if you try 'up' instead of 'up 1', do you still see the same effect ? Finally, could you include information about which toolkit, driver and GPU are you using ?
Hi marcocod, If your program has recursion, or function calls, you may see multiple frames with the same parameters. If you were to type 'backtrace', do multiple frames show up corresponding to the kernel ? Also, if you try 'up' instead of 'up 1', do you still see the same effect ? Finally, could you include information about which toolkit, driver and GPU are you using ?

#2
Posted 04/25/2012 04:37 AM   
Scroll To Top