[发明专利]一种用于执行向量外积运算的装置和方法有效
申请号: | 201610266970.5 | 申请日: | 2016-04-26 |
公开(公告)号: | CN107315716B | 公开(公告)日: | 2020-08-07 |
发明(设计)人: | 罗韬;支天;刘少礼;陈天石;陈云霁 | 申请(专利权)人: | 中科寒武纪科技股份有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 执行 向量 运算 装置 方法 | ||
本公开提供了一种执行向量外积的运算装置及方法,装置包括存储单元、寄存器单元和向量外积运算单元,存储单元中存储有向量,寄存器单元中存储有向量存储的地址,向量外积运算单元根据配套指令在寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量外积运算,得到运算结果。本公开将参与计算的向量数据暂存在高速暂存存储器上,使得向量外积运算过程中可以更加灵活有效地支持不同宽度的数据,提升包含向量外积应用的执行性能。
技术领域
本公开涉及一种向量外积运算装置及方法,用于根据向量外积运算指令执行向量外积运算。
背景技术
在向量空间范畴,对象之间的同态都是线性映射。但其实我们常会碰到“双线性映射”这种概念,比如内积就是一个双线性映射V×V→C.我们希望把“双线性”这种性质归于向量空间范畴。一个办法就是,构造一个跟V,W有关的向量空间Z,使得所有定义在V×W上的“双线性映射”都可以由“唯一”一个定义在Z上的“线性映射”来代替。这个Z就叫V 和W的张量积(外积)。举例来说,向量外积a×b的计算值大小为 |a|·|b|·sina,b。
在已有的计算机领域应用中,与向量运算相关的应用十分普遍。以目前的热门应用领域人工智能中的主流算法机器学习算法为例,几乎所有已有的经典算法中都含有大量的向量外积运算。
在现有技术中,一种进行向量外积运算的已知方案是使用通用处理器,该方法通过通用寄存器堆和通用功能部件来执行通用指令,从而执行向量外积运算。然而,该方法的缺点之一是单个通用处理器多用于标量计算,在进行向量外积运算时运算性能较低。而使用多个通用处理器并行执行时,通用处理器之间的相互通讯又有可能成为性能瓶颈。在另一种现有技术中,使用图形处理器(GPU)来进行向量计算,其中,通过使用通用寄存器堆和通用流处理单元执行通用SIMD指令来进行向量外积运算。然而,上述方案中,GPU片上缓存太小,在进行大规模向量外积运算时需要不断进行片外数据搬运,片外带宽成为了主要性能瓶颈。在另一种现有技术中,使用专门定制的向量外积运算装置来进行向量计算,其中,使用定制的寄存器堆和定制的处理单元进行向量外积运算。然而,目前已有的专用向量外积运算装置受限于寄存器堆,不能够灵活地支持不同长度的向量外积运算。
发明 内容
(一)要解决的技术问题
本公开的目的在于,提供一种向量外积运算装置及方法,解决现有技术中存在的受限于片间通讯、片上缓存不够、支持的向量长度不够灵活等问题。
(二)技术方案
本公开提供一种向量外积运算装置,用于根据向量外积运算指令执行向量外积运算,包括:
存储单元,用于存储向量;
寄存器单元,用于存储向量地址,其中,向量地址为向量在存储单元中存储的地址;
向量外积运算单元,用于获取向量外积运算指令,根据向量外积运算指令在寄存器单元中获取向量地址,然后,根据该向量地址在存储单元中获取相应的向量,接着,根据获取的向量进行向量外积运算,得到向量外积运算结果。
本公开还提供一种向量外积运算方法,用于根据向量外积运算指令执行向量外积运算,方法包括:
S1,存储向量;
S2,存储向量地址;
S3,获取向量外积运算指令,根据向量外积运算指令获取向量地址,然后,根据该向量地址获取存储的向量,接着,根据获取的向量进行向量外积运算,得到向量外积运算结果。
(三)有益效果
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科寒武纪科技股份有限公司,未经中科寒武纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610266970.5/2.html,转载请声明来源钻瓜专利网。