Nsight2.0安装及单机调试(CUDA4.0)设置经验

tst1255 2011-06-16 05:44:44
一 安装Nsight2.0
选择:自定义安装,如果是用cuda4.0的,最好把安装选项里面关于CUDA 3.2 ruler之类的选项取消安装。我开始全部安装,发现安装后环境变量CUDA_PATH被改为CUDA toolkit 3.2的路径,而我已经卸载了CUDA3.2导致项目无法生成了,提示找不到.cu文件的编译器了之类的信息。只得重装CUDA tookit4.0和Nsight。
安装后最好查看一下你的环境变量CUDA_PATH指向哪里。方法使用“开始”菜单输入“cmd”回车,进入命令行窗口,输入 set cuda回车,会列出所有CUDA开头的环境变量的设置。

二 Nsight组成简介

双机调试:
Target:支持CUDA显卡,安装NVIDIA Parallel Nsight Monitor 2.0,运行CUDA程序。
安装Nsight 2.0需要的版本的驱动、不是越新越好。
启动Monitor,在选项里对话框里注意“WDDM TDR enabled” 选FALSE

Host:运行VS2010的机器。可以是任何显卡,安装NVIDIA Parallel Nsight Host
安装CUDA SDK 4.0、CUDA Toolkit 4.0 ,主要为了编译CUDA代码。本机如果不是N卡,只能生成程序,不能执行。如果是N卡程序,安装CUDA4.0需要的N卡
VS2010菜单会有Nsight菜单项,使用该菜单启动Debug

下面主要是关于单机调试的经验,双机设置比单机简单,设置方法基本一样。

三 单机调试
显卡需要:一个支持CUDA显卡,不接显示器,另外一个可以是任何GPU显卡,接显示器用来显示windows桌面。

1安装软件
(1).安装两个卡的显卡程序,注意CUDA卡的程序一定要安装Nsight 2.0需要的版本的驱动。
(2).安装CUDA Tookit 4.0 +CUDA SDK 4.0 + VS2010 配置使用(VAssistX之类的)参加另外一个帖子http://topic.csdn.net/u/20110615/12/bde220f8-cf7f-49fc-b201-05cc520eb441.html
(3). NVIDIA Parallel Nsight2.0 选自定义安装,见本文开头

如果两个都是N卡,准备用作CUDA运行的显卡不要接显示器,并且需要:
(1)使用NVIDA 控制面板、选择“Setup Multiple Displays”,在“Select the displays you want to use”框里,把准备用做CUDA运行的卡的复选框的钩取消。
(2).程序可能要设置程序到底在哪个卡上执行参考例子DeviceQueryDrv,),

2. 启动Monitor,打开选项界面, 在general选项里 : “WDDM TDR enabled” 选FALSE
在CUDA项目里, “Use this Moitor for CUDA attach”选True

3.关闭D3D加速
本地调试必须关闭D3D加速:“Disable D3D acceleration for WPF”,方法
(1)打开文件夹窗口.
(2)找到Nsight 2.0 Common 文件夹,具体如下:
(a) Win32系统下是:
X:\Program Files\NVIDIA Parallel Nsight 2.0\Common
(b) Win 64系统下是
X:\Program Files (x86)\NVIDIA Parallel Nsight 2.0\Common

注意X代表你的windows系统安装的盘符

(3)找到下面的文件,双击添加到注册表里。
DisableWpfHardwareAcceleration.reg
出现提示对话框,点“是(Y)”按钮

重新启动电脑。

4.调试,前面设置完毕,最好重启电脑。
(1)启动Moitor
启动后程序自动最小化任务栏托盘区,右击鼠标选“option”查看,确认
“WDDM TDR enabled” 选FALSE
”Use this Moitor for CUDA attach”选True
其它参数可以先不管,最小化Moitor

(2) 使用VS2010打开CUDA项目,可以是Nsight自带的例子,也可以是CUDA SDK4.0的例子
下面以template项目为例,该项目存放在CUDA SDK安装路径下的C\src目录里

打开template_kernel.cu文件,找到testKernel函数,在语句:
const unsigned int tid = threadIdx.x; 前使用VS2010工具设置断点,
(3) 选“解决方案配置”为Debug,平台是win32还是x64根据你的环境和需要。
项目如果没有生成,可以生成一遍或选“重新生成”,如果你以前生成正常,装了Nsight2.0无法生成项目了,可用参考本文开头部分。
点击VS2010菜单Nsight->Start CUDA Debugging” 启动debug,
注意不能使用VS2010的“调试->启动调试”启动debug,

程序开始执行,在执行语句const unsigned int tid = threadIdx.x 处会停下来,用户可以观察变量,这时可用VS2010的调试功能 用F11或F10单步执行。或者安F5继续执行。
注意:一个内核函数的断点只会进入1次,想进入某个特定线程可用使用VS设置条件断点。

调试期间可见Monitor会提示“connected debug xxx ”之类的提示,字符串里有你的机器的名字。或者打开Monitor界面也有类似的提示,表示Monitor当前已经和某个Host建立了连接。

如果Nsight->Start CUDA Debugging开始时出现可能红色错误提示,可能是某个配置不对,可以根据提示做相应修改。
...全文
4297 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
看来这个帖子还是灰常有用啊
xushenghao 2012-05-21
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

最新的nsight可以支持单卡调试了
[/Quote]
你好 我想请教您一下 我用的vs2010+cuda4.0+nsight parrallel2.0 为什么没办法include cutil.h总是提示
fatal error C1083: 无法打开包括文件:“cutil.h”: No such file or directory
OpenHero 2012-05-20
  • 打赏
  • 举报
回复
最新的nsight可以支持单卡调试了
zhongliangv 2011-10-14
  • 打赏
  • 举报
回复
多谢楼主分享,我有一个问题,请问一下,双机调试中,target机中必须是win7系统没错。但是host主机也必须是win7或vista系统吗?不能是xp系统吗?
谢谢你。
hhshiyi 2011-09-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 longbaoer_1215 的回复:]
哥们儿,我按照你的步骤设置的,但是debug的时候出现如下错误:不懂请教你一下。
我的硬件环境:GeForce 9800GT (CUDA计算能力1.1)用于并行计算,不接任何设备;GeForce 6100板载集成显卡连接显示器。
我的软件环境:操作系统:Win7 旗舰版 ,开发环境:Visual Studio 2010 ultimate
Parallel Nsight Debug
Loca……
[/Quote]选一个基本主题就可以了!
tst1255 2011-08-19
  • 打赏
  • 举报
回复
双机调试和单机调试大体查不多,

target机:是运行CUDA的电脑,安装Nsight 2.0及其需要的显卡驱动、不是越新越好。启动Monitor,在选项里对话框里注意“WDDM TDR enabled” 选FALSE

Host:运行VS2010的机器。可以是任何显卡,安装NVIDIA Parallel Nsight Host
安装CUDA SDK 4.0、CUDA Toolkit 4.0 ,主要为了编译CUDA代码。本机如果不是N卡,只能生成程序,不能执行。其它的编译设置参考单机的设置。

调试方法和单机一样,用VS2010菜单Nsight->Start CUDA Debugging” 启动debug

最主要的是阅读nsight的帮助文档,里面介绍的更详细,我也是通过学习帮助文档的学会的。
qhlzbzky 2011-08-15
  • 打赏
  • 举报
回复
楼主,你好!请问能解释一下双机调试吗?我的电脑里只装了一块显卡,调试时提示系统里只检测到一块GPU。谢谢!
tst1255 2011-08-09
  • 打赏
  • 举报
回复
装两个显卡不是难事吧。一个是CUDA计算的卡,另一个随便装一个便宜的显卡接显示器。
不接双显卡就双机调试吧,设置也不难。
  • 打赏
  • 举报
回复
请问,提示说需要两个gpu怎么办,谁电脑里装两个gpu呢。这个问题怎么解决?
tst1255 2011-07-01
  • 打赏
  • 举报
回复
显卡驱动一定要是nsight2.0指定的哪个版本,调试时使用nsight2菜单的开始调试命令。
Firestone2003 2011-06-30
  • 打赏
  • 举报
回复
我使用双机调试,也是CUDA4,nsight2,win7 X64
kernel断点不起任何作用,直接执行完毕,
G0也设置了,按照nsight 的帮助设置,就是不起作用

target FX480
debug 295

有了解的吗?
beyond071 2011-06-20
  • 打赏
  • 举报
回复
mark一下
tst1255 2011-06-19
  • 打赏
  • 举报
回复
ls的说对了,本地调试时nsight不支持Aero 主题桌面,我在nsight1.5调试时已经把桌面改过了,nsight2.0忘了说了,其它很多问题,看nsight的提示,到nsight帮助里都能找到解决办法。
longbaoer_1215 2011-06-18
  • 打赏
  • 举报
回复
后来我折腾了一下,换一个主题就行,Nsight不支持太炫的桌面,用一个基本就ok了
longbaoer_1215 2011-06-18
  • 打赏
  • 举报
回复
哥们儿,我按照你的步骤设置的,但是debug的时候出现如下错误:不懂请教你一下。
我的硬件环境:GeForce 9800GT (CUDA计算能力1.1)用于并行计算,不接任何设备;GeForce 6100板载集成显卡连接显示器。
我的软件环境:操作系统:Win7 旗舰版 ,开发环境:Visual Studio 2010 ultimate
Parallel Nsight Debug
Local debugging failed. Nsight is incompatible with Aero desktop themes. Please switch your theme to a non-Aero theme, and retry the Nsight CUDA C Debugger.
极速飞翔 2011-06-17
  • 打赏
  • 举报
回复
恩,不错
longbaoer_1215 2011-06-17
  • 打赏
  • 举报
回复
以前老在这里卡住了,今天得以知其缘由了。thanks

580

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧