[发明专利]循环与库融合有效
申请号: | 201810015644.6 | 申请日: | 2018-01-08 |
公开(公告)号: | CN108345937B | 公开(公告)日: | 2019-11-12 |
发明(设计)人: | 埃利·本德斯基;罗伯特·洪特;马克·赫弗南;吴景岳 | 申请(专利权)人: | 谷歌有限责任公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/08 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 周亚荣;安翔 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 融合运算 优化 编译系统 融合节点 融合 计算机存储介质 计算机程序 编译代码 表示数据 使用模式 优化计算 有效代码 有向边 匹配 运算 替换 转换 申请 分析 | ||
1.一种用于生成有效代码的方法,包括:
获得未优化的计算图,所述未优化的计算图包括表示运算的多个节点和表示所述运算之间的数据依赖性的多个有向边;
使用模式匹配来分析所述未优化的计算图以确定能够被一起融合的可融合运算,其中所述可融合运算中的每个可融合运算被分解为索引函数和数据函数;
使用所述可融合运算的所述索引函数和所述数据函数的合成来生成单个融合运算;
通过用表示所述单个融合运算的单个融合节点替换在所述未优化的计算图中表示所述可融合运算的所述多个节点,将所述未优化的计算图变换成优化的计算图;以及
向编译器提供包括所述单个融合节点的所述优化的计算图,所述编译器能够将所述单个融合节点转换为执行所述单个融合运算以在编译的代码生成阶段产生有效代码的调用。
2.如权利要求1所述的方法,进一步包括:
将所述有效代码提供给计算设备以执行。
3.如权利要求2所述的方法,其中,所述执行包括:
执行包括执行所述单个融合运算的所述调用的所述优化的计算图的融合运算。
4.如权利要求1所述的方法,其中,使用模式匹配来分析所述未优化的计算图以确定能够被一起融合的可融合运算包括:
将所述未优化的计算图的部分与分别对应于单个融合运算的运算模式比较;
确定所述运算模式中的一模式匹配所述未优化的计算图的一部分;以及
确定在所述优化的计算图中所述未优化的计算图的匹配部分能够用对应于该模式的单个融合运算替换。
5.如权利要求1所述的方法,其中,所述单个融合运算是循环运算。
6.如权利要求1所述的方法,其中,使用模式匹配来分析所述未优化的计算图以确定能够一起被融合的可融合运算包括:
在所述未优化的计算图中搜索表示可融合运算的节点,该可融合运算将所述未优化的计算图中的节点链所表示的运算链所生成的输出作为输入;以及
确定在所述优化的计算图中所述运算链能够用与产生所述输入所需的所述运算链相对应的单个融合运算来替换。
7.如权利要求1所述的方法,其中,所述可融合运算是正则运算。
8.如权利要求1所述的方法,其中,所述可融合运算是融合成非正则运算的正则运算。
9.根据权利要求1所述的方法,其中,使用模式匹配来分析所述未优化的计算图以确定能够一起被融合的可融合运算包括:
使用排序算法,在所述未优化的计算图中找出运算序列;以及
确定能够使用合成将所述运算序列融合成单个融合运算。
10.一种用于生成有效代码的系统,包括:
一个或多个计算机;以及
一个或多个存储设备,所述一个或多个存储设备存储指令,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机施行系统操作,所述系统操作包括:
获得未优化的计算图,所述未优化的计算图包括表示运算的多个节点和表示所述运算之间的数据依赖性的多个有向边;
使用模式匹配来分析所述未优化的计算图以确定能够被一起融合的可融合运算,其中所述可融合运算中的每个可融合运算被分解为索引函数和数据函数;
使用所述可融合运算的所述索引函数和所述数据函数的合成来生成单个融合运算;
通过用表示所述单个融合运算的单个融合节点替换在所述未优化的计算图中表示所述可融合运算的所述多个节点,将所述未优化的计算图变换成优化的计算图;以及
向编译器提供包括所述单个融合节点的所述优化的计算图,所述编译器能够将所述单个融合节点转换为执行所述单个融合运算以在编译的代码生成阶段产生有效代码的调用。
11.如权利要求10所述的系统,其中,所述系统操作进一步包括:
将所述有效代码提供给计算设备以执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌有限责任公司,未经谷歌有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810015644.6/1.html,转载请声明来源钻瓜专利网。