CUDA与MFC联合编程推荐工程结构

上传人:枫** 文档编号:571931641 上传时间:2024-08-12 格式:PDF 页数:6 大小:437.02KB
返回 下载 相关 举报
CUDA与MFC联合编程推荐工程结构_第1页
第1页 / 共6页
CUDA与MFC联合编程推荐工程结构_第2页
第2页 / 共6页
CUDA与MFC联合编程推荐工程结构_第3页
第3页 / 共6页
CUDA与MFC联合编程推荐工程结构_第4页
第4页 / 共6页
CUDA与MFC联合编程推荐工程结构_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《CUDA与MFC联合编程推荐工程结构》由会员分享,可在线阅读,更多相关《CUDA与MFC联合编程推荐工程结构(6页珍藏版)》请在金锄头文库上搜索。

1、CUDA 与 MFC 联合编程推荐工程结构 sumeustc.edu CUDA 入门者提示及基本知识: 1. 常见的电脑都有图形图像显示功能,显卡就是负责这个工作的。显卡可以是独立的,也可以集成在主板上,还可以集成在 CPU 中,我们要使用 CUDA 技术,一般选择购买主流独立显卡即可。GPU 是显卡的核心,可以理解为显卡上的 CPU,它的主要工作就是计算屏幕上要显示什么、 怎么显示, 常见的电脑屏幕的分辨率有 800600、 1024768、1366768、19201080 等等,而且各个像素之间并没有直接关系或者关系很弱,因此这个计算工作天生就是并行的; 2. CUDA 是 nVidia

2、公司的技术,AMD APP(曾用名 ATI Stream,后来 ATI被 AMD 收购了)是 AMD 公司的技术,他们都是 GPGPU(前两个 GP意思是 General Purpose)技术的一种,目的是利用显卡强大的并行计算能力加速运算,让显卡不只局限于打游戏和绘图。在金融、地质、航天、军事、生物等计算密集的行业,人们已经开始广泛研究基于GPGPU 的加速计算技术; 3. 想要使用 CUDA, 首先你需要一张支持 CUDA 的显卡, 支持 CUDA 技术的显卡名单及其对应的计算能力可以在 nVidia 公司网站上找到; 4. 因为本文讲的是MFC编程, 而且作者只会VC (这才是主要原因好

3、吧) ,因此假设读者已经安装了 Visual Studio 2008 并打上了最新的 service pack 补丁; 5. 要建立 CUDA 编程环境,你还需要在 nVidia 网站下载安装以下三者: a) 你的显卡所对应的最新驱动; b) CUDA Toolkit; c) NVIDIA GPU Computing SDK(目前是 4.2). 好的,现在假设读者具备 MFC 程序调试经验,那么我们就开始吧。以下是CUDA 和 MFC 联合编程的推荐结构: KernelFunctionsHostFunctionsCUDAMFCGlobalFunctionsMFCProcess 在 Device

4、 上运行 解释: 1. 对 CUDA 程序来说,显卡叫做 device,安装了显卡的电脑叫做 host;如果一台电脑上安装了多个显卡呢?放心,可以处理的,但是本文暂时不考虑这种情况; 2. CUDA 程序是 C 语言的一种变形,都以.cu 为后缀,CUDA 程序中的函数有的运行在 CPU 上,负责并行计算的初始化和计算结果的回收,有的运行在 GPU 上(称为 kernel 程序) ,负责执行真正的并行计算; 3. 建议专门用一个 global function 和 CUDA 程序打交道,便于代码的阅读、理解和维护; 4. MFC 程序的其他部分调用这个 global function,其他就和

5、一般的编程没有区别了。 在本文附带的例程中,对应的工程文件如图所示: First_kernel.cuFirst.cuCUDAMFCGlobalapi.CppGlobalapi.hMFC工程 其实 CUDA 程序中的 host function 和 kernel function 也可以放在同一个.cu 文件,但是此处同样为了便于阅读、理解和维护,把它们分别放在两个文件中。 示例工程的创建过程如下: 1. 创建 globalapi.cpp/.h 及全局函数; SUME COLLECTION 2. 在 Solution Explorer 中创建一个 filter(相当于一个目录,便于管理) ,命名

6、为 CUDA,在里面创建两个.cu 文件; 3. 分别在两个 cu 文件中写上函数, 其中 first.cu 中就是本例程 CUDA 程序的host 部分,first_kernel.cu 中就是本例程 CUDA 程序的 kernel 部分。本例程重在结构的解释,具体的编程方法此处就不讲了,更多的内容请好好看书以及阅读 SDK 中的文档吧; 4. 最重要的地方来了,修改 first.cu 的编译设置; 第一步,打开该文件的属性; 第二步,修改常规设置; 第三步,修改自定义生成步骤; SUME COLLECTION在”Command Line”中拷贝进去以下内容: $(CUDA_BIN_PATH)

7、nvcc.exe -ccbin $(VCInstallDir)bin c -D_DEBUG -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd -I$(CUDA_INC_PATH) -I./ -I././common/inc -o $(ConfigurationName)first.obj first.cu 并且填写”Outputs”和”Additional Dependencies”: 5. 修改工程的属性; 第一步,修改连接器的常规属性为图中所示: 第二部,修改链接器的输入为图中所示: 第三步,修改工程的常规属性中为图中所示: 好了,这个例程就可以编译运行了! sumeustc.edu 2012/11/27 参考文献: 曹伟国 2009,CUDA 与 MFC SUME COLLECTION

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号