[发明专利]用于机器学习引导的编译器优化的方法和装置在审
申请号: | 202211462568.6 | 申请日: | 2022-11-22 |
公开(公告)号: | CN116339704A | 公开(公告)日: | 2023-06-27 |
发明(设计)人: | 阿南德·文卡特;贾斯汀·戈特施利希;尼兰詹·哈萨布尼斯 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F8/41;G06N3/0464;G06N3/08 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 李丽 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 机器 学习 引导 编译器 优化 方法 装置 | ||
1.一种计算机可读介质,包括指令,所述指令当被执行时,使得机器至少:
选择基于寄存器的编译器变换来应用到搜索树中的当前位置处的源代码;
基于对机器学习(ML)模型的查询的输出确定所述搜索树是否需要修剪;
响应于确定所述搜索树需要修剪,在所述当前位置处修剪所述搜索树;
响应于将所选择的基于寄存器的编译器变换应用到所述源代码,生成代码变体;
计算与所述搜索树中的当前位置处的源代码相关联的得分;并且
更新所述机器学习(ML)模型的参数以包括计算出的得分。
2.如权利要求1所述的计算机可读介质,其中,所述指令当被执行时,使得所述机器:
确定与探索从所述源代码起源的代码变体的给定路径相关联的度量;并且
响应于确定对所述代码变体的给定路径的探索是没有收益的:
从所述源代码提取特征;并且
将提取的特征嵌入到特征依赖向量中。
3.如权利要求2所述的计算机可读介质,其中,所述指令当被执行时,使得所述机器计算与所述源代码相关联的得分以确定与探索所述代码变体的给定路径相关联的所述度量,所述得分至少与所述源代码的存储器加载或存储器存储计数成比例。
4.如权利要求2所述的计算机可读介质,其中,对所述机器学习(ML)模型的查询是使用所述特征依赖向量作为输入来运行的。
5.如权利要求1所述的计算机可读介质,其中,所述机器学习(ML)模型的参数被递归地更新。
6.如权利要求1所述的计算机可读介质,其中,所述机器学习(ML)模型的参数至少包括与所述代码变体相关联的得分或动作。
7.如权利要求1到6中任一项所述的计算机可读介质,其中,所述指令当被执行时,使得所述机器将与所述当前位置处的源代码相关联的得分与阈值得分值进行比较,以确定对所述代码变体的给定路径的探索是没有收益的。
8.如权利要求7所述的计算机可读介质,其中,所述阈值得分值是预定的值。
9.如权利要求1所述的计算机可读介质,其中,对于所述搜索树是否需要修剪的确定是通过将对所述机器学习(ML)模型的查询的输出与阈值收益性值进行比较来做出的。
10.如权利要求9所述的计算机可读介质,其中,所述阈值收益性值是预定的值。
11.如权利要求1所述的计算机可读介质,其中,能够应用到所述源代码的基于寄存器的编译器变换包括以下各项中的至少一者:标量替换、展开和阻塞、循环互换、或者循环融合。
12.一种为基于寄存器的硬件体系结构执行机器学习引导的编译器优化的方法,该方法包括:
选择基于寄存器的编译器变换来应用到搜索树中的当前位置处的源代码;
基于对机器学习(ML)模型的查询的输出确定所述搜索树是否需要修剪;
响应于确定所述搜索树需要修剪,在所述当前位置处修剪所述搜索树;
响应于将所选择的基于寄存器的编译器变换应用到所述源代码,生成代码变体;
计算与所述当前位置处的源代码相关联的得分;并且
更新所述机器学习(ML)模型的参数以包括计算出的得分。
13.如权利要求12所述的方法,还包括:
确定与探索从所述源代码起源的代码变体的给定路径相关联的度量;并且
响应于确定对所述代码变体的给定路径的探索是没有收益的:
从所述源代码提取特征;并且
将提取的特征嵌入到特征依赖向量中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211462568.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:具有自对准盆状架构的集成电路
- 下一篇:充电连接器