1 20 50 150 500
欢迎来到莱福软件站,找素材,搜软件,就上莱福软件站!
当前位置 >首页 >软件下载 >电脑软件 >编程开发 >编程软件

CUDA调试工具

软件信息
  • 分类:编程软件
  • 大小:2.3M
  • 语言: 中文
  • 环境: WinAll, WinXP
  • 更新:2024-11-13
  • 评级:
  • 系统: Windows Linux Mac Ubuntu
  • 软件类别: 国产软件 / 免费软件 / 编程辅助
  • 插件情况:

NVAPI-R304-developer.zip,2012年9月版本的NVAPI,可以对所有NVIDIA的GPU进行控制并实时获得GPU状态和运行情况。

CUDA编程笔记

1、下载CUDA工具包、驱动和SDK,依次安装,编译SDK里的工程文件,具体配置方法可谷歌百度,基本步骤就是先编译sdk里面的几个库,然后设置代码相应库函数关键字高亮。

2、 下载CUDA调试工具Nsight,可以实现单卡双机调试或双卡单机调试,虽然听说2.2可以单卡单机,但还没找到方法。具体调试可参考Nsight的help文档和cudabbs.it168.com上的别人笔记(CUDA双机Nsight调试总结)。

3、 Nsight2.2中包含cuda4.0,cuda4.1, cuda4.2 rules。

4、如果在运行cuda程序时出现黑屏花屏显卡驱动奔溃几秒然后重新启动,个人认为应该是显存不足造成的,后来发现不是这个原因,其实是(http://msdn.microsoft.com/zh-cn/windows/hardware/gg487368)。 这时候打开Nsight 的Monitor,将Options/General下的WDDM TDR enabled 设置为 False,重启电脑,这时再运行程序,显示器不会更新画面,GPU会提供完全的显存专注于运行我们的程序。直到运行结束,显示器画面恢复更新。这种方法当然只有用在实验上,不能用在实际中。

5、 普通C++控制台和MFC程序中如何新建调用CUDA程序(VS2010):

1) 首先新建一个C++工程,然后右击工程,打开“生成自定义“,选择最新的cudarules。

2) 然后新建两个.cu文件,分别命名为kernel.cu和func.cu,前者存放核函数,后者存放调用核函数的基本cuda函数。然后打开两个文件的属性,将项类型设置为CUDA C/C++,然后在CUDAC/C++下的Device里的Code Generation参数修改为运行电脑GPU的计算等级,例如1.1的就写成compute_11,sm_11。还有,前者kernel.cu属性中“从生成中排除“要选”是“。

3) 在func.cu文件中将kernel.cu当做头文件包含,里面的函数进行基本的cuda程序操作:分配显卡内存、拷贝内存到显存、调用kernel函数、拷贝显存到内存。

4) 在func.cu文件中定义函数时,将func函数定义为C扩展函数:extern “C”void func();

5) 新建一个cpp文件,作为主程序,先在程序上面添加C扩展函数func()的说明,此时不需要include “func.cu”。然后再下面的代码中调用func函数即可。

6) 打开整个工程的属性,在CUDA C/C++下的Device里的Code Generation参数依然修改为运行电脑GPU的计算等级。

7) 在工程属性的“链接器/附加依赖项”中添加cudart.lib;

6、 CUDA Tookit中的NVIDIAVisual Profiler是个不错的cuda程序性能分析软件,能生成程序中GPU处理部分的各个步骤的时间条,以及各个阶段的具体参数。

7、 CUDA提供了CUBLA(具有基本的向量和矩阵运算)库,SDK中已经自带了,不用另外下载。它的运算函数分为三个级别:1)向量与向量的运行2)矩阵与向量的运算3)矩阵与矩阵的运算。

工程属性的链接器中的附加依赖项需添加:cublas.lib。

8、 在CUBLAS中矩阵是按列优先存储的,这与C中按行存储矩阵的思想正好相反。

基本的调用步骤举例:

1) 包含cublas的头文件:
2) 创建一个cublas上下文句柄:
3) 调用cublas函数处理向量或矩阵运算:
4) 销毁cublas句柄:

关於CUDA在VS2008下的调试问题

在前提只有一台主机一张NV显卡的情况下

不知道大家都怎麼调试自己的程序...

在VS总是找不到一个有效率的程序去调试他...

用VS就是為了好调试

不过...NV自己出的那套Nsight貌似要两张显卡或者两台主机才能调试

下载地址

热门软件

Top