Nsight跳过(忽略)VS10 Cuda中的断点效果很好,nsight始终跳过多个断点

Tri*_*leS 5 cuda gpu gpgpu gpu-programming nsight

我使用的是nsight 2.2,Toolkit 4.2,最新的nvidia驱动程序,我的计算机中使用的是夫妇gpu。构建自定义4.2。我在CUDA的项目属性上设置了“ generate GPU ouput”​​(生成GPU输出),nsight监视器处于打开状态(一切看起来都很不错)。

我在全局内核函数上设置了几个断点。nsight在函数的声明处停止,但是跳过了几个断点。就像nsight决定要达到断点还是跳过断点一样。有趣的是nsight在for循环处停止,但在简单的赋值操作上不会停止。

另一个问题是我无法设置关注点或将变量添加到监视列表,在这种情况下(请参阅所附的屏幕截图),我无法解析变量“ value”的值:“ posss”或“ testDetctoinRate1” 。另一方面,共享内存或块内存将自动插入本地列表。

这是调试之前内核的屏幕截图

这是调试期间的屏幕截图

我通过以下调用唤起我的内核函数:

checkCUDA<<<1, 32>>>(sumMat->rows,sumMat->cols , (UINT *)pGPUsumMat); 
cudaError = cudaGetLastError();
if(cudaError != cudaSuccess)
{
    printf("CUDA error: %s\n", cudaGetErrorString(cudaError));
    exit(-1);
}
Run Code Online (Sandbox Code Playgroud)

内核调用可以正常工作。

是否可以选择强制nsight在所有断点处停止?如何将线程的寄存器添加到监视列表?

任何帮助将不胜感激,我可以按需发布代码

干杯


最初,我的调试命令行如下:

运行时API(NVCC编译类型是混合对象或.c文件)

设置CUDAFE_FLAGS =-sdk_dir“ c:\ Program Files \ Microsoft SDKs \ Windows \ v7.0A \”“ C:\ Program Files \ NVIDIA GPU计算工具包\ CUDA \ v4.2 \ bin \ nvcc.exe”-使用-local-env --cl-version 2010 -ccbin“ C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bin” -I“ ...... \ opencv \ modules \ gpu \ src \ opencv2 \ gpu \设备“ -I” ... \\ opencv \ modules \ gpu \ include \ opencv2 \ gpu“ -I” ...... \ build \ include \“ -G --keep-dir”调试“- maxrregcount = 0 --machine 32 --compile -g -Xcompiler“ / EHsc / nologo / Od / Zi / MDd” -o“ Debug \%(Filename)%(Extension).obj”“%(FullPath)”


我在属性页上更改-> cuda->主机->生成主机调试信息->否

现在,我的命令行不包含-g和-O字母,我的命令行如下:

运行时API(NVCC编译类型是混合对象或.c文件)

设置CUDAFE_FLAGS =-sdk_dir“ c:\ Program Files \ Microsoft SDKs \ Windows \ v7.0A \”“ C:\ Program Files \ NVIDIA GPU计算工具包\ CUDA \ v4.2 \ bin \ nvcc.exe”-使用-local-env --cl-version 2010 -ccbin“ C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bin” -I“ ...... \ opencv \ modules \ gpu \ src \ opencv2 \ gpu \设备“ -I” ... \\ opencv \ modules \ gpu \ include \ opencv2 \ gpu“ -I” ...... \ build \ include \“ -G --keep-dir”调试“- maxrregcount = 0 --machine 32 --compile -Xcompiler“ / EHsc / nologo / Od / Zi / MDd” -o“ Debug \%(Filename)%(Extension).obj”“%(FullPath)”

虽然,我使用-o进行调试,这有关系吗?它没有任何改变

Rog*_*ahl 5

在解决方案资源管理器中右键单击.cu文件,然后转到CUDA C/C++ | Device并设置Generate GPU Debug InformationYes (-G0)