[发明专利]用于矩阵计算的方法及装置有效
申请号: | 202110804122.6 | 申请日: | 2021-07-16 |
公开(公告)号: | CN113268708B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 北京壁仞科技开发有限公司;上海壁仞智能科技有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F7/523 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 矩阵 计算 方法 装置 | ||
1.一种用于矩阵计算的方法,包括:
经由包括至少两行至少两列计算单元的阵列中每一行的至少两个计算单元,按行顺序获取第一矩阵中对应行的至少两个第一子矩阵,所述计算单元用于执行矩阵乘法运算,所述阵列中横向相邻和纵向相邻的计算单元之间配置有数据通道;
经由横向的数据通道传输对应行的至少两个第一子矩阵,以便所述第一矩阵中的各个第一子矩阵按照第一预定序列进入所述阵列进行计算;
经由所述阵列中每一列的至少两个计算单元,按列顺序获取第二矩阵中对应列的至少两个第二子矩阵;以及
经由纵向的数据通道传输对应列的至少两个第二子矩阵,以便所述第二矩阵中的各个第二子矩阵按照第二预定序列进入所述阵列进行计算,以用于所述第一矩阵和所述第二矩阵之间的矩阵乘法运算,所述第二子矩阵中元素的行数与所述第一子矩阵中元素的列数相同。
2.根据权利要求1所述的方法,其中按行顺序获取第一矩阵中对应行的至少两个第一子矩阵以及经由横向的数据通道传输对应行的至少两个第一子矩阵包括:
经由所述阵列中第i行的至少两个计算单元,在第i周期获取所述第一矩阵中第i行的至少两个第一子矩阵;
经由横向的数据通道向左侧传输第i行的至少两个第一子矩阵,至所述阵列中第i行第1列的计算单元;以及
经由横向的数据通道从所述阵列中第i行第1列的计算单元向右侧传输第i行的至少两个第一子矩阵,以用于所述第一矩阵和所述第二矩阵之间的矩阵乘法运算。
3.根据权利要求1所述的方法,其中按列顺序获取第二矩阵中对应列的至少两个第二子矩阵以及经由纵向的数据通道传输对应列的至少两个第二子矩阵包括:
经由所述阵列中第j列的至少两个计算单元,在第j周期获取所述第二矩阵中第j列的至少两个第二子矩阵;
经由纵向的数据通道向上侧传输第j列的至少两个第二子矩阵,至所述阵列中第1行第j列的计算单元;以及
经由纵向的数据通道从所述阵列中第1行第j列的计算单元向下侧传输第j列的至少两个第二子矩阵,以用于所述第一矩阵和所述第二矩阵之间的矩阵乘法运算。
4.根据权利要求1所述的方法,还包括:
经由所述阵列中第i行第j列的计算单元,执行以下步骤:
经由横向的数据通道从左侧接收第i行的至少两个第一子矩阵;
经由纵向的数据通道从上侧接收第j列的至少两个第二子矩阵;
对所述至少两个第一子矩阵和所述至少两个第二子矩阵进行对应相乘,以生成至少两个第一中间子矩阵;以及
将所述至少两个第一中间子矩阵累加,以生成第一输出矩阵中第i行第j列的第一输出子矩阵,所述第一输出矩阵为所述第一矩阵和所述第二矩阵相乘的结果。
5.一种用于矩阵计算的方法,包括:
经由包括至少两行至少两列计算单元的阵列中每一行的至少两个计算单元,按行逆序获取第一矩阵中对应行的至少两个第一子矩阵的转置,所述计算单元用于执行矩阵乘法运算,所述阵列中横向相邻、纵向相邻和预定对角相邻的计算单元之间配置有数据通道;
经由横向和预定对角方向的数据通道传输对应行的至少两个第一子矩阵的转置,以便所述第一矩阵中的各个第一子矩阵的转置按照第一预定序列进入所述阵列进行计算;
经由所述阵列中每一列的至少两个计算单元,按列顺序获取第二矩阵中对应列的至少两个第二子矩阵;以及
经由纵向的数据通道传输对应列的至少两个第二子矩阵,以便所述第二矩阵中的各个第二子矩阵按照第二预定序列进入所述阵列进行计算,以用于所述第一矩阵的转置和所述第二矩阵之间的矩阵乘法运算,所述第二子矩阵中元素的行数与所述第一子矩阵的转置中元素的列数相同。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京壁仞科技开发有限公司;上海壁仞智能科技有限公司,未经北京壁仞科技开发有限公司;上海壁仞智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110804122.6/1.html,转载请声明来源钻瓜专利网。