【技术实现步骤摘要】
运算方法、装置、芯片、电子设备及存储介质
[0001]本公开涉及计算机
,尤其涉及芯片
、人工智能领域,具体涉及一种运算方法、装置、芯片、电子设备、计算机可读存储介质和计算机程序产品。
技术介绍
[0002]随着人工智能技术的发展,越来越多的应用基于人工智能技术取得了远超过传统算法的效果;深度学习是目前人工智能技术的核心技术。深度学习是数据密集型算法和计算密集型算法,也是快速迭代发展的算法。
[0003]传统的CPU、GPU、DSP等通用处理设备针对通用计算任务设计,在处理深度学习应用时,存在计算性能低、效能低等弊端,无法有效支持深度学习算法在数据中心等场景的大规模部署。基于ASIC/FPGA的深度学习专用加速设备,针对深度学习的计算特点,深度定制硬件结构,相对于传统的CPU、GPU、DSP等设备,可以实现更高的计算性能和计算效能。
[0004]在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
技术实现思路
[0005]本公开提供了一种运算方法、装置、芯片、电子设备、计算机可读存储介质和计算机程序产品。
[0006]根据本公开的一方面,提供了一种运算装置执行的运算方法,包括:基于输入到运算装置中的第一向量的多个第一浮点数和第二向量的多个第二浮点数,获取与多个第一浮点数相应的二进制表示的多个第一定 ...
【技术保护点】
【技术特征摘要】
1.一种运算装置执行的运算方法,所述方法包括:基于输入到所述运算装置中的第一向量的多个第一浮点数和第二向量的多个第二浮点数,获取与所述多个第一浮点数相应的二进制表示的多个第一定点数和多个第一阶码,以及与所述多个第二浮点数相应的二进制表示的多个第二定点数和多个第二阶码,其中,所述多个第一浮点数与所述多个第二浮点数一一对应,所述多个第一定点数和所述多个第二定点数中的每个定点数分别包括符号位以及第一预设数量的定点数值位;获取所述多个第一定点数中的每个第一定点数和与该第一定点数对应的第二定点数的定点乘积值及相应的定点乘积阶码;基于所述多个第一定点数分别相应的多个定点乘积值中的每个定点乘积值相应的定点乘积阶码,获取所述第一向量与所述第二向量的定点内积计算结果;以及基于所述定点内积计算结果,获取所述定点内积计算结果对应的浮点数据格式的浮点内积计算结果。2.根据权利要求1所述的方法,其中,所述基于所述多个第一定点数分别相应的多个定点乘积值中的每个定点乘积值相应的定点乘积阶码,获取所述第一向量与所述第二向量的定点内积计算结果包括:基于所述多个第一定点数分别相应的多个定点乘积值中的每个定点乘积值相应的定点乘积阶码,对该定点乘积值进行算术移位;以及对所述多个第一定点数相应的多个经过算术移位后的定点乘积值进行求和,以获取所述第一向量与所述第二向量的定点内积计算结果。3.根据权利要求2所述的方法,其中,所述基于所述多个第一定点数分别相应的多个定点乘积值中的每个定点乘积值相应的定点乘积阶码,对该定点乘积值进行算术移位包括:在所述多个第一定点数相应的多个定点乘积阶码中确定第一定点乘积阶码;基于所述多个定点乘积阶码中的每个定点乘积阶码与所述第一定点乘积阶码,获取所述多个定点乘积值中的每个定点乘积值相应的算术移位值;以及基于所述多个定点乘积值中的每个定点乘积值相应的算术移位值,对该定点乘积值进行算术移位。4.根据权利要求3所述的方法,其中,所述在所述多个第一定点数相应的多个定点乘积阶码中确定第一定点乘积阶码包括:获取所述多个第一定点数相应的多个定点乘积阶码中的数值最大的定点乘积阶码,作为第一定点乘积阶码;并且其中,所述基于所述多个定点乘积阶码中的每个定点乘积阶码与所述第一定点乘积阶码,获取所述多个定点乘积值中的每个定点乘积值相应的算术移位值包括:计算所述第一定点乘积阶码与所述多个定点乘积阶码中的每个定点乘积阶码之间的差值,以作为该定点乘积阶码对应的定点乘积值的相应的算术移位值。5.根据权利要求1至4中任一项所述的方法,其中,所述获取与所述多个第一浮点数相应的二进制表示的多个第一定点数和多个第一阶码,以及与所述多个第二浮点数相应的二进制表示的多个第二定点数和多个第二阶码包括:对所述多个第一浮点数和所述多个第二浮点数中的每个浮点数,执行下述操作:提取该浮点数中的符号位、阶码位和浮点数值位,其中,该浮点数通过二进制表示;
提取所述浮点数值位中的最高位的所述第二预设数量的高位数值位;基于所述高位数值位,确定该浮点数对应的定点数;以及基于该浮点数的阶码位,确定该浮点数对应的阶码。6.根据权利要求5所述的方法,其中,所述获取所述多个第一定点数中的每个第一定点数和与该第一定点数对应的第二定点数的定点乘积值及相应的定点乘积阶码包括:基于所述多个第一定点数分别相应的多个第一浮点数的符号位以及所述多个第二定点数分别相应的多个第二浮点数的符号位,获取所述多个第一定点数相应的多个第一补码以及所述多个第二定点数相应的多个第二补码;计算所述多个第一补码中的每个第一补码和与该第一补码对应的第二补码的乘积,以获取所述定点乘积值;以及计算所述多个第一定点数中的每个第一定点数相应的第一阶码和与该第一定点数对应的第二定点数相应的第二阶码的总和,以获取所述定点乘积阶码。7.根据权利要求1至6中任一项所述的方法,其中,所述运算装置在一个运算周期内能够计算两个第一预定长度的向量的内积,对于向量长度相同并且均大于所述第一预定长度的第三向量和第四向量,所述方法还包括:基于所述第一预定长度,将第三向量和第四向量分别划分为多个第一向量和多个第二向量,其中,所述多个第一向量和所述多个第二向量一一对应;分别计算多组相对应的第一向量和第二向量的浮点内积计算结果;以及计算所述多组相对应的第一向量和第二向量的浮点内积计算结果的总和,以获取所述第三向量和所述第四向量的内积计算结果。8.一种运算装置执行的运算方法,所述方法包括:获取第一矩阵和第二矩阵,其中,所述第一矩阵包括第一数量的行向量,所述第二矩阵包括第二数量的列向量,并且所述行向量与所述列向量的向量长度相同;根据权利要求1
‑
7中任一项所述的方法,分别获取所述第一矩阵中的每个行向量与所述第二矩阵中的每个列向量的内积结果,以获取所述第一矩阵和所述第二矩阵的内积结果矩阵。9.一种运算装置,所述装置包括:第一获取单元,被配置为基于输入到所述运算装置中的第一向量的多个第一浮点数和第二向量的多个第二浮点数,获取与所述多个第一浮点数相应的二进制表示的多个第一定点数和多个第一阶码,以及与所述多个第二浮点数相应的二进制表示的多个第二定点数和多个第二阶码,其中,所述多个第一浮点数与所...
【专利技术属性】
技术研发人员:吴鹏,欧阳剑,
申请(专利权)人:昆仑芯北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。