[发明专利]用于支持代码的编译时间定制的编译器的系统和方法有效
申请号: | 201511004391.5 | 申请日: | 2015-12-29 |
公开(公告)号: | CN105740036B | 公开(公告)日: | 2019-04-23 |
发明(设计)人: | 杰迪普·马拉蒂;维诺德·格罗弗 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 高伟;王睿 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 支持 代码 编译 时间 定制 编译器 系统 方法 | ||
1.一种处理源代码的方法,所述方法包括:
访问主机源代码的一部分;
确定所述主机源代码的一部分是否包括设备拉姆达表达式;
响应于所述主机代码的一部分包括所述设备拉姆达表达式,基于所述设备拉姆达表达式确定唯一占位符类型实例化;
基于所述唯一占位符类型实例化修改所述设备拉姆达表达式以生成经修改的主机源代码;以及
使得所述经修改的主机源代码对主机编译器可用。
2.根据权利要求1所述的方法,其中所述设备拉姆达表达式与设备代码入口函数模板实例化相关联。
3.根据权利要求1所述的方法,其中所述唯一占位符类型实例化包括与封闭所述设备拉姆达表达式的函数相关联的类型。
4.根据权利要求3所述的方法,其中所述唯一占位符类型实例化包括封闭所述设备拉姆达表达式的所述函数的地址。
5.根据权利要求1所述的方法,其中所述唯一占位符类型实例化包括与所述设备拉姆达表达式相关联的唯一识别符。
6.根据权利要求1所述的方法,其中所述唯一占位符类型实例化包括一个或多个与所述设备拉姆达表达式相关联的变量。
7.根据权利要求6所述的方法,其中所述唯一占位符类型实例化通过将所述一个或多个变量的值显式地传递到所述占位符类型实例化的构造器来捕获所述一个或多个与所述设备拉姆达表达式相关联的变量。
8.根据权利要求1所述的方法,进一步包括:
基于与所述设备拉姆达表达式相关联的所述唯一占位符类型实例化确定设备代码入口函数模板特化,其中所述主机源代码包括设备代码入口函数模板;以及
基于所述设备代码入口函数模板特化修改所述设备代码入口函数模板。
9.一种用于编译代码的系统,所述系统包括:
代码访问模块,其可操作为从数据存储访问源代码,其中所述源代码包括主机源代码和设备源代码;
设备拉姆达表达式识别模块,其配置为识别所述主机源代码的一部分中的设备拉姆达表达式;
占位符类型确定模块,其配置为基于所述设备拉姆达表达式确定占位符类型实例化;以及
代码修改模块,其配置为修改所述主机源代码以用所述占位符类型实例化代替所述设备拉姆达表达式。
10.根据权利要求9所述的系统,进一步包括:
模板特化确定模块,其配置为基于所述设备拉姆达表达式确定设备代码入口函数模板特化。
11.根据权利要求10所述的系统,其中所述代码修改模块进一步配置为基于由所述模板特化确定模块确定的所述设备代码入口函数模板特化修改所述主机源 代码。
12.根据权利要求9所述的系统,进一步包括:
代码发送模块,其配置为将由所述代码修改模块修改的所述主机源代码发送至主机编译器。
13.根据权利要求9所述的系统,其中所述占位符类型实例化包括与封闭所述设备拉姆达表达式的函数相关联的类型。
14.根据权利要求13所述的系统,其中所述占位符类型实例化包括封闭所述设备拉姆达表达式的所述函数的地址。
15.根据权利要求9所述的系统,其中所述占位符类型实例化包括与所述设备拉姆达表达式相关联的唯一识别符。
16.根据权利要求9所述的系统,其中所述占位符类型实例化包括一个或多个与所述设备拉姆达表达式相关联的变量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511004391.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:信息处理方法及电子设备
- 下一篇:一种网络设备系统升级方法及装置