领域专家协同的编译方法研究

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:ganggang821010
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在计算机芯片飞速发展的同时,计算机软件性能成为计算机系统的重要短板,在计算机科学进入多核/众核时代之后,随着片上并行度和复杂度的增加,这一问题变得更加严峻,如何将芯片潜力转换为软件效率,是编译研究人员亟待解决的问题。   传统的编译方法出于通用性的考虑,无法为应用程序定制优化策略,因此远远不能满足用户对多核/众核平台的性能预期。与此同时,领域专家程序员在针对特定程序挖掘芯片潜能方面积累了丰富的经验,这些经验成为编译开发人员不可忽视的性能来源。然而,传统编译方法由于受代价模型的限制,无法将这些经验持续的集成在编译器中。因此,本文针对这一现状,提出一种新的领域专家协同的编译方法,以解决传统方法中的适配性、成长性、可控性问题。   本文的主要成果和创新性贡献如下:   在实验的基础上,深入详细的分析了在多核/众核平台上编译器取得的性能远远落后于领域专家优化效果的现象,指出了编译器性能损失的深层次原因。   提出领域专家协同的“语义模式构建”编译方法,由编译开发人员使用语义模式构建接口来持续的将领域专家的经验集成在通用编译器中,并由大众应用程序员通过语义表达机制来引导编译器针对不同的语义模式实施不同的优化策略。   提出一个支持上述方法的编译框架EPOD(ExtendablePattern-OrientedOptimizationDirectives),以两种基于不同中间表示的优化组件池为基础,设计了新编译方法中关键的语义表达机制(EPOD制导)和语义构建机制(优化编程接口和EPOD脚本)。   实现了一个EPOD的原型系统,从科学计算领域提取出了5个抽象的语义并集成在EPOD中。在三个有代表性的多核/众核平台上对EPOD方法进行了评测,实验表明EPOD能够达到领域专家通过精细调优才能取得的峰值性能。与Intel多核平台上的商用编译器相比,这五个语义能够分别获得平均2.37倍、5.25倍、143.85倍、1.35倍和1.77倍的性能提升。   利用语义之间存在相似性这一特点,提出一种“优化适配器”OA(OptimizationAdaptor)的理念和支撑框架,从而进一步改善新编译方法的成长性。实验表明,由于适配器编译理念的加入,OA能够取得比厂商提供的数学库好得多的性能(在三个NVIDIAGPU平台上最高的性能提升分别为5.4倍、2.8倍和3.4倍,平均性能提升为2.09倍、1.86倍和2.59倍)。
其他文献
随着万维网(World Wide Web)的迅速发展和Web用户数量急剧增加,大规模的Web数据已经成为一类重要的数据资源,在研究和应用领域受到了广泛的关注。Web数据可以分为两种类型:一
随着星载成像类载荷的数量和精度的提高,在有效观测时间段内卫星获取的图像数据量越来越大。受地面接收站地理分布限制,卫星多采用先存储后下行的机制,即先将采集到的数据放
软件测试是软件开发的关键环节之一,直接关系到软件的质量。其中API测试是软件测试的重要环节之一。目前API测试过程繁琐而且对测试人员的编码能力要求较高。另外,当测试数据
3D图形引擎广泛地被应用于各种领域,例如游戏开发、虚拟现实、工业设计等等。尤其是3D游戏设计,其最核心的组件就是3D图形引擎。3D图形引擎已经发展成为一套由多个子系统共同
随着全球定位系统(GlobalPositioningSystem,GPS)在航海、航空、航天、交通测绘、资源勘探、通信、气象等领域的广泛应用,卫星导航接收机的研发成为了当今世界的热门研究课题
提出了进化算法研究平台,将平台功能分为算法构建和数据处理。算法构建包括内部构建、外部导入、引擎驱动三个部分;数据处理包括数据显示、数据统计、数据日志、数据导出四个
随着应用数据的不断增大,以及片上处理器核心数的不断增加,对内存容量的需求越来越大,内存容量的扩展成为必然趋势,使得内存子系统逐渐成为整个计算机系统功耗和性能的瓶颈。  
工作流技术是当今一项飞速发展的技术,起源于生产组织和办公自动化领域,通过将工作分解成定义良好的任务或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高
计算机支持的协同设计(CSCD)是一种基于网络的、由异地且不同领域的专家参与的分布式开发技术。它是由多学科多专家共同工作,完成一个共同的产品设计任务,从而提高工作效率,
随着计算机网络得到广泛的普及和发展,网络技术在为人们提供了方便的同时,黑客入侵也不断出现,信息安全事件频频发生,计算机信息安全越来越成为各个国家防止大规模计算机安全事件