[发明专利]自定义浮点数及其计算方法和硬件结构在审
申请号: | 201910114677.0 | 申请日: | 2019-02-14 |
公开(公告)号: | CN109901814A | 公开(公告)日: | 2019-06-18 |
发明(设计)人: | 张煜祺;刘功申 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F7/485 | 分类号: | G06F7/485;G06F7/487 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 庄文莉 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 浮点数 自定义 加法运算 能量消耗 运算 缓冲器 神经网络模型 芯片 片外存储器 压缩 乘法运算 封装结构 内存带宽 神经网络 网络参数 硬件结构 硬件实现 运算操作 运算单元 整数乘法 乘法器 复杂度 连接层 乘法 吞吐量 传输 共享 | ||
1.一种自定义浮点数,其特征在于,主要由整数部分和共享指数组成,整数部分主要由1位符号位和Z-1位尾数位组成,Z表示整数部分的位数,共享指数是8位,共享指数的位宽和单精度浮点数相同。
2.根据权利要求1所述的自定义浮点数,其特征在于,由整数部分和共享指数组成,整数部分由1位符号位和Z-1位尾数位组成;
当将原始数据从单精度浮点格式量化为自定义浮点数时,使用共享指数,所述共享指数来自原始数据的绝对最大值,如下式表示:
Es=Emax-(Z-2)
其中,F表示原始数据的单精度浮点数据集,f表示原始数据的单精度浮点数据集中的一个单精度浮点数据,E表示指数,Emax表示原始数据的单精度浮点数据集F中的绝对最大值的指数;Z表示整数部分I的位数,共享指数ES的值由Emax和Z计算得到。
3.一种利用权利要求1所述的自定义浮点数的计算方法,其特征在于,采用整数的乘法运算来代替原有的32位浮点数乘法运算,其中,乘法运算是将两个n-bit自定义浮动点值相乘,以产生具有2(n-1)bits尾数、1bit符号和更新共享指数,如下式表示:
MC=MA×MB
ES,C=ES,A+ES,B
其中,SA、SB、SC分别表示数据A、B、C的符号位,MA、MB、MC为数据A、B、C尾数位,ES,A、ES,B、ES,C表示A、B、C对应的共享指数。
4.根据权利要求3所述的自定义浮点数的计算方法,其特征在于,采用整数加法运算来代替原有的32位浮点数加法运算,其中,加法运算如下式表示:
ES,C=ES,A=ES,B
iC=iA+iB
其中,ES,A、ES,B、ES,C分别表示A、B、C对应的共享指数;iA、iB、iC分别表示A、B、C对应的整数部分。
5.根据权利要求3所述的自定义浮点数的计算方法,其特征在于,在卷积神经网络中的量化中,每个层的输出使用一个R和ES来把每层输出量化为8位的自定义浮点数,如下式表示:
iC=i>>R,ES,C=ES+R
其中,R表示整数部分I右移的位数;Acc表示累加器的位宽,LZC()是返回前导零位计数的函数;i表示原数据集的整数部分;iC表示量化后的标准自定义浮点数的整数部分;I表示整数部分;Z表示整数部分I的位数;ES,C表示C对应的共享指数;ES表示共享指数。
6.一种实现权利要求1所述的自定义浮点数的硬件结构,其特征在于,在一个DSP片上封装两个尾数部分的乘法运算。
7.根据权利要求6所述的自定义浮点数的硬件结构,其特征在于,在DSP片上通过预加法器进行累加移位。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910114677.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种浮点运算装置及方法
- 下一篇:基于阻变存储器的并行逻辑门及乘法器