网站首页 > 资源文章 正文
如果你经常和DMIPS,TOPS,GFLOPS等评价芯片性能的单位打交道,又不知道这些单位意味着什么,那看这篇文章就对了
TOPS
TOPS是Tera Operation Per Second的缩写,表示每秒钟可以进行的操作数量,用于衡量自动驾驶的算力,有时还会拿TOPS/W来说明功耗,即单位功耗下的运算能力。
众所周知,CV算法会消耗很大一部分自动驾驶芯片的算力,在车上堆摄像头的同时也需要堆TOPS,那么视觉处理能力为什么用TOPS评估呢?通常计算机视觉算法是基于卷积神经网络的,而卷积神经网络的本质是累积累加算法(Multiply Accumulate)。
上图是一个非常生动的卷积过程
MAC
乘积累加运算MAC(Multiply Accumulate)是在数字信号处理器或一些微处理器中的特殊运算。实现此运算操作的硬件电路单元,被称为“乘数累加器”。这种运算的操作,是将乘法的乘积结果和累加器 A 的值相加,再存入累加器:
若没有使用 MAC 指令,上述的程序可能需要二个指令,但 MAC 指令可以使用一个指令完成。而许多运算(例如卷积运算、点积运算、矩阵运算、数字滤波器运算、乃至多项式的求值运算)都可以分解为数个 MAC 指令,因此可以提高上述运算的效率。
MAC矩阵是AI芯片的核心,但这是很成熟的架构,在机器学习大背景下焕发了新春。
上图为特斯拉自动驾驶芯片架构,占很大一部分面积的是处理神经网络的NPU。
总体设计相对简单。每个周期,从SRAM读取256byte字节的激活数据和另外128byte的权重数据到MAC阵列中。每个NPU拥有96x96 MAC,另外在精度方面,乘法为8x8bit,加法为32bit,两种数据类型的选择很大程度上取决于他们降功耗的努力(例如32bitFP加法器的功耗大约是32bit整数加法器的9倍)。在2GHz的工作频率下,每个NPU的算力为36.86TOPS,FSD芯片峰值算力为73.7TOPS。在点积运算之后,数据转移到激活硬件,最后写入缓存,以汇总结果。FSD支持许多激活功能,包括ReLU、SiLU和TanH。每个周期,将128byte的数据写回SRAM。所有操作同时且连续地进行,重复直到完成整个计算。
在每个周期中,将在整个MAC阵列中广播输入数据的底行和权重的最右列。每个单元独立执行适当的乘法累加运算。在下一个循环中,将输入数据向下推一行,而将权重网格向右推一行。在整个数组中广播输入数据的最底行和权重的最右列,重复此过程。单元继续独立执行其操作。全点积卷积结束时,MAC阵列一次向下移动一行96个元素,这也是SIMD单元的吞吐量。
TOPS计算
回到正题,TOPS是MAC在1秒内操作的数,计算公式为:
TOPS = MAC矩阵行 * MAC矩阵列 * 2 * 主频
每个NPU的为96 * 96 * 2 * 2G = 36.864TOPS
DMIPS
DMIPS是Dhrystone Million Instructions Per Second的缩写,每秒处理的百万级的机器语言指令数。
CPU执行指令
程序编译和运行过程中,代码会经过编译器转化成机器可以理解的指令。CPU每个指令周期分为取指令、指令译码、指令执行三个过程,只有在指令执行时才真正有效,在取指令和指令译码时,CPU时间是白白浪费的,而同样的运算在不同架构不同指令集需要的指令数也不一样。
除了 Instruction Cycle 这个指令周期,在 CPU 里面我们还会提到另外两个常见的 Cycle。一个叫 Machine Cycle,机器周期或者 CPU 周期。CPU 内部的操作速度很快,但是访问内存的速度却要慢很多。每一条指令都需要从内存里面加载而来,所以我们一般把从内存里面读取一条指令的最短时间,称为 CPU 周期。
还有一个是Clock Cycle,也就是时钟周期以及我们机器的主频。一个 CPU 周期,通常会由几个时钟周期累积起来。一个 CPU 周期的时间,就是这几个 Clock Cycle 的总和。
对于一个指令周期来说,我们取出一条指令,然后执行它,至少需要两个 CPU 周期。取出指令至少需要一个 CPU 周期,执行至少也需要一个 CPU 周期,复杂的指令则需要更多的 CPU 周期。
从上图可以看出,时钟周期是固定的,但是每个指令执行用时不同,所以需要提高CPU执行效率。
当前提升CPU性能的方法有:流水线技术、流水线冒险/预测、超标量Superscalar、超长指令字设计VLIW、单指令多数据流SIMD等技术(将来慢慢介绍)。尤其是SIMD 技术,是一种“指令级并行”的加速方案,或者说是一种“数据并行”的加速方案。在处理向量计算的情况下,同一个向量的不同维度之间的计算是相互独立的。而CPU 里的寄存器,又能放得下多条数据。于是,我们可以一次性取出多条数据,交给 CPU 并行计算。
DMIPS
如前文所言,不同的CPU指令集不同、硬件加速器不同、CPU架构不同,导致不能简单的用核心数和CPU主频来评估性能,所以出了一个跑分算法叫Dhrystone:程序用来测试CPU整数计算性能,其输出结果为每秒钟运行Dhrystone的次数,即每秒钟迭代主循环的次数。
Dhrystone所代表的处理器分数比MIPS(million instructions per second 每秒钟执行的指令数)更有意义,因为在不同的指令系统中,比如RISC(Reduced Instruction Set Computer精简指令集计算机)系统和CISC(Complex Instruction Set Computer复杂指令集计算机)系统,Dhrystone的得分更能表现其真正性能。
由于在一个高级任务中,RISC可能需要更多的指令,但是其执行的时间可能会比在CISC中的一条指令还要快。由于Dhrystone仅将每秒钟程序执行次数作为指标,所以可以让不同的机器用其自身的方式去完成任务。
另一项基于Dhrystone的分数为DMIPS(DhrystoneMIPS),其含义为每秒钟执行Dhrystone的次数除以1757(这一数值来自于VAX 11/780机器,此机器在名义上为1MIPS机器,它每秒运行Dhrystone次数为1757次)。
- 上一篇: 南极冰层下的生物秘密基地
- 下一篇: 数字化转型赋能:行业智能应用场景构建与升级,让数据更懂业务
猜你喜欢
- 2024-11-20 如何将指标正向化
- 2024-11-20 毕达哥拉斯犹豫模集的多种距离测度方法
- 2024-11-20 目次 |《农业工程学报》2023年10月第19期
- 2024-11-20 矩阵的标准化以及归一化
- 2024-11-20 安玲学记(177)——精读期刊论文1.引言
- 2024-11-20 数字化转型赋能:行业智能应用场景构建与升级,让数据更懂业务
- 2024-11-20 南极冰层下的生物秘密基地
- 2024-11-20 英国时尚泳装品牌Neena Swim Bikini-Tops系列 高清图片画廊
- 2024-11-20 西北农林科技大学朱德兰教授等:网式过滤器水头损失动态变化规律
- 2024-11-20 线损计算技术,混合指标的台区线损处理方法及系统
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)