可重构众核流处理器上的编译与程序优化技术

被引量 : 0次 | 上传用户:oceanspring
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
半导体工艺的持续进步和流编程模型的提出是推动众核流处理器体系结构向前发展的两个重要因素。为了充分利用摩尔定律发展带来的丰富廉价的晶体管资源,片上多处理器已经成为工业界所接受的新一代处理器体系结构的解决方案之一。另一方面,流编程模型的提出为解决应用程序并行性表示和开发提供了有利的工具,业已成为程序并行化的一般方法。但是流应用程序本身的运行时特性对处理器资源的灵活可配置提出了新的要求。一方面,不同程序对于计算,存储和控制的硬件资源需求是千差万别的;另一方面,有的程序对于硬件资源的需求还表现出阶段性特征,不同阶段所需的硬件资源也不尽相同。为了解决这一问题,近年来可重构众核处理器体系结构受到广泛关注,期望以同构的轻量级物理核来构建不同粒度的逻辑处理器,自适应地调整硬件资源,最大化串行程序的性能。我们基于以上认识,提出了可重构的众核流处理器体系结构TPA-S,旨在为流应用程序提供片上资源灵活可重构的硬件衬底。本文围绕这一体系结构,研究了以CUDA为代表的流编程模型在TPA-S上的编译和程序优化技术,分别从可重构流处理器的执行模型,指令集扩展,编译系统设计,以及程序优化技术等方面展开研究。主要的研究内容包括:(1)研究流编程模型与可重构流体系结构的执行模型,探索流应用程序在可重构流处理器TPA-S上的映射方案。流编程模型的实质在于控制和计算的分离:流程序中的计算密集部分以核心函数的形式被抽取出来,使用多个计算线程来开发数据级并行性;而控制线程专注于计算之外的控制流程序,为核心函数组织数据以及开发生产者-消费者局部性。我们设计了主从式和分阶段式两种程序映射方案,分别以异步和同步的方式将计算线程和控制线程映射到TPA-S的多个逻辑处理器上。另外,我们还提出了单一线程和组合线程这两种核心函数的组织方式,在单线程性能和系统吞吐率之间寻求最佳平衡点。(2)研究流编程模型对TPA-S指令集体系结构产生的设计需求,提出扩展的类数据流EDGE指令集DISC-S。TPA-S流处理器基于显式数据流图执行(EDGE)指令集,将程序的每个线程组织为原子执行和提交的超块序列,在超块内部按照类数据流方式执行。EDGE指令集中特殊的目标域编码方式是TPA-S处理器实现物理核可重构的基础之一。然而流编程模型为TPA-S微结构带来了一些不包括在EDGE指令集中的新特性,例如:多个计算线程需要依靠只读的特殊寄存器来快速地获取线程索引信息;计算线程需要访问软件管理的片上共享存储器数据;另外,多个线程之间需要实现高效的栅栏同步机制。DISC-S扩展指令集针对以上新特性,增加了对特殊寄存器读写,软件管理的片上共享存储层次以及线程间同步的指令支持,为实现流编程模型的映射带来了方便。(3)设计并实现面向CUDA编程语言的TPA-S编译器系统。本文基于NVCC编译框架将编译器系统分为核心级与流级两条编译链。我们参考scale编译器设计了核心级编译器Ptx2EDGE,将PTX汇编语言形式的计算线程源代码程序编译成DISC-S扩展指令集的二进制目标代码。在流级,我们实现了CUDA C语法扩展和API函数接口以及运行时库的移植,并复用scale串行编译器产生控制线程代码。编译器系统设计的主要工作由一系列编译模块与工具软件的代码实现组成,包括PTX和CUDA语法的前端识别,中间表示形式转换,超块生成和优化,资源分配与指令调度,汇编器与链接器等。另外,为了实现CUDA控制线程中设备管理,线程管理,执行控制和存储器管理等功能模块,我们移植了CUDA运行时库并实现了软件运行时系统Mpsim。编译系统的正确性和执行效率通过实验在一组基准测试程序上进行了验证与评测。(4)研究了不规则程序在流处理器上的程序优化方法。本文主要分析了众核流处理器上不规则程序的性能瓶颈问题,并对GPU平台上的图广度优先搜索算法进行了实例研究,希望找到不规则程序在流处理器上进行性能调优的一般性方法。我们针对不规则程序中复杂多变的无组织数据并行性提出了基于并行性反馈的FlexBFS高效实现方法,并针对不规则访存带来的动态队列访存效率问题以及不规则输入引起的负载平衡问题,分别提出了相应的程序优化技术。这些实现方法和优化技术都能够被应用到其它的不规则程序当中。本文获得了以下重要认识:(1)流编程模型能够驱动指令集体系结构的设计,ISA需要反映编程模型带来的新特性;(2)流程序的多线程映射需要软件运行时库的协同工作,在将来的操作系统中可以增加对流编程模型的支持;(3)编译系统设计环节需要使用合适的编程模式和软件工程方法来增强程序的模块化与可读性,例如访问者模式;(4)不规则程序的并行性开发需要准确的并行性度量,使用在线剖析技术能够指导计算资源的合理划分。
其他文献
根据轮胎噪声源的分类,结合典型的低噪声轮胎设计,从轮胎振动噪声、空气噪声和轮胎花纹节距设计优化方面分析了当前低噪声轮胎设计的技术思路。分析结果表明,目前降低轮胎噪
<正> 为保证用电设备在交流电源停电后也能正常工作,一般是采用逆变器将蓄电池直流电源逆变成符合用电设备要求的交流电源来供给,以保证这些设备的正常工作。对于使用单相交
系统主要由摆架框架、数据采集部分、主控板、驱动系统四大部分组成。设计采用ATMEL公司AVR内核,ATmega16单片机作为系统的主控制芯片,数据采集使用高精度加速倾角传感器MMA7
随着全球化发展速度加快,对于加强高校学生的跨文化交际能力就显得极为重要了。尤其是高校日语教学中此种能力的培养,也愈发受到社会的关注。当前的日语教学过程中,语言教学
张念志主任医师认为中医中药治疗支气管哮喘缓解期,有其独特的优势所在,治疗本病应重视在其缓解期培元固本,以减少哮喘反复发作。在具体治疗上,肺脾肾三脏同治兼化痰浊;益气
本文着重介绍了薄板零件机加工夹具设计的思路,以及在加工过程中真空度与切削用量、薄板面积的关系。
城市水务属于城市公用服务的范畴,公共性和自然垄断性是城市水务服务的基本属性,其公共性要求城市水务服务的供给应该体现公平、公正,保证每一个生活在城市中的人都能享用到最基
犯罪是社会发展异化的特定产物,激情犯罪的存在和攀升在当代社会有其合理性和必然性。现代工业化进程加剧,社会发展失衡和矛盾激化,激情犯罪提前进入规范视野,成为学界和实务无法
随着科学技术进步,机械进给系统向着高精度、高效率和绿色化方向发展。机床进给系统对超高速切削、超精密加工提出了更高的要求,传统的旋转电机滚珠丝杠结构已经无法满足要求。
橡胶/金属复合密封板主要由金属芯板和橡胶弹性体涂层组成。金属芯板以不锈钢为主,而橡胶中氟橡胶具有耐热、耐溶剂、高机械强度的特性。因此,氟橡胶/金属复合密封板在具有良好