[发明专利]用于GPU计算编译器中的过程间存储器地址空间优化的技术无效
申请号: | 201280006682.6 | 申请日: | 2012-11-06 |
公开(公告)号: | CN103339621A | 公开(公告)日: | 2013-10-02 |
发明(设计)人: | 孔祥云;王建中;林源;维诺德·格罗弗 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F13/00 | 分类号: | G06F13/00 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 徐丁峰;魏宁 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 gpu 计算 编译器 中的 过程 存储器 地址 空间 优化 技术 | ||
1.一种用于优化能够经编译以在具有非一致存储器架构的并行处理单元(PPU)上执行的程序代码的计算机实现的方法,所述方法包括:
识别与第一指针相关联的第一存储器访问操作,其中所述第一存储器访问操作瞄准通用存储器空间;
上溯与所述第一指针相关的使用-定义链;
一旦确定所述第一指针源自所述非一致存储器架构中的具体存储器空间,就将所述第一指针添加到向量;以及
通过修改所述程序代码的至少一部分使所述第一存储器访问操作瞄准所述具体存储器空间。
2.如权利要求1所述的计算机实现的方法,其中所述具体存储器空间包括由所述PPU内的处理核心集可访问的全局存储器空间、与所述处理核心集中所包括的第一处理核心相关联的本地存储器空间、由所述处理核心集中所包括的处理核心中的两个或两个以上可访问的共享存储器空间、或者驻留在只读存储器中的常数存储器空间。
3.如权利要求1所述的计算机实现的方法,其中与所述第一指针相关的所述使用-定义链通过利用所述程序代码实施数据流分析以识别所述第一指针的每个定义和每个使用来生成。
4.如权利要求1所述的计算机实现的方法,进一步包括:
通过下溯与第一存储器地址相关的定义-使用链来识别第二存储器访问操作;
确定所述第二存储器访问操作不瞄准具体存储器空间;
识别与所述第一存储器地址相关联的第一变量声明,其中所述第一变量声明指示所述第一存储器地址与常数存储器空间中的位置相关;以及
通过修改所述程序代码的至少一部分使所述第一变量声明指示所述第一存储器地址与全局存储器空间中的位置相关。
5.如权利要求4所述的计算机实现的方法,进一步包括将与所述第一存储器地址相关联的数据从所述常数存储器空间提升到所述全局存储器空间。
6.如权利要求4所述的计算机实现的方法,其中与所述第一存储器地址相关的所述定义-使用链通过利用所述程序代码实施数据流分析以识别所述第一存储器地址的每个定义和每个使用来生成。
7.如权利要求4所述的计算机实现的方法,进一步包括:
识别取决于所述第一变量声明的第三存储器访问操作;
确定所述第三存储器访问操作还取决于与第二存储器地址相关联的第二变量声明,其中所述第二变量声明指示所述第二存储器地址与所述常数存储器空间中的位置相关;以及
通过修改所述程序代码的至少一部分使所述第二变量声明指示所述第二存储器地址与所述全局存储器空间中的位置相关。
8.如权利要求7所述的计算机实现的方法,进一步包括:
通过修改所述程序代码的至少一部分使所述第三存储器访问操作瞄准所述全局存储器空间;以及
将与所述第三存储器地址相关联的数据从所述常数存储器空间提升到所述全局存储器空间。
9.如权利要求1所述的计算机实现的方法,进一步包括基于已经被修改的所述程序代码的所述至少一部分来实施代码重新排序操作和别名分析中的至少一个。
10.一种配置为优化能够经编译以在具有非一致存储器架构的并行处理单元(PPU)上执行的程序代码的计算设备,包括:
处理单元,配置为:
识别与第一指针相关联的第一存储器访问操作,其中所述第一存储器访问操作瞄准通用存储器空间;
上溯与所述第一指针相关的使用-定义链;
一旦确定所述第一指针源自所述非一致存储器架构中的具体存储器空间,就将所述第一指针添加到向量;以及
通过修改所述程序代码的至少一部分使所述第一存储器访问操作瞄准所述具体存储器空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280006682.6/1.html,转载请声明来源钻瓜专利网。