本文的算力指处理器的运算能力
单位
常见单位为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功耗的情况下,处理器能进行多少万亿次操作。
比较
一:CPU
一般来讲最弱的是cpu。虽然cpu主频最高,但是单颗也就8核,16核的样子,一个核3.5g,16核也就56g,再考虑指令周期,每秒最多也就30g次乘法。还是定点的。
二:DSP
dsp虽然主频不如cpu,但是胜在乘法器多,随随便便带16个乘法器,还是浮点的。再来个4核,8核,还有特定的算法硬件加速,所以虽然主频只有1,2g但是运算能力还是比cpu强。当然现在出现了带专用乘法器的cpu,dsp也集了arm核,这两个的界限开始模糊了。
三:GPU
gpu的主频一般在500mhz左右,但是核多啊,比如titan,有380多个流处理单元,500*400就是200g这个量级,远大与于前面2者了。
四:FPGA
fpga的运算能力的,拿高端的来说。3000多个固定乘法器,拿数字逻辑还能搭3000个,最快能到接近300mhz, 也就是1800g这个量级。
但是这几个应用场合不同,cpu虽然运算不行,但是擅长管理和调度,比如读取数据,管理文件,人机交互等,例程多,辅助工具也很多。
dsp相比而言管理弱了,运算加强了。这两者都是靠高主频来解决运算量的问题,适合有大量递归操作以及不便拆分的算法。
gpu管理更弱,运算更强,但由于是多进程并发,更适合整块数据进行流处理的算法
fpga能管理能运算,但是开发周期长,复杂算法开发难度大。适合流处理算法,不管是整块数据进还是一个一个进。还有实时性来说,fpga是最高的。前3种处理器为了避免将运算能力浪费在数据搬运上,一般要求累计一定量数据后才开始计算,产生群延时,而fpga所有操作都并行,因此群延时可以很小
原文链接:https://blog.csdn.net/weixin_36331336/article/details/112045419