资源描述:
《面向cpu-gpu架构的源到源自动映射方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、ComputerEngineeringandApplications计算机工程与应用2015,51(21)41面向CPU-GPU架构的源到源自动映射方法111121朱正东,刘袁,魏洪昌,颜康,王寅峰,董小社111121ZHUZhengdong,LIUYuan,WEIHongchang,YANKang,WANGYinfeng,DONGXiaoshe1.西安交通大学电子与信息工程学院,西安7100492.深圳信息职业技术学院,广东深圳5181721.SchoolofElectronic&InformationEngineering,Xi’anJiaotongUniversity,X
2、i’an710049,China2.ShenzhenInstituteofInformationTechnology,Shenzhen,Guangdong518172,ChinaZHUZhengdong,LIUYuan,WEIHongchang,etal.NovelautomaticmappingtechnologyonCPU-GPUheteroge-neoussystems.ComputerEngineeringandApplications,2015,51(21):41-47.Abstract:Aimingatthedevelopingandportingdifficult
3、iesofGPU-basedapplications,amappingapproachisproposed,whichconvertsserialcomputingsourcecodeintoequivalentparallelcomputingsourcecode.Thisapproachacquireshier-archiesofparallelizableloopsfromserialsources,establishesthecorrespondencebetweenloopstructuresandGPUthreads,andgeneratesthecorefunct
4、ioncodeforGPU.Meanwhile,CPUcontrolcodeisgeneratedaccordingtoread/writeattributesofvariablereferences.Acompilerprototypeisimplementedbasedonthisapproach,whichtranslatesCcodeintoCUDAcodeautomatically.FunctionalityandperformanceevaluationsoftheprototypeshowthattheCUDAcodegeneratedisfunctionally
5、equivalenttotheoriginalCcode,withsignificantimprovementinperformance,thusovercomesthediffi-cultyinportingcompute-intensiveapplicationstoCPU-GPUheterogeneoussystems.Keywords:GeneralPurposeGraphicProcessingUnit(GPGPU);ComputeUnifiedDeviceArchitecture(CUDA);auto-maticmapping;sourcetosourcecompi
6、le摘要:针对GPU上应用开发移植困难的问题,提出了一种串行计算源程序到并行计算源程序的映射方法。该方法从串行源程序中获得可并行化循环的层次信息,建立循环体结构与GPU线程的对应关系,生成GPU端核心函数代码;根据变量引用读写属性生成CPU端控制代码。基于该方法实现了一个编译原型系统,完成了C语言源程序到CUDA源程序的自动生成。对原型系统在功能和性能方面的测试结果表明,该系统生成的CUDA源程序与C语言源程序在功能上一致,其性能有显著提高,在一定程度上解决了计算密集型应用向CPU-GPU异构多核系统移植困难的问题。关键词:通用计算图形处理器(GPGPU);统一计算架构(CUD
7、A);自动映射;源到源编译文献标志码:A中图分类号:TP303doi:10.3778/j.issn.1002-8331.1407-0523目前图形处理器(GraphicProcessingUnit,GPU)线程和多级存储结构依然使程序开发人员在CPU-GPU依靠其强大的计算能力已经被广泛应用于能源探测、金异构多核系统上进行编程和移植花费大量的时间和精[1]融分析、生物医学等各个领域,然而复杂的体系结构对力。目前,利用源到源编译技术帮助用户在GPU下进应用移植造成了较大的阻碍,统一计算架构(C