[发明专利]访问多维张量中的数据有效
| 申请号: | 201910630145.2 | 申请日: | 2017-01-13 |
| 公开(公告)号: | CN110457069B | 公开(公告)日: | 2020-08-18 |
| 发明(设计)人: | 禹同爀;安德鲁·埃弗里特·菲尔普斯 | 申请(专利权)人: | 谷歌有限责任公司 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/32 |
| 代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 周亚荣;邓聪惠 |
| 地址: | 美国加利*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 访问 多维 张量 中的 数据 | ||
1.一种用于处理多维张量输入的装置,所述装置包括:
多个张量索引元素,所述多个张量索引元素包括用于遍历N维张量的多个嵌套循环中的每个嵌套循环的张量索引元素,其中,每个张量索引元素是相应的第一硬件寄存器,所述相应的第一硬件寄存器被配置来存储用于遍历所述N维张量的相应维度的相应嵌套循环的索引值,并且其中,所述N维张量包括跨N个维度中的每一个维度布置的数据元素并且N是等于或大于一的整数,其中,每个索引值是每次该索引值的相应嵌套循环的迭代被执行时更新的值;
多个维度乘子元素,其中,每个维度乘子元素是被配置来存储所述N维张量的相应维度的乘子值的相应的第二硬件寄存器,其中,每个乘子值是所述N维张量的、该乘子值的相应维度的常数值并且在用于遍历该相应维度的相应嵌套循环的每次迭代中保持恒定;以及
一个或多个硬件处理器,所述一个或多个硬件处理器被配置来执行由所述一个或多个硬件处理器可执行的指令集中的一个或多个指令,其中,所述一个或多个指令的执行使得所述一个或多个硬件处理器执行包括以下的操作:
通过以下操作来确定存储器中的、用于存储所述N维张量的数据元素序列的数据值的位置的存储器地址:
对于所述嵌套循环的内循环的每次迭代:
对于所述N维张量中的每一个维度,确定以下的乘积:(i)用于遍历该维度的嵌套循环的张量索引元素中存储的索引值以及(ii)该维度的乘子值;以及
基于所述N维张量中的每一个维度的乘积的总和来确定与所述内循环的该次迭代相对应的数据元素的存储器地址;以及
输出指示所述N维张量的所述数据元素序列中的每个数据元素的所确定的存储器地址的数据。
2.根据权利要求1所述的装置,其中,基于所述N维张量中的每一个维度的乘积的总和来确定与所述内循环的该次迭代相对应的数据元素的存储器地址包括确定以下的总和:(i)所述N维张量中的每一个维度的乘积的总和以及(ii)基础存储器地址。
3.根据权利要求1所述的装置,其中,输出指示每个数据元素的所确定的存储器地址的数据包括:以所确定的存储器地址被确定的顺序来依次输出指示所确定的存储器地址的数据。
4.根据权利要求1所述的装置,其中,所述一个或多个硬件处理器进一步被配置来进行以下操作:
每次所述内循环完成时,将所述内循环的索引值递增第一递增值;以及
每次嵌套所述内循环的第二循环完成时,将所述第二循环的索引值递增第二递增值。
5.根据权利要求1所述的装置,其中,所述一个或多个硬件处理器进一步被配置来进行以下操作:
接收用于更新所述内循环的索引值的指令;
在接收到用于更新所述内循环的索引值的所述指令之后,确定所述内循环的索引值和所述内循环的张量边界元素中所存储的张量边界值之间的差满足阈值并且作为响应:
将所述内循环的索引值递增第一递增值。
6.根据权利要求1所述的装置,其中,所述一个或多个硬件处理器进一步被配置来进行以下操作:
接收用于更新所述内循环的索引值的指令;
在接收到用于更新所述内循环的索引值的所述指令之后,确定所述内循环的索引值和所述内循环的张量边界元素中所存储的张量边界值之间的差不满足阈值并且作为响应:
将所述内循环的索引值重置为所述内循环的初始值;以及
将嵌套所述内循环的第二循环的索引值递增第二递增值。
7.根据权利要求1所述的装置,其中,所述一个或多个硬件处理器包括一个或多个算术逻辑单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌有限责任公司,未经谷歌有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910630145.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于深度学习加速的非常低精度浮点表示
- 下一篇:验证方法及装置以及相关产品





