我正在尝试在cuda-gdb中调试程序。我能够成功地在主机(CPU)上运行的代码中设置断点,但每当我尝试在GPU上运行的代码中设置断点时,调试器都会跳过断点,并给出以下错误:
"warning: Cuda API error detected: cudaLaunchKernel returned (0x7)"然后,它继续成功地执行其余代码。我怎么才能让它们工作呢?
发布于 2019-11-13 01:31:42
我能够根据来自NVIDIA开发论坛的this答案来设置断点。也就是说,在nvcc编译器选项中,您需要使用maxrregcount标志来限制使用的寄存器数量,例如:
nvcc -arch sm_60 -g -G -dc --maxrregcount=64 --compiler-options -Wall -std=c++14 basic.cu(注意:要查看您有多少寄存器,请在cuda-gdb中输入info cuda devices并检查Regs/Lane列)
https://stackoverflow.com/questions/58823826
复制相似问题