[发明专利]模板代码的SIMD实现有效
申请号: | 201610176595.5 | 申请日: | 2016-03-24 |
公开(公告)号: | CN106020775B | 公开(公告)日: | 2018-08-17 |
发明(设计)人: | L·格林伯格;K·A·马格雷恩 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F15/80 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 酆迅;李峥宇 |
地址: | 美国纽*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本申请涉及模板代码的SIMD实现。具体地,在具有矢量寄存器的计算机上经由SIMD指令实现一维模板代码,在系数矢量寄存器集合,数据值矢量寄存器集合,和结果矢量寄存器集合之中,每个矢量寄存器具有N个处理元件(PE)。M个模板系数以特定模式被加载到M+N‑1个系数矢量寄存器中。接收N个连续数据值的连续集合,并且集合的每个数据值被加载到数据矢量寄存器集合的数据矢量寄存器的所有PE中。结果矢量寄存器累加连续系数矢量寄存器与相应数据矢量寄存器的乘积之和。包含所有系数矢量寄存器‑数据矢量寄存器乘积之和的任何结果矢量寄存器的内容被输出,并且结果矢量寄存器被重新用于累加。 | ||
搜索关键词: | 模板 代码 simd 实现 | ||
【主权项】:
1.一种用于在包括多个矢量寄存器的计算机上经由SIMD指令实现一维模板代码的方法,每个矢量寄存器具有数量为N的处理元件PE,所述多个矢量寄存器包括:用于存储模板系数的矢量寄存器集合、用于存储数据值的矢量寄存器集合以及用于存储结果的矢量寄存器集合,所述方法包括:由处理器接收数量为M的有序模板系数;由所述处理器将模板系数加载到系数矢量寄存器集合的M+N‑1个连续系数矢量寄存器中,使得:前M个系数矢量寄存器的第一PE包含按顺序的M个模板系数,并且第一系数矢量寄存器的剩余N‑1个PE和跟随在前M个系数矢量寄存器之后的N‑1个系数矢量寄存器的第一PE包含零;跟随在所述第一系数矢量寄存器之后的M+N‑2个系数矢量寄存器的后续PE包含存储在先前系数矢量寄存器的先前PE中的值;由所述处理器接收至少M+N‑1个数据值;通过如下操作来处理所接收的数据值的N个连续数据值的连续集合:由所述处理器将N个连续数据值的集合的每个数据值加载到数据矢量寄存器集合的一个数据矢量寄存器的所有PE中;由所述处理器在结果矢量寄存器集合的结果矢量寄存器中累加连续系数矢量寄存器与包含所述连续数据值的数据矢量寄存器的乘积之和;以及由所述处理器输出包含所有所述系数矢量寄存器与数据矢量寄存器的乘积之和的每个结果矢量寄存器的内容,其中包含所有所述系数矢量寄存器与相应数据矢量寄存器的所有乘积之和的每个结果矢量寄存器然后被重新用于累加。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610176595.5/,转载请声明来源钻瓜专利网。