- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CUDA与MFC联合编程推荐工程结构.pdf
CUDA 与MFC 联合编程推荐工程结构
sume@ustc.edu
CUDA 入门者提示及基本知识:
1. 常见的电脑都有图形图像显示功能,显卡就是负责这个工作的。显卡
可以是独立的,也可以集成在主板上,还可以集成在CPU 中,我们要
使用CUDA 技术,一般选择购买主流独立显卡即可。GPU 是显卡的核
心,可以理解为显卡上的CPU,它的主要工作就是计算屏幕上要显示
什么、怎么显示,常见的电脑屏幕的分辨率有800 ×600、1024 ×768、
1366 ×768、1920 ×1080 等等,而且各个像素之间并没有直接关系或
者关系很弱,因此这个计算工作天生就是并行的;
2. CUDA 是nVidia 公司的技术,AMD APP (曾用名ATI Stream ,后来ATI
被AMD 收购了)是AMD 公司的技术,他们都是GPGPU (前两个GP
意思是General Purpose )技术的一种,目的是利用显卡强大的并行计
算能力加速运算,让显卡不只局限于打游戏和绘图。在金融、地质、
航天、军事、生物等计算密集的行业,人们已经开始广泛研究基于
GPGPU 的加速计算技术;
3. 想要使用CUDA,首先你需要一张支持CUDA 的显卡,支持CUDA 技术
的显卡名单及其对应的计算能力可以在nVidia 公司网站上找到;
4. 因为本文讲的是MFC 编程,而且作者只会VC(这才是主要原因好吧),
因此假设读者已经安装了Visual Studio 2008 并打上了最新的service
pack 补丁;
5. 要建立CUDA 编程环境,你还需要在nVidia 网站下载安装以下三者:
a) 你的显卡所对应的最新驱动;
b) CUDA Toolkit ;
c) NVIDIA GPU Computing SDK (目前是4.2 ).
好的,现在假设读者具备 MFC 程序调试经验,那么我们就开始吧。以下是
CUDA 和MFC 联合编程的推荐结构:
MFC CUDA
Global Host
Functions Functions
在Device 上运行
MFC Kernel
Process Functions
解释:
1. 对CUDA 程序来说,显卡叫做device,安装了显卡的电脑叫做host;
如果一台电脑上安装了多个显卡呢?放心,可以处理的,但是本文暂
时不考虑这种情况;
2. CUDA 程序是C 语言的一种变形,都以.cu 为后缀,CUDA 程序中的函
数有的运行在CPU 上,负责并行计算的初始化和计算结果的回收,有
的运行在GPU 上(称为kernel 程序),负责执行真正的并行计算;
3. 建议专门用一个global function 和CUDA 程序打交道,便于代码的阅
读、理解和维护;
4. MFC 程序的其他部分调用这个global function ,其他就和一般的编程
没有区别
文档评论(0)