一种矩阵乘法加速装置及方法制造方法及图纸

技术编号:37124325 阅读:15 留言:0更新日期:2023-04-01 05:20
本申请公开了一种矩阵乘法加速装置及方法,装置包括由第一控制开关、矩阵乘法单元及第二控制开关依次连接所形成第一计算路径;以及由第一控制开关通过并行的左矩阵变换单元和右矩阵变换单元与矩阵乘法单元相连接,矩阵乘法单元通过第二控制开关与输出变换相连接所形成第二计算路径,第一计算路径用于直接进行矩阵计算,第二计算路径用于采用预设计算方式进行矩阵计算。本申请通过设置两路计算路径,可以根据矩阵乘法的计算方式对两路计算路径进行灵活切换,这样可以根据矩阵乘法的实际尺寸和部署神经网络模型的嵌入设备确定矩阵乘法自由切换矩阵乘法所采用的计算路径,提高了矩阵乘法加速器的灵活性。了矩阵乘法加速器的灵活性。了矩阵乘法加速器的灵活性。

【技术实现步骤摘要】
一种矩阵乘法加速装置及方法


[0001]本申请涉及计算机
,特别涉及一种矩阵乘法加速装置及方法。

技术介绍

[0002]在深度神经网络的推理过程中,矩阵乘法是一个主要的运算类型,并且其他常见的算子类型也可以转换位矩阵乘法,例如,卷积运算,其可以通过Img2col变换转换为矩阵乘法。从而矩阵乘法往往成为限制神经网络性能的瓶颈所在。
[0003]采用加速器辅助运算是当前常用的一种加速方式。现有的加速方式有完全舍弃矩阵乘法的方式和关闭部分乘累加树的方式;完全舍弃矩阵乘法的方式虽然可避免矩阵乘法的限制,但是需要设计专用的加法网络算法,无法部分现有的神经网络结构。关闭部分乘累加树的方式虽然在一定程度上节约了矩阵乘法的功耗,但是会降低矩阵乘法的处理速度,进而影响神经网络的处理速度。
[0004]因而现有技术还有待改进和提高。

技术实现思路

[0005]本申请要解决的技术问题在于,针对现有技术的不足,提供一种矩阵乘法加速装置及方法,加速装置通过配置第一计算路径和第二计算路径,通过第一计算路径和第二计算路径可以直接进行矩阵计算也可以采用的低功耗方式进行矩阵计算,提高了矩阵乘法的灵活性,可以兼顾计算性能和计算功耗。
[0006]为了解决上述技术问题,本申请实施例第一方面提供了一种矩阵乘法加速装置,所述的装置包括:第一控制开关、左矩阵变换单元、右矩阵变换单元、矩阵乘法单元、第二控制开关以及输出矩阵变换单元;其中,所述第一控制开关、矩阵乘法单元以及第二控制开关依次连接形成第一计算路径;第一控制开关通过并行的左矩阵变换单元和右矩阵变换单元与矩阵乘法单元相连接,所述矩阵乘法单元通过第二控制开关与输出变换相连接以形成第二计算路径,所述第一计算路径用于直接进行矩阵乘法计算,所述第二计算路径用于采用预设计算方式进行矩阵乘法计算。
[0007]所述矩阵乘法加速装置,其中,所述预设计算方式包括Strassen算法方式和/或Winograd算法方式。
[0008]所述矩阵乘法加速装置,其中,所述左矩阵变换单元用于读取所述预设计算方式对应的左变换矩阵,并通过所述左变换矩阵对左矩阵进行矩阵变换,右矩阵变换单元用于读取所述预设计算方式对应的右变换矩阵,并通过所述右变换矩阵对右矩阵进行矩阵变换。
[0009]所述矩阵乘法加速装置,其中,所述左矩阵变换单元、所述右矩阵变换单元及所述输出矩阵变换单元均通过加法计算和移位计算进行矩阵变换。
[0010]所述矩阵乘法加速装置,其中,所述第一控制开关的工作状态与所述第二控制开关的工作状态相同,其中,当第一控制开关处于与左矩阵变换单元和右矩阵变换单元相连
通状态时,第二控制开关处于与输出矩阵变换单元相连通状态。
[0011]所述矩阵乘法加速装置,其中,所述第一控制开关和所述第二控制开关的工作状态均为基于矩阵乘法加速装置接收到的矩阵乘法对应的矩阵计算方式确定的。
[0012]本申请实施例第二方面提供了一种矩阵乘法加速方法,所述方法应用如上所述的矩阵乘法加速装置,所述方法包括:
[0013]获取待进行矩阵乘法的左矩阵和右矩阵以及矩阵计算方式;
[0014]根据所述矩阵计算方式配置所述第一控制开关和所述第二控制开关的工作状态,以启动所述矩阵计算模式对应的目标计算路径,其中,所述目标计算路径为第一计算路径或第二计算路径;
[0015]通过所述目标计算路径对所述左矩阵和右矩阵进行矩阵计算,以得到输出矩阵。
[0016]所述矩阵乘法加速方法,其中,所述通过所述目标计算路径对所述左矩阵和右矩阵进行矩阵计算,以得到输出矩阵具体包括:
[0017]当矩阵计算方式为直接计算方式时,通过第一计算路径对所述左矩阵和右矩阵进行矩阵计算,其中,所述第一计算路径的计算过程为:通过第一控制开关将左矩阵和右矩阵输入矩阵乘法单元,通过矩阵乘法单元计算得到输出矩阵;
[0018]当矩阵计算方式为预设计算方式时,通过第二计算路径对所述左矩阵和右矩阵进行矩阵计算,其中,所述第二计算路径的计算过程为:将左矩阵输入左矩阵变换单元以得到左变换矩阵,将右矩阵输入右矩阵变换单元以得到右变换矩阵;将左变换矩阵和右变换矩阵经过矩阵乘法单元进行计算后输入输出变换矩阵单元,通过输出矩阵变换单元转换得到输出矩阵。
[0019]本申请实施例第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的矩阵乘法加速方法中的步骤。
[0020]本申请实施例第四方面提供了一种嵌入设备,其特征在于,所述嵌入设备配置有如上所述的矩阵乘法加速装置。
[0021]有益效果:与现有技术相比,本申请提供了一种矩阵乘法加速装置及方法,所述的装置包括:第一控制开关、左矩阵变换单元、右矩阵变换单元、矩阵乘法单元、第二控制开关以及输出矩阵变换单元;其中,所述第一控制开关、矩阵乘法单元以及第二控制开关依次连接形成第一计算路径;第一控制开关通过并行的左矩阵变换单元和右矩阵变换单元与矩阵乘法单元相连接,所述矩阵乘法单元通过第二控制开关与输出变换相连接以形成第二计算路径,所述第一计算路径用于直接进行矩阵乘法计算,所述第二计算路径用于采用预设计算方式进行矩阵乘法计算。本申请通过设置两路计算路径,可以根据矩阵乘法的计算方式对两路计算路径进行灵活切换,这样可以根据矩阵乘法的实际尺寸和部署神经网络模型的嵌入设备确定矩阵乘法的计算方法,然后根据计算方式自由切换矩阵乘法所采用的计算路径,这样可以根据待计算矩阵的矩阵尺寸灵活选取其对应的计算方法,兼顾了计算性能和计算功耗,提高了矩阵乘法加速器的灵活性。
附图说明
[0022]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使
用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的结构原理图。
[0023]图1为本申请提供的矩阵乘法加速装置的流程图。
[0024]图2为本申请提供的矩阵乘法加速方法的流程图。
具体实施方式
[0025]本申请提供一种矩阵乘法加速装置及方法,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[0026]本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种矩阵乘法加速装置,其特征在于,所述的装置包括:第一控制开关、左矩阵变换单元、右矩阵变换单元、矩阵乘法单元、第二控制开关以及输出矩阵变换单元;其中,所述第一控制开关、矩阵乘法单元以及第二控制开关依次连接形成第一计算路径;第一控制开关通过并行的左矩阵变换单元和右矩阵变换单元与矩阵乘法单元相连接,所述矩阵乘法单元通过第二控制开关与输出变换相连接以形成第二计算路径,所述第一计算路径用于直接进行矩阵乘法计算,所述第二计算路径用于采用预设计算方式进行矩阵乘法计算。2.根据权利要求1所述矩阵乘法加速装置,其特征在于,所述预设计算方式包括Strassen算法方式和/或Winograd算法方式。3.根据权利要求1所述矩阵乘法加速装置,其特征在于,所述左矩阵变换单元用于读取所述预设计算方式对应的左变换矩阵,并通过所述左变换矩阵对左矩阵进行矩阵变换,右矩阵变换单元用于读取所述预设计算方式对应的右变换矩阵,并通过所述右变换矩阵对右矩阵进行矩阵变换。4.根据权利要求3所述矩阵乘法加速装置,其特征在于,所述左矩阵变换单元、所述右矩阵变换单元及所述输出矩阵变换单元均通过加法计算和移位计算进行矩阵变换。5.根据权利要求1所述矩阵乘法加速装置,其特征在于,所述第一控制开关的工作状态与所述第二控制开关的工作状态相同,其中,当第一控制开关处于与左矩阵变换单元和右矩阵变换单元相连通状态时,第二控制开关处于与输出矩阵变换单元相连通状态。6.根据权利要求1或5所述矩阵乘法加速装置,其特征在于,所述第一控制开关和所述第二控制开关的工作状态均为基于矩阵乘法加速装置接收到的矩阵乘法对应的矩阵计算方式确定的。7.一种矩阵乘法...

【专利技术属性】
技术研发人员:赛金乾南天琦
申请(专利权)人:珠海市欧冶半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1