[发明专利]计算图的执行在审
申请号: | 201810035648.0 | 申请日: | 2018-01-15 |
公开(公告)号: | CN108304177A | 公开(公告)日: | 2018-07-20 |
发明(设计)人: | M·拉维尚卡尔;V·格罗弗;A·马尼;肖恩·李;E·加布夫 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F8/34 | 分类号: | G06F8/34;G06F8/41;G06T1/20 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 董巍;高伟 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运算 内核 内部节点 叶节点 集合 访问 | ||
1.一种计算机实现的方法,所述计算机实现的方法包括:
访问输入,所述输入包括计算图,所述计算图驻留在计算机存储器中并且包括多个节点,其中要进行的运算被表示为所述计算图的内部节点,所述运算的输入被表示为所述计算图的叶节点,并且所述运算的结果被表示为所述计算图的根;
将选定的运算进行组合以形成相应运算内核;
将所述运算内核编码为可执行函数,所述可执行函数包括用于执行所述运算内核的代码;以及
执行所述代码以确定所述结果。
2.如权利要求1所述的方法,其中所述多个节点中的每个节点被表示为多个数据结构中的相应数据结构,其中每个相应数据结构包括第一字段、第二字段和第三字段,所述第一字段标识所述多个节点中的某个节点的类型,所述第二字段列示对由所述数据结构表示的所述节点的输入,如果所述节点是内部节点且运算的结果已经被计算出,则所述第三字段包括所述结果,如果所述节点是内部节点且所述运算的所述结果尚未被计算出,则所述第三字段包括空值,如果所述节点是叶节点,则所述第三字段包括输入值;
其中所述方法进一步包括遍历所述计算图的节点以识别所述选定的运算,其中所述遍历包括识别在它们的第三字段中具有除所述空值外的值的数据结构。
3.如权利要求1所述的方法,其中所述函数可运算以在不同的处理器架构上执行,其中所述处理器架构包括图形处理单元架构和多核中央处理单元架构。
4.如权利要求1所述的方法,其中所述执行包括即时编译所述函数。
5.如权利要求1所述的方法,其中所述编码和所述执行包括:
生成包括所述函数且被链接至应用程序的目标文件;以及
调用所述目标文件中的所述函数以执行所述代码。
6.如权利要求1所述的方法,其中所述执行包括在寄存器中存储运算内核的运算的结果,所述运算的所述结果是所述运算内核的另一运算的输入。
7.如权利要求1所述的方法,其中所述计算图是有向非循环图。
8.如权利要求1所述的方法,所述方法进一步包括,如果所述计算图超过阈值大小,那么:
执行所述计算图的第一部分;以及
将所述执行所述第一部分的结果用作所述计算图的第二部分的输入。
9.一种计算机系统,所述计算机系统包括:
处理单元;以及
存储器,所述存储器被耦合至所述处理单元并且存储计算图;
其中所述存储器还存储指令,所述指令由所述处理单元执行时进行一种方法,所述方法包括:
访问输入,所述输入包括所述计算图,所述计算图包括多个节点,其中要进行的运算被表示为所述计算图的内部节点,所述运算的输入被表示为所述计算图的叶节点,并且所述运算的结果被表示为所述计算图的根;
将选定的运算进行组合以形成相应运算内核;
将所述运算内核编码为可执行函数,所述可执行函数包括用于执行所述运算内核的代码;以及
执行所述代码以确定所述结果。
10.如权利要求9所述的计算机系统,其中所述处理单元是选自由以下项组成的组:图形处理单元;以及多核中央处理单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810035648.0/1.html,转载请声明来源钻瓜专利网。