MFC项目中使用CUDA的原则性说明
2012-05-27 10:42
465 查看
问题描述:有很多朋友希望自己的MFC程序中能使用CUDA。就一直搜索MFC项目配置CUDA的资料。在这里以个人的经验和理解向还在迷茫的朋友们说几点,看完这几点说明,相信大家不会再迷茫。
1、首先微软提供过的各种项目模版只是简化了我们的开发时间,它的实质还是C或者C++语言。所以我们只要把神马MFC项目理解为普通的C\C++项目就可以了。
2、基于第一点,我们应该做些什么那?只要在我们的MFC项目下按照一般C\C++程序添加CUDA代码就可以了。这一点我们应该思考,添加了代码就可以了吗?当然不可以!应该思考一下文件的编译过程,在没有指定编译器的情况下你的CUDA程序怎么可能被正确编译那?你必须选择.cu文件的编译规则!如果你使用runtime,你要添加自定义编译规则,然后修改你的cu文件的属性,告诉VS你的cu问价是谁来编译的。
3、根据nvcc的编译规则,cu文件首先会被编译,然后生成一大堆的obj文件,然后是微软的编译器开始工作,他编译了剩下的程序。然后是连接器,它连接了所有obj,lib。然后你如果想执行,执行就是了。
4、如果大家觉得这种方法不可靠,完全可以把cuda的程序写成DLL的,然后在大家想使用CUDA的程序中添加lib、dll。
以上是我个人理解,如有可以探讨的问题,可以评论,我会及时做出回答。
1、首先微软提供过的各种项目模版只是简化了我们的开发时间,它的实质还是C或者C++语言。所以我们只要把神马MFC项目理解为普通的C\C++项目就可以了。
2、基于第一点,我们应该做些什么那?只要在我们的MFC项目下按照一般C\C++程序添加CUDA代码就可以了。这一点我们应该思考,添加了代码就可以了吗?当然不可以!应该思考一下文件的编译过程,在没有指定编译器的情况下你的CUDA程序怎么可能被正确编译那?你必须选择.cu文件的编译规则!如果你使用runtime,你要添加自定义编译规则,然后修改你的cu文件的属性,告诉VS你的cu问价是谁来编译的。
3、根据nvcc的编译规则,cu文件首先会被编译,然后生成一大堆的obj文件,然后是微软的编译器开始工作,他编译了剩下的程序。然后是连接器,它连接了所有obj,lib。然后你如果想执行,执行就是了。
4、如果大家觉得这种方法不可靠,完全可以把cuda的程序写成DLL的,然后在大家想使用CUDA的程序中添加lib、dll。
以上是我个人理解,如有可以探讨的问题,可以评论,我会及时做出回答。
相关文章推荐
- MFC项目中使用CUDA的原则性说明
- VS2013 MFC项目使用多字节字符集
- VC++中combo box(组合框)控件使用说明/MFC COMBOBOX的使用
- Maven使用说明及idea上的Maven项目编程
- HTTP和反向代理服务器-nginx在项目中的简单使用说明
- Atitit.项目修改补丁打包工具 使用说明
- 如何使用MFC和类型库创建自动化项目
- UWP项目中EnitityFramework开源框架使用说明(一)
- 关于MFC项目中使用WebBrowser控件禁止脚本错误的方法
- VC/MFC项目开发——使用回调函数为CListCtrl排序(k_eckel转自微软高校博客K_eckel's mindview)
- 基于JUnit使用PowerMock的Mockito扩展在Maven测试项目中的配置说明
- MFC控件使用说明书
- 百度Web富文本编辑器ueditor在ASP.NET MVC3项目中的使用说明
- [转]如何使用MFC和类型库创建自动化项目
- VS2013中编译项目在静态库中使用MFC出现错误的解决方法
- 项目一:各个控件使用大杂烩(说明:这不是一个真正的项目,是分开的16个工程)
- ASDF(Lisp项目构建利器)使用说明
- Atitit.项目修改补丁打包工具 使用说明
- 项目中使用的spring 注解说明
- 在mfc中使用cef实现webkit的浏览器(二)-修改项目属性