[发明专利]用于支持代码的编译时间定制的编译器的系统和方法有效
申请号: | 201511004391.5 | 申请日: | 2015-12-29 |
公开(公告)号: | CN105740036B | 公开(公告)日: | 2019-04-23 |
发明(设计)人: | 杰迪普·马拉蒂;维诺德·格罗弗 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 高伟;王睿 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 支持 代码 编译 时间 定制 编译器 系统 方法 | ||
本发明提供用于支持代码的编译时间定制的编译器的系统和方法,用于处理源代码用于编译。所述方法包括访问主机源代码的一部分以及确定所述主机源代码的一部分是否包括设备lambda表达式。所述方法进一步包括响应于所述主机代码的一部分包括所述设备lambda表达式,基于所述设备lambda表达式确定唯一占位符类型实例化以及基于所述唯一占位符类型实例化修改所述设备lambda表达式以生成经修改的主机源代码。所述方法进一步包括将所述经修改的主机源代码传送至主机编译器。
本发明要求共同未决的、序列号为62/097,528、代理人案号为NVID-P-SC-14-0346-US0、名称为“COMPILER TRANSFORMATIONS AND MECHANISMS TO SUPPORT COMPILETIME CUSTOMIZATION OF CODE EXECUTING ON THE GPU WITH LAMBDA EXPRESSIONSDEFINED IN CODE MARKED FOR CPU EXECUTION”、提交日期为2014年12月29日的临时专利申请的权益和优先权,并且此处通过引用全部并入本申请。
本申请与序列号为13/735,981、代理人案号为NVID-P-BL-12-0178-US1、名称为“SYSTEM AND METHOD FOR COMPILER SUPPORT FOR KERNEL LAUNCHES IN DEVICE CODE”、提交日期为2013年1月7日的非临时专利申请相关,该非临时专利申请要求序列号为61/645,515、代理人案号为NVID-P-BL-12-0178-US0、名称为“SYSTEM AND METHOD FORCOMPILER SUPPORT FOR KERNEL LAUNCHES IN DEVICE CODE”、提交日期为2012年5月10日的临时专利申请的优先权,它们中的每一个均通过引用方式全部并入本申请。
技术领域
本发明的实施例总体上涉及主机源代码和设备源代码的编译,以及图形处理单元(GPU)。
背景技术
随着计算机系统的发展,图形处理单元(GPU)在复杂性和计算能力两方面都日益提升。因此GPU被用于操控越来越大量和复杂的图形处理。这种处理能力增加的结果是,现在GPU能够执行图形处理和更多的通用处理任务二者。在GPU上执行通用计算任务的能力导致开发在GPU上执行通用计算任务的程序增加了,并且能够执行数目更多的复杂编程任务的相应需求增加了。
图形处理单元上的通用计算(GPGPU)程序具有在中央处理单元(CPU)上执行的主机部分和在GPU上执行的设备部分。GPGPU编译器编译GPU或设备代码并将主机代码提供给用于主机的本地编译器。因此用于主机的本地编译器可以依赖于执行GPGPU编译器所处的编程环境而改变。结果是,送至主机编译器的代码需要可由任何多种不同的主机编译器兼容。当新的特征和/或高级特征增加到编程语言中时这可能造成问题。
发明内容
因此,需要一种允许支持编程语言特征,同时允许使用多种主机编译器的任何一种来编译GPGPU或异构程序的主机代码的方案。
实施例允许主机代码中的拉姆达(lambda)表达式的编译,而不需要主机编译器的修改或定制。实施例能够识别与各自设备代码入口点相关联的lambda表达式(例如,CUDA C++中的__global__template实例化)并且用唯一占位符类型实例化代替每个lambda,从而允许在主机代码中定义的lambda表达式的主机编译程序进行编译而无需主机编译器的修改。
“设备代码入口函数”表示设备代码开始执行的代码位置。当设备代码入口函数模板采用如语言惯用语所允许的模板参数实例化时,设备代码入口函数可以由该模板生成。每个不同的模板实例化是一个不同的设备代码入口函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511004391.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:信息处理方法及电子设备
- 下一篇:一种网络设备系统升级方法及装置