我在CUDA上使用CAPS OpenACC。我正在尝试调试cuda-gdb。我可以用cuda-gdb正常调试c/c++代码。换句话说,我不能调试代码,删除代码。有人在cuda上调试过openACC吗?或者我不能在代码中设置断点。我应该做什么来调试?
我添加到我编译与那hmpp -d2 -kk -g gcc -g vecadd.c -o vecadd.x
#pragma acc kernels copyin(a[0:n],b[0:n]), copyout(c[0:n])
for(i=0; i<n; i++) {
c[i] = a[i] + b[i];
}
根据这篇文章,你需要将-G
选项传递给capsmc
,以便CUDA代码用调试符号编译。
由于CAPS编译器只生成普通的CUDA代码,因此您应该能够使用cuda-gdb
。