VS2008+QT中使用CUDA的示例

VS2008+QT中使用CUDA的示例

转载:http://www.cnblogs.com/Romi/archive/2012/05/09/2492363.html

各工具或库的版本:

IDE:VS2008

QT:4.8.0 (使用MSVC编译器)

CUDA:3.2

单独使用CUDA文件在vccc下进行编译很多书上都讲过。这里主要讲在QT中如何的使用CUDA,QT在VS2008环境下开发。

下面以宽为1024的举证乘法为例,再辅以QT GUI说明如何在VS2008的QT工程中使用CUDA,VS2010没试过,不过应该是差不多的步骤。

1.新建VS2008下QT工程

这个就不多说了,熟悉VS2008下进行QT开发的都知道怎么弄,新建一个Qt GUI程序,基类我选择的QDialog,如下:

2.设置项目属性

需要设置的项目属性包括:更改生成规则(添加对CUDA文件的编译连接支持)、添加使用CUDA需要用到的链接库(.lib文件)

首先添加生成规则:右键工程——>自定义生成规则,添加CUDA Runtime API Build Rule (v3.2),如下图:

然后添加链接库:项目——>属性——>链接器——>常规,在附加库目录中添加ToolKit和SDK目录里的lib,在输入的附加库目录下添加需要用到的lib文件。这一步和在单独使用CUDA时的做法是一样的,详见http://www.cnblogs.com/Romi/archive/2012/04/20/2459669.html

3.编写CUDA文件(.cu)

在项目中新建一个.cu的文件,加上如下代码,完成在GPU设备上进行矩阵乘法:

View Code

这里使用extern以声明函数可以在外部被调用。如果是在调用该函数的原文件中使用include “XXX.cu”,我这会出现编译错误,暂没有解决,所以使用extern

4.在Qt响应源文件中添加CUDA的引用

Qt GUI设计如下图,点击“GPU计算”按钮进行CUDA计算,后面显示计算的时间:

源文件如下(包含用到的自定义函数和按钮响应函数):

View Code

5.测试结果

测试时开了其他的应用程序,另外本机配置很戳,看看吧,使用CUDA进行加速甩了使用传统方法几条街呢

后注:代码中有点问题,测试结果也不对,后来发现了,改过的结果见该文http://www.cnblogs.com/Romi/archive/2012/05/17/2506787.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值