Nsight Visual Studio 调试

官方手册:
https://docs.nvidia.com/nsight-visual-studio-edition/5.4/Nsight_Visual_Studio_Edition_User_Guide.htm#Nsight_Visual_Studio_Edition_User_Guide.htm%3FTocPath%3D_____1

平台
Windows 10 ;
Visual Studio Community 2015;
CUDA 9.1;
Nsight Visual Studio Edition 5.4;

1. 配置安全连接

为了使Visual Studio中的NVIDIA Nsight主机软件和目标机器上的Nsight Monitor能够相互通信,它们的安全设置必须匹配。
要启用安全连接:

  1. 在主机上,打开NVIDIA Nsight选项窗口中的常规页面。
    a) 从Visual Studio 的Nsight菜单中,选择“Options”。
    b) 选择“Options”选项卡。

  2. 在“Security”下,选择“启用安全连接”旁边的下拉菜单,然后选择“True”。
    在这里插入图片描述

  3. 单击确定。NVIDIA Nsight选项窗口关闭。

  4. 在目标计算机(远程计算机或本地主机,具体取决于您的配置)上,启动Nsight监视器(如果尚未运行)。
    a) 从Windows“ 开始”菜单中选择“ 所有程序”。
    b) 选择NVIDIA Corporation> Nsight Visual Studio Edition 5.4 > Nsight Monitor。

  5. 右键单击任务栏中的Nsight Monitor图标, 选择Options。

  6. 在启用安全连接旁边,选择True。
    在这里插入图片描述

  7. (可选)在可信计算机旁边,您可以列出始终允许连接到Nsight监视器的计算机的主机名。您可以输入DNS查找名称或IP地址(有关详细信息,请参阅建议的IP地址格式)。

  8. 单击确定。

  9. 退出并重新启动Nsight Monitor。
    此时主机和目标现在被配置为通过安全连接与彼此通信。

2.样例路径

默认路径:
C:\Program Files (x86)\NVIDIA Corporation\Nsight Visual Studio Edition 5.4\Host\Samples

3.遇到问题汇总

1)VS(visual studio)中的cuda项目加载失败的解决方法
对于目前版本的cuda或者说VS2013来说,如果加载的是以前cuda版本的项目,那么会出现加载失败的情况,在项目处右键“重新加载”则会出现下图中的情况——未找到导入的项目。可以知道是cuda版本不匹配的问题。

解决的方法:
在加载的项目处右键“编辑.vcxproj文件”
在打开的文本中,按“Ctrl+h”键快速替换cuda版本为当前版本号,就是9.0到9.1
保存后,关闭掉当前的VS,再重新打开项目即可

2)VS2010平台项目不适用
项目右键属性-常规-平台工具集更换为2015即可

3)Nsight不识别断点

  • 必须运行于Debug模式
  • 路径不可以有中文
  • Nsight只能进行GPU调试,即断点只有在是__global__和__device__函数中才能生效
  • 在对工程做了任何修改后,特别是对代码的修改,都应该重新生成解决方案

4)Nsight断点运行会黑屏
在Options修改TDR时间限值,改大,默认为2,改为200,不黑屏还是会卡顿
在这里插入图片描述
5)Nsight地址不显示
过了周末再运行就显示了,很奇怪,NVIDIA论坛无人回复,可能设置完需要重启;

4.使用方法

详见官方手册,下面仅简要概述几点:

打断点以后,开始调试,Start CUDA Debugging:
在这里插入图片描述
Debug Focus可以调整查看的线程块与线程:
在这里插入图片描述
CUDA信息工具窗口,CUDA Info:
在这里插入图片描述
书签是使用预设过滤器跳转到特定页面的快捷方式;
在这里插入图片描述

网上搜索这方面资料好少,自己归纳,慢慢解决问题花了挺长一段时间,也是希望此贴可以帮到一些,少走弯路。
希望可以找到使用Nsight Visual Studio调试的朋友,一起讨论这方面的问题。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值