下载此文档

浅析CUDA编译流程与配置方法.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
浅析CUDA编译流程与配置方法(1)
发表时间:2010-01-06
是一种编译器驱动,通过命令行选项可以在不同阶段启动不同的工具完成编译工作,其目的在于隐藏了复杂的CUDA编译细节,,它接受一定的传统编译选项如宏定义,库函数路径以及编译过程控制等。
不知不觉做CUDA程序已经有大半年的时间了,参加CUDA校园竞赛也得到一个优秀作品奖,也算是对自己的一个肯定,但是从来没有好好整理和记录自己的技术应用心得。由于最近实验室要求统一自己的CUDA软件开发环境,当然一个大问题就是编译选项如何配置。原先一直使用网上勇哥提供的向导自动配置好的环境,以及参照模仿SDK下的一些模板进行配置,这样就做了这么久,但是boss的意思是要我们自己更多的掌握,也就是要知其所以然。里整理出来的一些东西贴出来!欢迎有兴趣的朋友交流讨论。那么就从CUDA编译流程的介绍开始吧!
不畏浮云遮望眼,只缘身在最高层!配置,第一步在我看来,就是整体上把握CUDA程序的编译流程。所以开篇还是要看起来很务虚的介绍下基本的程序编译框架。
一、CUDA编译流程简介
是一种编译器驱动,通过命令行选项可以在不同阶段启动不同的工具完成编译工作,其目的在于隐藏了复杂的CUDA编译细节,,它接受一定的传统编译选项如宏定义,库函数路径以及编译过程控制等。CUDA程序编译的路径会因在编译选项时设置的不同CUDA运行模式而不同,如模拟环境的设置等。封装了四种内部编译工具,即在C:\CUDA\(C:\CUDA\open64\bin),ptxas,fatbin,cudafe。的工作流程说明如下:
首先是对输入的cu文件有一个预处理过程,这一过程包括的步骤有将该源文件里的宏以及相关引用文件扩展开,然后将预编译已经产生的与C有关的CUDA系统定义的宏扩展开,并合并分支编译的结果。
预处理后,首先将预处理的结果送给CUDA前端,即CUDAfe。通过CUDAfe分离源文件,然后调用不同的编译器分别编译。cudafe被称为CUDA frontend,会被调用两次,完成两个工作:一是将主机代码与设备代码分离,生成gpu文件,二是对gpu文件进行dead code analysis,。生成ptx文件传给ptxas,最后将cubin或ptx传给fatbin。
同时,在编译阶段CUDA源代码对C语言所扩展的部分将被转成regular ANSI C的源文件,也就可以由一般的C编译器进行更多的编译和连接。也即是设备代码被编译成ptx(parallel thread execution)代码或二进制代码,host代码则以C文件形式输出,在编译时可将设备代码链接到所生成的host代码,将其中的cubin对象作为全局初始化数据数组包含进来,但此时,kernel执行配置也要被转换为CUDA运行启动代码,以加载和启动编译后的kernel。在使用CUDA驱动API时,可单独执行ptx代码或cubin对象,编译得到的host代码。
另外,的各个编译阶段以及行为是可以通过组合输入文件名和选项命令进行选择的。它是不区分输入文件类型的,如object, library or resource files,仅仅把当前要执行编译阶段需要的文件传递给linker。
以上是我个人对CUDA编译过程的一个阐述,有个整体的把握了吧!
浅析CUDA

浅析CUDA编译流程与配置方法 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xunlai783
  • 文件大小59 KB
  • 时间2018-01-08
最近更新