[发明专利]用于基于活跃分析的再具体化以减少寄存器不足并提高并行度的技术无效
申请号: | 201280013228.3 | 申请日: | 2012-11-06 |
公开(公告)号: | CN103460188A | 公开(公告)日: | 2013-12-18 |
发明(设计)人: | 孔祥云;王建中;林源;维诺德·格罗弗 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 董巍;谢栒 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 基于 活跃 分析 具体化 减少 寄存器 不足 提高 并行 技术 | ||
相关申请的交叉引用
本申请要求于2011年11月7日提交的序列号为61/556,782的美国临时专利申请、以及于2012年11月5日提交的序列号为13/669,401的美国专利申请的权益。在此通过援引的方式对这些申请的每个加以合并。
技术领域
本发明总地涉及用于并行处理单元(PPU)的编译器,并且,更具体地,涉及一种用于基于活跃(live)分析的再具体化(rematerialization)以减少寄存器不足并提高并行度的技术。
背景技术
图形处理单元(GPU)已经随时间演变以支持面向图形的操作以外的广泛的操作。实际上,现代GPU能够执行任意程序指令。这种GPU一般包括编译程序指令用于在GPU内所包括的一个或多个处理内核上执行的编译器。每个这种内核可与其他执行执行线程的处理内核并行执行一个或多个不同的执行线程。
当GPU内的处理内核执行程序指令的集合时,处理内核可将与这些指令相关联的程序变量存储在寄存器存储器中。如本领域所知的,当寄存器存储器完全由程序变量所充满时,附加的程序变量可能“溢出”到系统存储器。常规方法对“溢出”的一个问题在于系统存储器比寄存器存储器具有高得多的时延。因此,在“溢出”事件发生后,程序指令执行的速度可能显著减小,这是因为不得不从系统存储器而非寄存器存储器访问程序变量。第二个问题在于在处理单元内给定的处理内核能够同时执行的线程的数目取决于可用的寄存器存储器。因此,用程序变量填充寄存器存储器最后可能减小同时执行的线程数并因此减小GPU的整体处理吞吐量。
因此,本领域所需要的是用于管理GPU内的寄存器存储器的更有效的技术。
发明内容
本发明的一个实施例阐述了用于优化能够被编译用于在并行处理单元(PPU)上执行的程序代码的计算机实现的方法,该方法包括针对程序代码生成控制流图、识别控制流图中的、与控制流图中的其他块相比具有最大数目的入口活跃(live-in)变量的第一块、通过对与第一块相关联的入口活跃变量的不同子集实施收益分析来选择与第一块相关联的入口活跃变量的第一子集、以及通过将入口活跃变量的第一子集再具体化到在控制流图中的第一块之后的控制流图中的第二块中来优化程序代码,其中经优化的程序代码将在PPU上执行。
所公开的技术的一个优点是将入口活跃变量的某些子集再具体化减小了寄存器不足,从而减少溢出事件的可能性。减小寄存器不足还允许较大数目的执行线程在PPU内同时执行,从而增加PPU的整体处理吞吐量。
附图说明
因此,可以详细地理解本发明的上述特征,并且可以参考实施例得到对如上面所简要概括的本公开更具体的描述,其中一些实施例在附图中示出。然而,应当注意的是,附图仅示出了本公开的典型实施例,因此不应被认为是对其范围的限制,本公开可以具有其他等效的实施例。
图1是示出了配置为实现本发明的一个或多个方面的计算机系统的框图;
图2是根据本发明的一个实施例的、用于图1的计算机系统的并行处理子系统的框图;
图3示出了根据本发明的一个实施例的、用来编译使能协处理器的应用的构建过程;
图4是根据本发明的一个实施例的、用于用入口活跃变量的集合来实施基于活跃分析的再具体化的方法步骤的流程图;
图5是根据本发明的一个实施例的、用于对入口活跃变量的集合实施收益分析的方法步骤的流程图;
图6根据本发明的一个实施例阐述示范性控制流图以说明设备编译器和连接器(linker)的操作。
具体实施方式
在下面的描述中,将阐述大量的具体细节以提供对本发明更透彻的理解。然而,本领域的技术人员应该清楚,本发明可以在没有一个或多个这些具体细节的情况下得以实施。
系统概述
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280013228.3/2.html,转载请声明来源钻瓜专利网。