CUDA Nsight Debug Focus,Visual Studio 2012 Edition

时间:2016-08-24 13:30:41

标签: c++ visual-studio-2012 cuda nsight

我正在开发一个项目,其中包括使用Visual Studio 2012和CUDA开发,并集成了Nsight Debugging环境。我可以很容易地看到GPU上的线程到threadIdx == 128,但是,当我尝试查看具有更高索引的线程时,意味着除第一个块之外的块,使用通过CUDA Debug焦点到达的调试焦点对话框,我有难度,切换到其他块。这是Nsight的正常操作,任何答案都将不胜感激。谢谢大家。

2 个答案:

答案 0 :(得分:1)

我找到了一种方法来查看索引大于零的块,你只需要将cuda程序中的所有断点设置为条件,然后启动Nsight调试环境。然后它还显示其他块。但是,我认为这也与驻留在GPU上的流式多处理器的数量有关。据我所知,流多处理器的数量等于可以同时运行的块数。我已经使用了一段时间GeForce GT630并且只有单个流多处理器,这就是为什么我只看到第一个块运行而不是其他块。但是,调试仍然很慢。

答案 1 :(得分:0)

Hi切换块是Nisght的常见操作,请按照以下步骤进行操作

  1. 启动你的cuda应用程序并等到一个bp命中。
  2. 通过“Visual Studio - > Nsight - > Windows - > Cuda Info”打开“CUDA Info”窗口
  3. 将页面切换为阻止,您可以在当前应用中看到所有已启动的块。
  4. 双击每一行,您可以切换到另一个块。
  5. 您可以对warp和thread进行相同的操作