[发明专利]用于GPU计算编译器中的过程间存储器地址空间优化的技术无效
申请号: | 201280006682.6 | 申请日: | 2012-11-06 |
公开(公告)号: | CN103339621A | 公开(公告)日: | 2013-10-02 |
发明(设计)人: | 孔祥云;王建中;林源;维诺德·格罗弗 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F13/00 | 分类号: | G06F13/00 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 徐丁峰;魏宁 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 gpu 计算 编译器 中的 过程 存储器 地址 空间 优化 技术 | ||
相关申请的交叉引用
本申请主张享有2011年11月7日提交的、申请号为61/556,782的美国临时专利申请和2012年10月24日提交的、申请号为13/659,802的美国专利申请的优先权。这些申请的每一个在此通过引用并入本文。
技术领域
本发明总地涉及图形处理单元(GPU)计算编译器,并且更具体地涉及用于GPU计算编译器中的过程间(inter-procedural)存储器地址空间优化的技术。
背景技术
图形处理单元(GPU)已经随时间演进为支持超出面向图形操作的广泛操作。事实上,现代GPU可能能够执行任意程序指令。这类GPU典型地包括编译用于在GPU内所包括的一个或多个处理核心上执行的程序指令的编译器。每个这类核心可以与其他处理核心对执行线程加以执行相并行地对特定执行线程加以执行。
GPU内的给定核心可以耦连到本地存储器空间,该本地存储器空间当GPU执行线程时可供GPU用于存储器访问操作。每个核心还可以耦连到一个或多个其他核心也可以耦连到的共享存储器空间。利用该配置,多个核心可以经由共享存储器空间来共享数据。GPU内的核心还可以耦连到全局存储器空间,其对所有处理核心可访问并且可能对除GPU自身之外的其他处理核心可访问。
上述多个不同存储器空间的配置在本领域被称为“非一致(non-uniform)存储器架构”。一般地,非一致存储器架构包括数据可以驻留其中的多个不同存储器空间。设计为在GPU上执行的程序可以访问驻留在非一致存储器架构中的任何或所有不同存储器空间中的数据。
在这类程序内,可以指定不同的存储器访问操作,诸如加载/存储操作或原子操作,其每一个瞄准不同的地址。然而,瞄准给定存储器地址的给定存储器访问操作可以不指定任何特定的存储器空间。在常规方法中,在运行时间,执行程序的GPU典型地读取与地址相关联的标签、该标签指示在其中将实施存储器访问操作的具体存储器空间。每个地址都要求标签,因为例如两个不同的变量可以都驻留在不同存储器空间内的相同地址处。在没有这类标签的情况下,两个变量仅基于地址将不能区别。
依靠上述进行标签的方法由于两个原因而有问题。第一个,对每个存储器访问操作来读取标签是高成本操作并且浪费GPU资源。第二个,因为具有相同地址的变量直到运行时间为止是不可区别的,所以GPU编译器无法在运行时间之前实施程序代码优化,包括存储器访问重新排序或别名分析。
因此,本领域需要的是用于编译GPU程序指令的更有效的技术。
发明内容
本发明的一个实施例阐述一种用于优化能够经编译以在具有非一致存储器架构的并行处理单元(PPU)上执行的程序代码的计算机实现的方法,包括识别与第一指针相关联的第一存储器访问操作,其中第一存储器访问操作瞄准通用存储器空间;上溯与第一指针相关的使用-定义链;一旦确定第一指针源自非一致存储器架构中的具体存储器空间,就将第一指针添加到向量;以及通过修改程序代码的至少一部分使第一存储器访问操作瞄准具体存储器空间。
所公开的技术的一个优势是不要求图形处理单元在运行时间分解所有通用存储器访问操作,从而保存资源并加速应用的执行。进一步地,使图形处理单元能够利用应用程序代码实施附加程序代码优化,包括存储器访问重新排序和别名分析,进一步加速程序代码执行。
附图说明
因此,可以详细地理解本发明的上述特征,并且可以参考实施例得到对如上面所简要概括的本发明更具体的描述,其中一些实施例在附图中示出。然而,应当注意的是,附图仅示出了本发明的典型实施例,因此不应被认为是对其范围的限制,本发明可以具有其他等效的实施例。
图1是示出了配置为实现本发明的一个或多个方面的计算机系统的框图;
图2是根据本发明的一个实施例的、用于图1的计算机系统的并行处理子系统的框图;
图3示出了根据本发明的一个实施例的、用来对协处理器使能应用进行编译的构建过程;
图4是根据本发明的一个实施例的、用于优化存储器访问操作的方法步骤的流程图;
图5是根据本发明的一个实施例的、用于将常变量传送到全局存储器空间的方法步骤的流程图;以及
图6阐述了根据本发明的一个实施例的伪代码的示例以示出设备编译器和链接器的操作。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280006682.6/2.html,转载请声明来源钻瓜专利网。