平台
Windows 10 ;
Visual Studio Community 2015;
CUDA 9.1;
Nsight Visual Studio Edition 5.4;
1. 配置安全连接
为了使Visual Studio中的NVIDIA Nsight主机软件和目标机器上的Nsight Monitor能够相互通信,它们的安全设置必须匹配。
要启用安全连接:
-
在主机上,打开NVIDIA Nsight选项窗口中的常规页面。
a) 从Visual Studio 的Nsight菜单中,选择“Options”。
b) 选择“Options”选项卡。 -
在“Security”下,选择“启用安全连接”旁边的下拉菜单,然后选择“True”。
-
单击确定。NVIDIA Nsight选项窗口关闭。
-
在目标计算机(远程计算机或本地主机,具体取决于您的配置)上,启动Nsight监视器(如果尚未运行)。
a) 从Windows“ 开始”菜单中选择“ 所有程序”。
b) 选择NVIDIA Corporation> Nsight Visual Studio Edition 5.4 > Nsight Monitor。 -
右键单击任务栏中的Nsight Monitor图标, 选择Options。
-
在启用安全连接旁边,选择True。
-
(可选)在可信计算机旁边,您可以列出始终允许连接到Nsight监视器的计算机的主机名。您可以输入DNS查找名称或IP地址(有关详细信息,请参阅建议的IP地址格式)。
-
单击确定。
-
退出并重新启动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调试的朋友,一起讨论这方面的问题。