[发明专利]使用列折叠和挤压的稀疏矩阵的矩阵乘法加速在审
申请号: | 201910429098.5 | 申请日: | 2019-05-22 |
公开(公告)号: | CN110633793A | 公开(公告)日: | 2019-12-31 |
发明(设计)人: | O·阿齐滋;G·布杜赫;T·沃纳;A·杨;M·罗特辛;C·科伦;E·努维塔蒂 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/08 |
代理公司: | 31100 上海专利商标事务所有限公司 | 代理人: | 何焜;黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 矩阵 非零元素 电路系统 输出矩阵 稀疏矩阵 字段 替换 紧缩 逻辑位置 乘法 累加 折叠 处理器 挤压 指令 响应 | ||
所公开的实施例涉及使用列折叠和挤压的稀疏矩阵乘法(SMM)加速。在一个示例中,处理器响应于具有用于指定第一矩阵、第二矩阵和输出矩阵的位置的字段的SMM指令而使用执行电路系统通过利用尚待处理的非零元素替换一个或多个零值元素来紧缩所述第二矩阵,所述第二矩阵是稀疏矩阵,被替换的元素中的每个元素进一步包括用于标识其在所述第二矩阵内的逻辑位置的字段,并且所述执行电路系统进一步用于:针对所指定的第一矩阵的行M和列K处的每个非零元素,生成所述元素与所紧缩的第二矩阵的行K列N处的每个相应非零元素的乘积,并且将每个所生成的乘积与所指定输出矩阵的行M和列N处的相应元素的前一值进行累加。
技术领域
本发明的领域总体上涉及计算机处理器架构,并且更具体地涉及使用列折叠和挤压的稀疏矩阵的矩阵乘法加速。
背景技术
当今许多用于神经网络的硬件加速器主要以密集格式执行矩阵乘法,而不考虑在一个(或两个)矩阵中存在大量零的事实。这引入了硬件资源的低效使用(与0相乘)和功率浪费。
当今用于训练和推理两者的神经网络的硬件加速器都在争取实现最佳的原始性能数值和功率与性能的比值。在这些神经网络中利用原生和注入的稀疏度是在这场竞争中取得领先地位的一种方式。
比如深度神经网络等机器学习架构已经应用于包括计算机视觉、语音识别、自然语言处理、音频识别、社交网络过滤、机器翻译、生物信息学和药物设计等领域。
矩阵乘法是包括机器学习在内的许多算法的关键性能/功率限制项。一些常规矩阵乘法方法是专用的,例如它们缺乏使用宽累加器来支持各种数据格式(有符号和无符号8b/16b整数、16b浮点)的灵活性、以及支持密集矩阵和稀疏矩阵两者的灵活性。
本文要解决的问题是通过在输入数据集中存在稀疏度的情况下(稀疏矩阵的密度小于1.0,意味着其元素中不是100%都具有非零值)更高效地处理矩阵乘法来提高神经网络处理芯片的性能和功率效率。特别是,在同时维持针对密集(非稀疏)矩阵乘法的性能的同时解决了这个问题。
附图说明
本发明是通过示例说明的,而不仅局限于各个附图的图示,在附图中,相同的附图标记表示类似的元件,并且在附图中:
图1是框图,展示了根据实施例的用于执行稀疏矩阵乘法(SMM)指令的处理组件;
图2展示了根据一些实施例的用于执行稀疏矩阵乘法(SMM)指令的示例性执行流程;
图3是根据一些实施例的用于执行分块稀疏矩阵乘法(SMM)指令的处理阵列的框图;
图4是框图,展示了根据一些实施例的用于稀疏矩阵乘法(SMM)指令的矩阵折叠;
图5A是框图,展示了根据一些实施例的用于稀疏矩阵乘法(SMM)指令的矩阵折叠;
图5B是框图,展示了根据一些实施例的具有优化折叠机会的矩阵乘法;
图5C是框图,展示了根据一些实施例的增大的折叠机会;
图6A是框图,展示了根据一些实施例的用于稀疏矩阵乘法(SMM)指令的矩阵挤压;
图6B是方框流程图,展示了根据一些实施例的由执行稀疏矩阵乘法(SMM)的处理器进行的矩阵挤压;
图6C是另一个方框流程图,展示了根据一些实施例的由执行稀疏矩阵乘法(SMM)的处理器进行的矩阵挤压;
图6D是框图,展示了根据一些实施例的用于实施稀疏矩阵乘法(SMM)指令的矩阵挤压的电路;
图7是框图,展示了根据一些实施例的用于稀疏矩阵乘法(SMM)指令的乘法-累加电路;
图8是方框流程图,展示了根据一些实施例的执行稀疏矩阵乘法(SMM)指令的处理器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910429098.5/2.html,转载请声明来源钻瓜专利网。