计算机工程与应用
計算機工程與應用
계산궤공정여응용
Computer Engineering and Applications
2015年
21期
41-47
,共7页
朱正东%刘袁%魏洪昌%颜康%王寅峰%董小社
硃正東%劉袁%魏洪昌%顏康%王寅峰%董小社
주정동%류원%위홍창%안강%왕인봉%동소사
通用计算图形处理器(GPGPU)%统一计算架构(CUDA)%自动映射%源到源编译
通用計算圖形處理器(GPGPU)%統一計算架構(CUDA)%自動映射%源到源編譯
통용계산도형처리기(GPGPU)%통일계산가구(CUDA)%자동영사%원도원편역
General Purpose Graphic Processing Unit(GPGPU)%Compute Unified Device Architecture(CUDA)%auto-matic mapping%source to source compile
针对GPU上应用开发移植困难的问题,提出了一种串行计算源程序到并行计算源程序的映射方法。该方法从串行源程序中获得可并行化循环的层次信息,建立循环体结构与GPU线程的对应关系,生成GPU端核心函数代码;根据变量引用读写属性生成CPU端控制代码。基于该方法实现了一个编译原型系统,完成了C语言源程序到CUDA源程序的自动生成。对原型系统在功能和性能方面的测试结果表明,该系统生成的CUDA源程序与C语言源程序在功能上一致,其性能有显著提高,在一定程度上解决了计算密集型应用向CPU-GPU异构多核系统移植困难的问题。
針對GPU上應用開髮移植睏難的問題,提齣瞭一種串行計算源程序到併行計算源程序的映射方法。該方法從串行源程序中穫得可併行化循環的層次信息,建立循環體結構與GPU線程的對應關繫,生成GPU耑覈心函數代碼;根據變量引用讀寫屬性生成CPU耑控製代碼。基于該方法實現瞭一箇編譯原型繫統,完成瞭C語言源程序到CUDA源程序的自動生成。對原型繫統在功能和性能方麵的測試結果錶明,該繫統生成的CUDA源程序與C語言源程序在功能上一緻,其性能有顯著提高,在一定程度上解決瞭計算密集型應用嚮CPU-GPU異構多覈繫統移植睏難的問題。
침대GPU상응용개발이식곤난적문제,제출료일충천행계산원정서도병행계산원정서적영사방법。해방법종천행원정서중획득가병행화순배적층차신식,건립순배체결구여GPU선정적대응관계,생성GPU단핵심함수대마;근거변량인용독사속성생성CPU단공제대마。기우해방법실현료일개편역원형계통,완성료C어언원정서도CUDA원정서적자동생성。대원형계통재공능화성능방면적측시결과표명,해계통생성적CUDA원정서여C어언원정서재공능상일치,기성능유현저제고,재일정정도상해결료계산밀집형응용향CPU-GPU이구다핵계통이식곤난적문제。
Aiming at the developing and porting difficulties of GPU-based applications, a mapping approach is proposed, which converts serial computing source code into equivalent parallel computing source code. This approach acquires hier-archies of parallelizable loops from serial sources, establishes the correspondence between loop structures and GPU threads, and generates the core function code for GPU. Meanwhile, CPU control code is generated according to read/write attributes of variable references. A compiler prototype is implemented based on this approach, which translates C code into CUDA code automatically. Functionality and performance evaluations of the prototype show that the CUDA code generated is functionally equivalent to the original C code, with significant improvement in performance, thus overcomes the diffi-culty in porting compute-intensive applications to CPU-GPU heterogeneous systems.