source-to-source compiler
i_dont_give_a_fxxk
专注。。。坚持。。。
展开
-
还没想通的问题
(1)是否实现一个source to source的编译器。(2)如果(1)是,那如何利用LLVM的中间代码产生OpenCL代码。(3)如果不用LLVM,考虑小强师兄的实现方法(cetus前端),这可能性较小,还是思考(2)怎么解决。原创 2014-02-26 22:20:21 · 586 阅读 · 0 评论 -
关于技术路线的初步想法
(1)前端用clang,因为clang对C language family的扩展有良好的支持(需调研)。(2)源程序通过前端翻译出来的LLVM IR再最转换成PTX中间语言(重点,应该需要大量工作)。(3)得到的PTX再交给CUDA runtime或者AMD runtime执行。问题:如果采用这种技术路线的话那么与源到源翻译的初衷有点相违背(源到源的输出目标是目标高层语言OpenCL或原创 2014-02-28 15:55:32 · 781 阅读 · 0 评论 -
关于源到源实现的最新想法
最近google了挺多source-to-source compiler的资料和论坛,对技术路线有了进一步的想法。之前跟燕燕姐交流后解到了一点,如果用LLVM做源到源,那么从LLVM IR转换到CUDA或者OPENCL这一步将会非常难以实现(缺乏相应接口,需要自己实现),而且中间IR的优化也用不上场(这可是LLVM的精髓啊)。后来进一步调研发现LLVM的前端Clang对源到源非常合适,已经有不少人原创 2014-03-16 15:11:29 · 722 阅读 · 0 评论 -
[accTC开发] 第一周进度
已完成进度:可以原创 2014-04-13 19:11:49 · 389 阅读 · 0 评论 -
关于源到源编译器后期优化的新想法
在看师兄的遗产给出的总结tidao原创 2014-04-10 15:25:10 · 522 阅读 · 0 评论 -
[accTC开发] 第二周进度
(1)已完成进度已经可以原创 2014-05-10 14:54:52 · 386 阅读 · 0 评论 -
与师兄交流后的感想
(1)PAPER还是得多看,有助于把握大方向。(2)还是老老实实从基本文档看起,例如中间语言文档、各种API接口文档甚至源码,不能急。(3)编程能力还是得多练(leetcode?)原创 2014-02-28 22:46:33 · 730 阅读 · 0 评论 -
[accTC开发] 代码模块实现步骤的初步想法
粗略过了一遍Clang Tutorial,对Clang的模块有了初步的了解,觉得下周可以进入开发阶段了,源到源编译器的开发模块步骤有初步的计划:(1)预处理:利用preprocessor识别出#pragma代码块 ;(2)提取kernel:将#pragma代码块提取出来放到新建的.cu文件;(3)转换:分别在.cpp和.cu文件用Rewriter和Replacement方法转换成CUD原创 2014-03-28 11:31:47 · 487 阅读 · 0 评论