[发明专利]一种矩阵运算中转置、转置乘和相乘的方法在审
申请号: | 202310054131.7 | 申请日: | 2023-02-03 |
公开(公告)号: | CN116070072A | 公开(公告)日: | 2023-05-05 |
发明(设计)人: | 龚文科;黄磊;应屹航;胡俊;王理想 | 申请(专利权)人: | 杭州国芯科技股份有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 陈炜 |
地址: | 310012 浙江省杭州市文*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 矩阵 运算 中转 转置乘 相乘 方法 | ||
本发明公开了一种矩阵运算中转置、转置乘和相乘的方法。本发明通过矩阵转置处理单元、矩阵转置乘处理单元、输出单元和两个中间缓存实现。矩阵转置处理单元对输入数据进行转置处理;矩阵转置乘处理单元获取两个输入矩阵的数据,进行一个矩阵的转置乘另一个矩阵的处理;输出单元从中间缓存取出数据写入外部存储器;矩阵转置处理单元和矩阵转置乘处理单元共用一个输出单元;中间缓存存储处理过程中的数据,当输出单元使用一个中间缓存进行输出时,处理单元使用另一个中间缓存进行数据缓存。本发明方法使用矩阵转置乘的方式,两个矩阵相乘采用列数据运算方法,减少了数据的重复取用的次数和中间缓存的面积,并节省了总线带宽和运算时间。
技术领域
本发明属于集成电路设计技术领域,尤其是人工智能技术领域,特别涉及一种矩阵运算中转置、转置乘和相乘的方法。
背景技术
随着人工智能技术的发展,越来越多的人工智能芯片被用于生活和生产中。矩阵运算作为人工智能技术的基础,也被大量运用。在许多小型人工智能芯片的应用场景中,矩阵运算作为其中一环,占用的硬件资源大小和运算速度制约着整个人工智能芯片的面积和性能。现有的矩阵运算的硬件均是以整行整列的方式进行运算,导致中间缓存资源或总线带宽的巨大浪费。
发明内容
本发明的目的是提供一种矩阵运算中转置、转置乘和相乘的方法,从而使整个矩阵运算的装置可以占用更少的硬件资源和节省更多的总线带宽。
本发明通过矩阵转置处理单元、矩阵转置乘处理单元、输出单元和两个中间缓存实现。其中:
矩阵转置处理单元,用于通过总线向外部储存单元获取要转置的输入数据,进行转置处理;
矩阵转置乘处理单元,用于通过总线向外部储存单元获取两个输入矩阵的数据,进行一个矩阵的转置乘另一个矩阵的处理;
输出单元,用于从中间缓存取出数据再通过总线写入外部存储单元;矩阵转置处理单元和矩阵转置乘处理单元共用一个输出单元;
中间缓存,用于存储处理过程中的数据;采用两个中间缓存,当输出单元使用一个中间缓存进行输出时,处理单元使用另一个中间缓存进行数据缓存。
本发明方法包括矩阵转置方法、矩阵转置乘方法、矩阵相乘方法。
矩阵转置方法具体如下:
步骤(1)将需要进行转置的Na行Ma列矩阵按照列分割成P个子矩阵,表示向上取整,L为划分长度。
步骤(2)将每个子矩阵按照行分割成Q个孙矩阵,对于子矩阵A′1,其孙矩阵
由此
步骤(3)矩阵转置处理单元首先通过总线从外部存储单元中读取孙矩阵A″1,1中的第一行写入第一中间缓存的第一列,然后将第二行写入第一中间缓存的第二列,以此类推,将第L行写入第一中间缓存的第L列,完成孙矩阵A″1,1的输入处理,输出单元将处理后孙矩阵通过总线写入外部存储单元。
步骤(4)矩阵转置处理单元通过总线从外部存储单元中读取孙矩阵A1′,′2中的第一行写入第二中间缓存的第一列,然后将第二行写入第二中间缓存的第二列,以此类推,将将第L行写入第二中间缓存的第L列,完成孙矩阵A1′,′2的输入处理,输出单元将处理后孙矩阵通过总线写入外部存储单元。
步骤(5)以此类推,完成子矩阵A1′的所有孙矩阵处理后,继续对子矩阵A2′的孙矩阵进行处理,最终得到转置矩阵
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州国芯科技股份有限公司,未经杭州国芯科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310054131.7/2.html,转载请声明来源钻瓜专利网。