[发明专利]实行16位浮点矩阵点积指令的系统和方法在审
申请号: | 202210022539.1 | 申请日: | 2019-10-09 |
公开(公告)号: | CN114356417A | 公开(公告)日: | 2022-04-15 |
发明(设计)人: | A.F.海内克;R.瓦伦丁;M.J.查尼;R.萨德;M.阿德尔曼;Z.斯珀伯;A.格雷德斯坦;S.鲁巴诺维奇 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38;G06F17/16 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 李炜;黄嵩泉 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实行 16 浮点 矩阵 指令 系统 方法 | ||
1.一种处理单元,包括:
获取电路,用于获取指令;
解码电路,用于对所述指令解码,所述指令具有操作码、第一字段、第二字段和第三字段,所述第一字段用于指定与具有M行乘N列的32位单精度浮点数据元素的第一矩阵对应的多个数据元素的第一存储位置,所述第二字段用于指定与具有M行乘K列的、具有bfloat16格式的16位浮点数据元素的第二矩阵对应的多个数据元素的第二存储位置,所述第三字段用于指定与具有K行乘N列的、具有bfloat16格式的16位浮点数据元素的第三矩阵对应的多个数据元素的第三存储位置;以及
执行电路,与所述解码电路耦合,所述执行电路用于针对所述第二矩阵的M行中的每个行m且针对所述第三矩阵的N列中的每个列n执行与所述指令对应的操作,以:
从与所述第二矩阵的行m对应的K个16位浮点数据元素和与所述第三矩阵的列n对应的K个16位浮点数据元素生成点积;
将所述点积与对应于所述第一矩阵的M行中的行m且对应于N列中的列n的32位单精度浮点数据元素累加,以生成结果32位单精度浮点数据元素;以及
将所述结果32位单精度数据元素存储在所述第一存储位置的、与所述第一矩阵的行m和列n对应的位置中。
2.如权利要求1所述的处理单元,进一步包括用于指定舍入模式的控制寄存器,其中,生成所述点积和累加所述点积各自都包括:无论由所述控制寄存器指定的所述舍入模式如何,都应用单个舍入模式。
3.如权利要求2所述的处理单元,其中,所述处理单元由于所述指令将不咨询所述控制寄存器。
4.如权利要求1至3中的任一项所述的处理单元,其中,所述处理单元由于所述指令将不更新控制寄存器。
5.如权利要求1至4中的任一项所述的处理单元,其中,所述处理单元由于所述指令将不表示例外。
6.如权利要求1至5中的任一项所述的处理单元,其中,所述执行电路用于执行与所述指令对应的操作,以将所述第二矩阵和所述第三矩阵的非正常值处理为零。
7.如权利要求1至6中的任一项所述的处理单元,其中,所述执行电路用于执行与所述指令对应的操作,以将非正常值转储清除为零。
8.如权利要求1至7中的任一项所述的处理单元,其中,所述第二矩阵的M行和所述第三矩阵的N列在数量上相等。
9.如权利要求1至8中的任一项所述的处理单元,其中,所述第一存储位置、所述第二存储位置和所述第三存储位置在128位向量寄存器中。
10.如权利要求1至9中的任一项所述的处理单元,其中,每个点积都是32位单精度浮点点积。
11.如权利要求1至10中的任一项所述的处理单元,进一步包括:
分支预测电路;
寄存器重命名电路;以及
调度器电路,用于调度经解码的指令以供执行。
12.如权利要求1至11中的任一项所述的处理单元,其中,所述处理单元是通用中央处理单元CPU核。
13.如权利要求1至12中的任一项所述的处理单元,其中,所述处理单元是精简指令集计算RISC核。
14.如权利要求2所述的处理单元,其中,所述单个舍入模式针对所述指令是固定的。
15.一种片上系统SoC,所述SoC包括:
存储器控制器;以及
通用中央处理单元CPU核,与所述存储器控制器耦合,所述通用CPU核是如权利要求1至14中的任一项所述的处理单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210022539.1/1.html,转载请声明来源钻瓜专利网。