[发明专利]用于机器学习引导的编译器优化的方法和装置在审
申请号: | 202211462568.6 | 申请日: | 2022-11-22 |
公开(公告)号: | CN116339704A | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 阿南德·文卡特;贾斯汀·戈特施利希;尼兰詹·哈萨布尼斯 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F8/41;G06N3/0464;G06N3/08 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 李丽 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 机器 学习 引导 编译器 优化 方法 装置 | ||
公开了用于机器学习引导的编译器优化的方法和装置。本文公开的示例包括一种非暂态计算机可读介质,包括指令,这些指令当被执行时,使得机器至少:选择基于寄存器的编译器变换来应用到搜索树中的当前位置处的源代码,基于对机器学习(ML)模型的查询的输出确定搜索树是否需要修剪,响应于确定搜索树需要修剪,在当前位置处修剪搜索树,响应于将所选择的基于寄存器的编译器变换应用到源代码,生成代码变体,计算与搜索树中的当前位置处的源代码相关联的得分,并且更新机器学习(ML)模型的参数以包括计算出的得分。
技术领域
本公开概括而言涉及编译器优化,更具体而言,涉及用于基于寄存器的硬件体系结构的机器学习引导的编译器优化的方法和装置。
背景技术
近年来,软件开发领域发展迅速。一般而言,在现代中央处理单元(CentralProcessing Unit,CPU)体系结构上实现高性能计算(High Performance Computing,HPC)和机器学习(Machine Learning,ML)应用的峰值性能是自动化软件开发的首要目标。基于寄存器的编译器优化(例如,标量替换、展开和阻塞(unroll and jam),等等)可以被利用来改善CPU体系结构上的应用性能。
发明内容
本公开的一个方面提供了一种计算机可读介质。该计算机可读介质包括指令,这些指令当被执行时,使得机器至少:选择基于寄存器的编译器变换来应用到搜索树中的当前位置处的源代码;基于对机器学习(ML)模型的查询的输出确定搜索树是否需要修剪;响应于确定搜索树需要修剪,在当前位置处修剪搜索树;响应于将所选择的基于寄存器的编译器变换应用到源代码,生成代码变体;计算与搜索树中的当前位置处的源代码相关联的得分;并且更新机器学习(ML)模型的参数以包括计算出的得分。
本公开的另一方面提供了一种为基于寄存器的硬件体系结构执行机器学习引导的编译器优化的方法。该方法包括:选择基于寄存器的编译器变换来应用到搜索树中的当前位置处的源代码;基于对机器学习(ML)模型的查询的输出确定搜索树是否需要修剪;响应于确定搜索树需要修剪,在当前位置处修剪搜索树;响应于将所选择的基于寄存器的编译器变换应用到源代码,生成代码变体;计算与当前位置处的源代码相关联的得分;并且更新机器学习(ML)模型的参数以包括计算出的得分。
本公开的另一方面提供了一种为基于寄存器的硬件体系结构执行机器学习引导的编译器优化的装置。该装置包括:接口电路;处理器电路,包括以下各项中的一个或多个:中央处理单元、图形处理单元或数字信号处理器中的至少一者,中央处理单元、图形处理单元或数字信号处理器中的至少一者具有:控制电路,用来控制数据在处理器电路内的移动,算术和逻辑电路,用来根据指令执行一个或多个第一操作,以及一个或多个寄存器,用来存储一个或多个第一操作的结果,指令在装置中;现场可编程门阵列(FPGA),FPGA包括逻辑门电路、多个可配置互连、以及存储电路,逻辑门电路和互连执行一个或多个第二操作,存储电路存储一个或多个第二操作的结果;或者专用集成电路(ASIC),包括逻辑门电路,用来执行一个或多个第三操作;处理器电路执行第一操作、第二操作或第三操作中的至少一者,来使得以下项实例化:变换选择电路,用来选择基于寄存器的编译器变换来应用到搜索树中的当前位置处的源代码;搜索树修剪电路,用来响应于确定搜索树在当前位置处需要修剪而修剪搜索树;代码变体生成电路,用来将所选择的基于寄存器的编译器变换应用到源代码;以及机器学习(ML)模型参数更新电路,用来计算与搜索树中的当前位置处的源代码相关联的得分并且更新ML模型的参数以包括计算出的得分。
附图说明
图1是示例编译器优化系统内的编译器优化电路的示例实现方式的框图,用来改善CPU体系结构上的应用性能。
图2的流程图代表了根据本公开的教导,可被示例处理器电路执行来实现图1的示例编译器优化系统的示例机器可读指令。
图3A-图3C图示了在示例源代码上执行来改善应用性能的示例编译器变换。
图4描绘了用于2维卷积的示例源代码的示例依赖向量表示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211462568.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有自对准盆状架构的集成电路
- 下一篇:充电连接器