OpenMP-to-OpenCL代码自动转换工具的设计与实现

被引量 : 0次 | 上传用户:ZSMJ_AYA
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
传统的单核体系结构由于受到其物理结构设计方面的阻碍,已经难以满足人们对性能的需求,而多核及众核体系结构已经逐渐的成为了当今主流的计算机体系架构。因此,OpenCL作为第一个主要面向多平台异构系统结构的并行编程标准受到了人们越来越多的青睐,而且OpenCL还是一种免费、开放的标准,为用户提供了方便易用的编程接口。但是,OpenCL程序通常比较复杂,开发难度也较大,对开发人员的能力要求也较高。因此本文设计并实现了一个OpenMP-to-OpenCL代码自动转换工具来解决该问题。本文的主要贡献可分为如下三点:1、首先研究分析了OpenMP、OpenCL并行编程标准的相关特性,包括模型架构特点、语言标准规范特征及并行代码优化方法等,总结出OpenMP程序和OpenCL程序之间的关联关系及转换过程中需要解决的技术难点问题。2、对Clang编译器的设计框架结构、内部库函数功能及抽象语法树的内部中间表示进行了详细的分析研究,并在Clang编译器的基础之上完成了OpenMP-to-OpenCL代码自动转换工具的框架结构的搭建工作,即增加OpenMP-to-OpenCL代码转换功能的编译选项-omp2gpu,同时不改变编译器原有功能。3、通过使用源源编译技术、程序分析技术等完成OpenMP程序到OpenCL程序的源源转换。源源转换的核心思想主要是将OpenMP程序中for循环映射成为OpenCL Kernel函数的执行代码,将for循环循环变量映射为Kernel函数线程索引变量等。在具体实现过程中,使用程序分析技术对涉及到的变量进行分析,进而完成OpenCL kernel函数参数及OpenCL内存传递函数代码部分等。此外,为了生成高性能的OpenCL程序,本文通过分析相关代码段中变量的左右值属性来确定其所对应的数据在CPU内存与GPU内存直接的数据传递属性,减少不必要的内存传递代码生成,从而生成高性能的OpenCL代码。最后本文在NVIDIA Tesla C2050GPU、NVIDIA GeForce GTX TITAN GPU、AMDPitcairn GPU三个不同的GPU计算平台上对通过该代码自动转换工具转换生成的多个OpenCL代码实例进行了测试。然后分别从该转换工具的功能、生成OpenCL代码执行性能及在多平台可移植性等多个方面对其进行测试。测试结果说明,该工具不仅能够正确的将OpenMP代码转换为OpenCL代码,而且生成的代码可读性较高,而且在多款GPU设备上均可获得较高的并行加速比。因此,本文所设计的OpenMP-to-OpenCL代码自动转换工具不仅能够很好的解决OpenCL代码开发困难等问题,而且生成代码效率高、可读性好,能够大大的降低程序员的工作量,同时能够帮助那些无法靠自身能力完成从OpenMP代码到OpenCL代码的转换的程序员,为解决遗留OpenMP代码转换问题提供了一种切实可行的方案。
其他文献
《民事诉讼法》中设立的实现担保物权案件一章,是对《物权法》的程序法立法支持,是实现担保物权案件从实体法到程序法的可操作性细化,设置了该程序的具体规范。该程序的设置,
半殖民地半封建社会的中国革命斗争造就了一代伟人孙中山,孙中山思想博大精深,孙中山不仅提出了近代中国革命和建设的行动纲领,而且对执政党的能力和领导干部的品行建设也提
黄连是一种广泛应用的传统中药,历来被认为无毒,很少人注意到黄连的毒性及其在细胞和基因水平上相关的毒性机制。本实验以体外培养的小鼠成纤维细胞L929为对象,从细胞存活率
揭示'促进人类幸福的普遍秩序'这一深层思想之根据,从道德哲学视野对此进行深入反思,这是道德哲学不可回避的重大理论与现实问题。从人性出发探讨促进人类幸福的普遍
研究分析了云南地区三尖杉属植物地理分布与气候和土壤因子之间的关系,结果表明:水热条件特别是极端最高温、年均降水量、最高月均温和年均温是云南三尖杉属植物分布的主要限
文章对传统《格萨尔》早期版本进行了梳理(搜集、整理、辨別、确认、分类、排序、补遗、附录),提出了传统《格萨尔》早期版本可分《格萨尔》前三部、中五部、降伏四魔、十八
滚动轴承在工业生产中的应用越来越广泛。它具有功率损耗小、摩擦力矩低、寿命长、维护方便等特点。随着工业技术的发展,对轴承的性能要求也不断提高,其中保持架作为轴承的重要
为了保证市场经济能够规范有序的运行,我国于2008年开始实施《中华人民共和国反垄断法》(以下简称《反垄断法》)。《反垄断法》作为一国的“经济宪法”,在制裁和打击各种违法经济
背景:大量流行病学研究表明肥胖与各种癌症的发生和发展关系密切,肥胖通常会导致肝脏疾病,如非酒精性脂肪性肝病(NAFLD)和更严重的非酒精性脂肪型肝炎(NASH),进而导致肝脏发生脂肪性
自然灾害、事故灾难等突发事件的频繁发生,给人民群众生命及财产安全带来了巨大危害,对经济发展造成了一定影响。对突发事件的有效应对需要一定的应急物资储备,合理的储备方