NVIDIA CUDA 4.1 RC2和并行NSight 2.1的奇怪行为

NVIDIA CUDA 4.1 RC2和并行NSight 2.1的奇怪行为,cuda,gpgpu,gpu,nsight,Cuda,Gpgpu,Gpu,Nsight,我在Nsight 2.1中调试CUDA代码时遇到了一个奇怪的问题。我有两个从main.cu调用的global函数,如下所示: dim3 block(threadsPerBlock); dim3 grid(numBlocks); InitPhotons<<<grid,block>>>(devicerun,sources[i],1); cudaThreadSynchronize(); MC<<<grid,block>>>(dev

我在Nsight 2.1中调试CUDA代码时遇到了一个奇怪的问题。我有两个从main.cu调用的global函数,如下所示:

dim3 block(threadsPerBlock);
dim3 grid(numBlocks);
InitPhotons<<<grid,block>>>(devicerun,sources[i],1);
cudaThreadSynchronize();
MC<<<grid,block>>>(devicerun,sources[i],1);
dim3块(螺纹锁紧);
dim3网格(数字锁);
初始光子(devicerun,源[i],1);
cudaThreadSynchronize();
MC(devicerun,资料来源[i],1);
我可以在InitPhotons中成功地命中断点,并单步完成该函数。然而,我只能击中我在MC中设置的第一个断点。如果我尝试单步执行函数(VS中的F10),调试器的行为就好像我使用了continue命令(F5)并且不再命中断点一样

还有其他人遇到过这个问题吗?有没有人对解决方案有什么想法

我正在Visual Studio 2010 Pro中使用并行NSight 2.1和CUDA 4.1 RC2。我正在使用-G0标志编译,优化已禁用


编辑:问题似乎在于代码修补内存的默认大小。我将代码修补内存因子从2改为4,一切正常(Nsight->Options->CUDA->Code patching memory factor)。

我是NVIDIA并行Nsight团队的成员。不幸的是,这听起来像是一个bug

我们有没有机会看看你的项目?请通过电子邮件与我联系,在此处提交问题的bug:

我会尽快看一看


谢谢

我是英伟达并行Nsight团队的成员。不幸的是,这听起来像是一个bug

我们有没有机会看看你的项目?请通过电子邮件与我联系,在此处提交问题的bug:

我会尽快看一看


谢谢

再看一下,问题似乎出在代码修补内存上。错误发生在我将代码修补内存因子设置为2时。当这个增加到4时,我可以正常调试。我仍然会提交错误报告,因为这可能会弹出一条错误消息。再看一眼,问题似乎出在代码修补内存上。错误发生在我将代码修补内存因子设置为2时。当这个增加到4时,我可以正常调试。我仍然会提交错误报告,因为这可能会弹出错误消息。