[发明专利]一种兼容多维度矩阵乘法的运算单元在审
申请号: | 202210924135.1 | 申请日: | 2022-08-02 |
公开(公告)号: | CN115374399A | 公开(公告)日: | 2022-11-22 |
发明(设计)人: | 任鹏举;林晓云;霍志旺;楼薇;张先娆;赵文哲;夏天 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 北京中济纬天专利代理有限公司 11429 | 代理人: | 覃婧婵 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 兼容 多维 矩阵 乘法 运算 单元 | ||
本公开提出了一种兼容多维度矩阵乘法的PE阵列结构、运算单元及其MPU。本公开对PE阵列进行了功能扩展设计,其可以通过发射不同模式下的控制信号,支持多种维度矩阵乘法运算,在提高PE阵列的利用率的同时,缩短运算时间,节省数据搬移造成的能耗。此外,本公开对同一向量乘矩阵运算设计了低功耗和高性能两种模式,来满足不同应用场景的需求。
技术领域
本公开属于处理器和计算技术领域,特别涉及一种兼容多维度矩阵乘法的PE阵列结构、运算单元及其MPU。
背景技术
在现代处理器的算术单元中,矩阵乘法和向量乘矩阵是常见的算术类型,其中方阵乘方阵、向量乘方阵、矩阵乘方阵的运算,则大量出现在神经网络的卷积层和全连接层,因此传统的标量算术单元已经无法满足当今的算力需求。
近年来异构处理器越来越成为一种新的趋势,处理器中的MPU(MatrixProcessing Unit)则专门用于矩阵乘法和卷积运算。在现代处理器上进行矩阵乘法运算时,可以通过软件显式编程(子字并行、指令集并行、Unrolling)以及硬件cache分块技术来提高硬件资源的利用率,缩短矩阵运算的时间,但在计算向量乘矩阵等不对称矩阵相乘时,仍然造成了极大的硬件资源浪费。
发明内容
鉴于此,本公开提供了一种兼容多维度矩阵乘法的PE阵列结构,包括:
64个PE单元,每个PE单元在PE阵列中地址记为(i,j),i表示行,j表示列;
PE阵列有两种输入,包括8个A方向输入A0~A7,和64个W方向输入W00~W77;A方向和W方向正交;其中,W00至W07小计8个,W10至W17小计8个,…,W70至W77小计8个,从而总计64个W方向输入;
A0~A7中每一个都包含8个数,8个数构成一个[1,8]的向量,每个都是一个[1,8]的向量,称作A方向输入;8个A方向输入A0~A7可以相同也可以不同;
W00~W77中每一个都包含8个数,8个数构成一个[1,8]的向量,每个都是一个[1,8]的向量,称作W方向输入;对于64个W方向输入W00~W77,各自送入对应位置的PE单元;64个W方向输入W00~W77可以相同也可以不同;
对于每个PE单元(Processing Element),其中:
作为PE阵列中的一个基本处理单元,有两个输入(例如一个A方向输入一个W方向输入)、一个输出;
以位置(i,j)的PE单元为例,输入为Ai和Wij,输出记为Psum(i,j);
一个PE单元1个周期可以完成1个[1,8]×[1,8]T的向量乘法运算;
对于PE阵列第一行的8个PE单元的组合,向量A0横向同时输入到8个PE单元;
将PE阵列第一行的向量W00~W07看作一个[8,8]的矩阵的8个列向量,然后分别输入到对应位置的PE单元;
PE阵列的一行1个周期可以完成一个[1,8]×[8,8]T的向量乘矩阵运算;
通过对PE阵列中8行向量乘矩阵进行不同的组合,从而实现向量乘矩阵,以及不同维度的矩阵乘矩阵运算。
此外,本公开还揭示了一种运算单元,所述运算单元包括前文所述的PE阵列结构。
此外,本公开还揭示了一种MPU,其包括前文所述的PE阵列结构,或前文所述的运算单元。
优选的,
除PE_array即PE阵列结构之外,所述MPU还包括如下模块:control、ACC、Buf、lm_A即local memory A、lm_W即local memory W;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210924135.1/2.html,转载请声明来源钻瓜专利网。