浮点数

Tensor

数据存储

N:bach批量大小

C:channel特征图通道数

H:特征图的高

W:特征图的宽

 

深度学习框架中卷积神经网络特征图用4D张量表示,但体现在硬件中是1D。

NCHW代表【WHCN】,NHWC代表【CWHN】

 

对于NCHW,存储时是【WHCN】,从001开始沿着W方向知道003,再沿H方向挨个存004、005、006,直到019,存完第一张沿C方向按同样方式存第二张,最后沿N方向重复上述操作。

对NHWC,存储时按【CWHN】,从000沿C方向存020,040等,之后沿W方向存001、021等,再沿H方向,最后沿N。

RGB图像

 

浮点乘法器

浮点数概念与运算规则

浮点数表示

 

l  FP32为单精度浮点数,32bit,1bit符号位,8bit表示指数部分,23bit表示尾数部分。

l  TF32为英伟达提出的代替FP32的单精度浮点数,8位指数和10位尾数。

l  FP16为半精度浮点数,5bit表示指数,10bit表示小数,

l  BF16是对FP32的截断数据,8bit表示指数,7bit表示小数。

l  FP32和BF16整数表示范围一致,小数部分不同,存在误差。

l  FP32和FP16数据范围不一致,FP16在大数据计算中可能溢出。

l  通常表示为N=MxR^E;其中M为尾数,R为基数,E为阶码,R一般取2。

以十进制12.5为例,符号位为0,转化为二进制是1100.1,进一步写成1.1001*2^3。

在将实际指数转化为阶码时,要加上偏移值127,实际阶码E=实际指数+127。因为8bit既要表示正指数也要表示负指数,另外将0和255单拎出来。

       若E=11111111且M=0,可根据S不同表示+∞和-∞。

       若E=00000000且M=0,可根据S不同表示+0和-0.

       若E=00000000且M≠0,表示为NAN,不是一个数值。

 

 

 

           

 

 

e浮点数运算
乘除

两个浮点数相乘,乘积的阶码为相乘两数的阶码之和,乘积的尾数为相乘两数的尾数之积。

乘除法相比于加减法简单,不需要对阶,只需要考虑规格化和摄入问题。

乘法步骤

l  检测两个尾数是否一个为0,若为0则乘积必为0.

l  阶码相加减

l  尾数相乘

l  结果规格化和舍入处理

 

参考链接:

https://blog.csdn.net/shuzfan/article/details/53814424?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%B5%AE%E7%82%B9%E6%95%B0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduweb~default-0-53814424.nonecase&spm=1018.2226.3001.4450

https://zhuanlan.zhihu.com/p/92851098

https://zhuanlan.zhihu.com/p/355615128

https://www.cnblogs.com/qy-blogs/p/9201227.html

浮点数乘法器设计

设计要求

                   i.           输入格式可配,支持int8、fp16、bf16,输出格式根据输入格式确定:int8->int16,fp16/bf16-> tf32;

                  ii.           输入数据位宽为16bit,即可以输入两个int8数据或者一个fp16/bf16;

                 iii.           输出数据位宽为32bit,tf32不足32bit高位补0;

                 iv.           浮点运算支持“最近偶数”舍入,不支持非规约数;

                  v.           搭建testbench环境,完成验证,结果与dw lib库比对;

设计点

  1. 按照输入数据类型,提取符号位、阶码、尾数
  2. 符号位处理,直接异或
  3. 尾数相乘,16*16乘法器。假设A为1.M,B为1.N,则A*B为1+0.M+0.N+0.M*0.N。
  4. 阶码处理,分别减去127得到真实阶码,相加得到结果阶码再加127。此处考虑溢出处理。
  5. 规范化,左规右规。舍入处理,最近偶数。

待定:

1、 确认输入数据属于同一类型

2、 输入数据表示方法是补码还是移码

 

 

浮点数加法器设计

posted @   骑猪上树的少年  阅读(926)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
回到顶部
点击右上角即可分享
微信分享提示

目录导航