最近一直在被某hxxxx 和小伙伴催着用 ~~ 5tops 我的另一个小伙伴老是说 hxxxx 5t算力呢 nvidia才多少 呵呵 😒
所以来说一下这个 纯属给自己看 就搬来了 勿怪~~
其实吧 TOPS 跟 FLOPS 没有可比性。
TOPS 是NPU(neuro processing unit)Tensor Ops per Second;
而 FLOPS 是GPU (Graphic Processing Unit)图像或数学问题浮点运算 的单位;
两者不一样应用,没有可比性。是8位整数操作,而不是浮点。 应该能明白了吧 好啦 先说tops
TOPS是Tera Operations Per Second的缩写,1TOPS代表处理器每秒钟可进行一万亿次(10^12)操作。
与此对应的还有GOPS(Giga Operations Per Second),MOPS(Million Operation Per Second)算力单位。1GOPS代表处理器每秒钟可进行十亿次(10^9)操作,1MOPS代表处理器每秒钟可进行一百万次(10^6)操作。TOPS同GOPS与MOPS可以换算,都代表每秒钟能处理的次数,单位不同而已。
在某些情况下,还使用 TOPS/W 来作为评价处理器运算能力的一个性能指标,TOPS/W 用于度量在1W功耗的情况下,处理器能进行多少万亿次操作。
算力单位TOPS,GPU处理能力(TFLOPS/TOPS),CPU能力MIPS ,片外内存与片内内存
目录
1)TOPS
2)GOPS
3)FLOP与GOPS之间的换算
4)GOPS与FLOPS
5)常规神经网络算力
6)CPU 处理能力
7)基于NXP S32V234的ADAS辅助驾驶硬件计算平台
8)ROM
9)片外RAM 与片内RAM
10)案例說明
1)TOPS
TOPS是Tera Operations Per Second的缩写,1TOPS代表处理器每秒钟可进行一万亿次(10^12)操作。
与此对应的还有GOPS(Giga Operations Per Second),MOPS(Million Operation Per Second)算力单位。1GOPS代表处理器每秒钟可进行十亿次(109)操作,1MOPS代表处理器每秒钟可进行一百万次(106)操作。TOPS同GOPS与MOPS可以换算,都代表每秒钟能处理的次数,单位不同而已。
在某些情况下,还使用 TOPS/W 来作为评价处理器运算能力的一个性能指标,TOPS/W 用于度量在1W功耗的情况下,处理器能进行多少万亿次操作。
2)GOPS
OPS与FLOPS类似,只不过OPS一个是操作次数,FLOPS一个是浮点操作次数。
3)FLOP与GOPS之间的换算
(FLOP与GOPS之间的换算需要查相关资料,后续查找资料给出)
不确定的看法是OPS是操作数量,FLOPS为浮点操作数量,两者可近似于相等,FLOPS比OPS稍大。
4)GOPS与FLOPS
1.1 FLOPS
FLOPS定义
是“每秒所执行的浮点运算次数”(floating-point operations per second)的缩写。它常被用来估算电脑的执行效能,尤其是在使用到大量浮点运算的科学计算领域中。正因为FLOPS字尾的那个S,代表秒,而不是复数,所以不能省略掉。
在这里所谓的“浮点运算”,实际上包括了所有涉及小数的运算。这类运算在某类应用软件中常常出现,而它们也比整数运算更花时间。现今大部分的处理器中,都有一个专门用来处理浮点运算的“浮点运算器”(FPU)。也因此FLOPS所量测的,实际上就是FPU的执行速度。而最常用来测量FLOPS的基准程式(benchmark)之一,就是Linpack。
FLOPS换算
一个MFLOPS(megaFLOPS)等于每秒一百万(=10^6)次的浮点运算,
一个GFLOPS(gigaFLOPS)等于每秒十亿(=10^9)次的浮点运算,
一个TFLOPS(teraFLOPS)等于每秒一万亿(=10^12)次的浮点运算,(1太拉)
一个PFLOPS(petaFLOPS)等于每秒一千万亿(=10^15)次的浮点运算,
前标的十进制与二进制
此处存在疑问,从M到G再到T,到底是1024近似为1000,还是采用二进制的乘以1024,还是确实为十进制的1000
倾向于FLOP的前标与内存一样,是以二进制算,每进一级是1024为单位的。
但是10243是1073741824,可以近似为109。所以采用10^3来近似1024问题不大。
5)常规神经网络算力
韩松毕业论文EFFICIENT METHODS AND HARDWARE FOR DEEP LEARNING P15
2.1 AlexNet
对于AlexNet处理224*224的图像,需要1.4GOPS
2.2 ResNet-152
对于224*224的图像,ResNet-152需要22.6GOPS
例如对于 1080p图像(像素点个数1920*1280) 的8路 帧率为30FPS的图像。
22.6GOPS30FPS8路*(1920*1280/224^2)=265Teraop/sec
这个数量级为30张高端显卡。
2.3 EIE算力
EIE在稀疏网络上可达102GOPS/s,相当于同等级非稀疏网络的1TGOPS/s
2.4 一些层的算力
6)CPU 处理能力
今天在看《ARM权威指南-Cortex-M0》时,遇到一个单位名词——DMIPS,查找过程中发现几个相关单位名词,在此做下记录。
MIPS(Million Instructions Per Second):字面理解为百万条指令/秒,即每秒执行百万级指令数。这是衡量CPU速度的一个指标。像是一个Intel 80386 电脑可以每秒处理3百万到5百万机器语言指令,既我们可以说80386是3到5MIPS的CPU。MIPS只是衡量CPU性能的指标。
DMIPS(Dhrystone Million Instructions executed Per Second):Dhrystone是测量处理器运算能力的最常见基准程序之一,常用于处理器的整型运算性能的测量。Dhrystone是一种整数运算测试程序。
MFLOPS(Million Floating-point Operations per Second),主要用于测浮点计算能力。ARM中的MIPS和MHz联系
如今CPU的频率越来越高,又是流水线又是超标量计算又是双核多核的,单纯以时钟频率来衡量计算机的速度已经不再科学,用MIPS来衡量相对比较合理。以ARM7为内核的S3C44B0X的推荐最高工作频率为66MHz,按照ARM公司提供的技术资料,ARM7类CPU的运算速度可按如下公式计算:MIPS=0.9×MHz,由此可得出,S3C44B0X的最大运算速度大约为0.9×66MHz=59.4MIPS。6M的51单片机通常是12 或24个时钟周期才能完成1条指令,乘法和除法指令更需要48个时钟周期。这样,我初步估算6M的51单片机的运算速度应该在0.2~0.5MIPS之间。可见8位机与32位机的运算速度还是有巨大的差异的。
再以AVR为例,它的数据吞吐率可达1MIPS/MHz,即1MHz的震荡频率可达1MIPS。
综上,用MIPS衡量计算机速度很合理,对于不同的cpu,它的最高工作频率不同,数据吞吐率也不同,所以不可一概而论。
7)基于NXP S32V234的ADAS辅助驾驶硬件计算平台
基于NXP S32V234的ADAS辅助驾驶硬件计算平台
- 主芯片型号:S32V234
- 计算性能:9200DMIPS(ARM每秒运算92亿条指令集)
- 主要应用场景:视觉处理、激光雷达点云处理、组合定位、决策规划、车辆控制等
- 参数指标(简略版):
S32V是NXP推出的汽车视觉微处理器具有强大的运算处理能力
360环视系统,是一套利用多个广角摄像头并通过车载显示屏幕显示汽车四周360度全景融合鸟瞰图像的泊车辅助系统,也叫全景倒车影像系统,全景泊车系统等。
它可以帮助汽车驾驶员了解车辆周边视线盲区,从而更为直观、更为安全地停泊车辆。整个系统的组成主要包括多个广角摄像头(多为4个),摄像头解码芯片,主处理器,电源管理芯片,液晶屏等。
其基本工作原理是主处理器通过摄像头解码芯片采集4个广角摄像头的原始数据,通过内部的算法将4个摄像头数据无缝融合成一幅鸟瞰图,显示到液晶屏上。
ZLG提供完整的360环视解决方案,包括基于LVDS和基于以太网的方案,两者仅在摄像头的数据传输方式上有所差别。
剩下的自己百度哈
8)ROM
1】rom或者flash,叫程bai序存储du区,你写的程序是存在这里面zhi的,上电后从这里面执行。
程序存储区也分为片内和片外,一般来说,现在的51很多已经做到了64k,所以很少有外扩
片外flash或者片外的rom了,flash或者rom不管是片内还是片外的,只能用来定义常量,是用code来修饰,也就是说,用code来修饰的东西,在程序运行过程中,不能修改;
2】ram有------内部ram的低128位(00-7f),对应c语言就是data,比如我定义一个变量,
data
9)片外RAM 与片内RAM
STC89C52 共有 512 字节的 RAM,是用来保存数据的,比如我们定义的变量都是直接存在 RAM 里边的。但是单片机的这 512 字节的 RAM在地位上并不都是平等的,而是分块的,块与块之间在物理结构和用法上都是有区别的,因此我们在使用的时候,也要注意一些问题。
51 单片机的 RAM 分为两个部分,一块是片内 RAM,一块是片外 RAM。标准 51 的片内 RAM 地址从 0x00H~0x7F 共 128 个字节,而现在我们用的 51 系列的单片机都是带扩展片内 RAM 的,即 RAM 是从 0x00~0xFF 共 256 个字节。片外 RAM 最大可以扩展到 0x0000~0xFFFF 共 64K 字节。这里有一点大家要明白,片内 RAM 和片外 RAM 的地址不是连起来的,片内是从 0x00 开始,片外也是从 0x0000 开始的。还有一点,片内和片外这两个名词来自于早期的 51 单片机,分别指在芯片内部和芯片外部,但现在几乎所有的 51 单片机芯片内部都是集成了片外 RAM 的,而真正的芯片外扩展则很少用到了,虽然它还叫片外 RAM,但实际上它现在也是在单片机芯片内部的,我们的 STC89C52 就是这样。以下是几个 Keil C51 语言中的关键字,代表了 RAM 不同区域的划分,大家先记一下。
在这里插入图片描述
51单片机的片内RAM和片外RAM的区别
data:片内 RAM 从 0x00~0x7F
idata:片内 RAM 从 0x00~0xFF
pdata:片外 RAM 从 0x00~0xFF
xdata:片外 RAM 从 0x0000~0xFFFF
大家可以看出来,data 是 idata 的一部分,pdata 是 xdata 的一部分。为什么还这样去区分呢?因为 RAM 分块的访问方式主要和汇编指令有关,因此这块内容大家了解一下即可,只需要记住如何访问速度更快就行了。
我们定义一个变量 a,可以这样:unsigned char data a=0,而我们前边定义变量时都没有加 data 这个关键字,是因为在 Keil 默认设置下,data 是可以省略的,即什么都不加的时候变量就是定义到 data 区域中的。data 区域 RAM 的访问在汇编语言中用的是直接寻址,执行速度是最快的。如果你定义成 idata,不仅仅可以访问 data 区域,还可以访问 0x80H~0xFF 的范围,但加了 idata 关键字后,访问的时候 51 单片机用的是通用寄存器间接寻址,速度较 data会慢一些,而且我们平时大多数情况下不太希望访问到 0x80H~0xFF,因为这块通常用于中断与函数调用的堆栈,所以在绝大多数情况下,我们使用内部 RAM 的时候,只用 data 就可以了。
对于外部 RAM 来说,使用 pdata 定义的变量存到了外部 RAM 的 0x00~0xFF 的地址范围内,这块地址的访问和 idata 类似,都是用通用寄存器间接寻址,而如果你定义成 xdata,可以访问的范围更广泛,从 0 到 64K 的地址都可以访问到,但是它需要使用 2 个字节寄存器DPTRH 和 DPTRL 来进行间接寻址,速度是最慢的。
我们的 STC89C52 共有 512 字节的 RAM,分为 256 字节的片内 RAM 和 256 字节的片外RAM。一般情况下,我们是使用 data 区域,data 不够用了,我们就用 xdata,如果希望程序执行效率尽量高一点,就使用 pdata 关键字来定义。其它型号有更大的 RAM 的 51 系列单片机,如果要使用更大的 RAM,就必须得用 xdata 来访问了。
10)案例說明
5.6Tops高算力神经网络计算卡
基于AI专用的APiM架构,无需外部缓存的模块化深度神经网络学习加速器,用于高性能边缘计算领域,可作为基于视觉的深度学习运算和AI算法加速。外形小巧,极低功耗,拥有着强劲算力,配套完整易用的模型训练工具、网络训练模型实例,搭配专业硬件平台,可快速应用于人工智能行业中。
5.6Tops强劲算力
NCC S1基于AI嵌入式神经网络处理器(NPU),拥有28000个并行神经计算核,支持芯片上并行与原位计算,峰值运算能力高达5.6Tops,是市面上其他方案的数十倍。其强劲的算力,能进行复杂的高密度计算,适用于高性能边缘计算领域。
AI处理架构APiM
采用AI专用的MPE矩阵引擎和APiM(AI processing in Memory,存储中的AI处理)架构,以革命性的方式处理AI,一次升级网络预加载,无需指令、总线,无需外部DDR缓存,大量数据可直接输入/输出硅片,从而大大提高了AI的处理速度,降低处理能耗。
9.3 Tops/W超高效能
NCC S1神经网络计算卡的核心采用28nm工艺制程,在2.8 Tops算力时功率仅300mW,效率能耗比高达为9.3 Tops/W,在拥有超强的算力同时保持了极低的能耗,让其应用在终端设备的边缘计算领域中极具优势。
高性能硬件平台
NCC S1神经网络计算卡可搭配ROC-RK3399-PC开源主板,配置高性能RK3399六核处理器,拥有丰富的硬件接口,可快速集成边缘计算的硬件平台,搭建产品原型,加速AI产品的项目进程。
配套模型训练工具
提供基于PyTorch完整易用的模型训练工具PLAI(People Learn AI), 可在Windows 10与Ubuntu 16.04系统上开发,更简单快捷地添加自定义网络模型,大大降低了使用AI的技术门槛,让更多人能更容易打开AI的大门。
提供网络训练模型
支持GNet1,GNet18和GNetfc三种网络训练模型实例,后续会持续增加网络实例,轻松在设备上测试大量深度学习应用。
还有什么不对和补充的大伙来帮忙吧