找回密码
 注册
关于网站域名变更的通知
查看: 276|回复: 1
打印 上一主题 下一主题

FPGA为什么快?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-5-8 14:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
CPU和GPU都属于冯·诺依曼结构,指令译码执行,共享内存。FPGA之所以比CPU、GPU更快,本质上是因为其无指令,无共享内存的体系结构所决定的。- Q) r$ k2 x0 A- U9 @9 f
冯氏结构中,由于执行单元可能执行任意指令,就需要有指令存储器、译码器、各种指令的运算器、分支跳转处理逻辑。而FPGA的每个逻辑单元的功能在重编程时就已经确定,不需要指令。
3 r! x$ O) j; ?1 i冯氏结构中使用内存有两种作用:①保存状态。②执行单元间的通信。
1 F: p5 Q$ ^8 W6 g# Z" B  R2 E1)保存状态:FPGA中的寄存器和片上内存(BRAM)是属于各自的控制逻辑的,无需不必要的仲裁和缓存。
# v$ \4 y/ r8 w2 M& {: S$ [# t2)通信需求:FPGA每个逻辑单元与周围逻辑单元的连接在重编程时就已经确定了,并不需要通过共享内存来通信。5 j1 z3 N" k2 c6 \
计算密集型任务中:" s1 l9 Z5 d5 X+ P2 [( w7 n  p
在数据中心,FPGA相比GPU的核心优势在于延迟。FPGA为什么比GPU的延迟低很多?本质上是体系结构的区别。FPGA同时拥有流水线并行和数据并行,而GPU几乎只有数据并行(流水线深度受限)。- `/ b6 Q+ w; z" A# b8 A' w: e* [
Eg;处理一个数据包有10个步骤,FPGA可以搭建一个10级流水线,流水线的不同级在处理不同的数据包,每个数据包流经10级之后处理完成。每个处理完成的数据包可以马上输出。而GPU的数据并行方法是做10个计算单元,每个计算单元也在处理不同的数据包,但是所有的计算单元必须按照统一的步调,做相同的事情(SIMD)。这就要求10个数据包必须同进同出。当任务是逐个而非成批到达的时候,流水线并行比数据并行可实现更低的延迟。因此对流水式计算的任务,FPGA比GPU天生有延迟方面的优势。
3 f7 A+ l( N& T; @  S+ E5 KASIC在吞吐量、延迟、功耗单个方面都是最优秀的。但是其研发成本高,周期长。FPGA的灵活性可以保护资产。数据中心是租给不同租户使用的。有的机器上有神经网络加速卡,有的有bing搜索加速卡,有的有网络虚拟加速卡,任务的调度和运维会很麻烦。使用FPGA可以保持数据中心的同构性。$ O$ f+ M, Z+ f2 }4 T, ]
通信密集型任务中;
' q1 }1 r: d) D( c! A* C( w# l* UFPGA相比GPU、CPU的优势更大。
5 {1 S  |* b/ J) o! q# W0 ^①吞吐量:FPGA可以直接接上40Gbps或者100Gbps的网线,以线速处理任意大小的数据包;而CPU则需要网卡把数据包接收过来;GPU也可以高性能处理数据包,但GPU没有网口,同样需要网卡,这样吞吐量受到网卡和(或)者CPU的限制。
$ Z: M* Q0 w7 V6 {% {8 L+ i7 w②延迟:网卡把数据传给CPU,CPU处理后传给网卡,再加上系统中的时钟中断和任务调度增加了延迟的不稳定性。- l  M# Y  A( [) N8 u: H
综上所述,在数据中心里 FPGA
1 W" L9 h6 }/ u& E7 `* @1 y4 W的主要优势是稳定又极低的延迟,适用于流式的计算密集型任务和通信密集型任务。
* G7 j4 x3 }4 P/ A: |FPGA - ~  a8 @' |: H4 \# H9 }* [
和 GPU 最大的区别在于体系结构,FPGA
3 R; ^4 Z$ K2 j% H4 W更适合做需要低延迟的流式处理,GPU
, y( D& Q( k0 X6 Z% U更适合做大批量同构数据的处理。5 V; h" S: i- ?
成也萧何,败也萧何。缺少指令同时是 FPGA
9 ]9 b" N- X2 r$ [# m* C, t的优势和软肋。每做一点不同的事情,就要占用一定的 FPGA
# c5 ], z0 e8 W* T& A3 ?; p逻辑资源。如果要做的事情复杂、重复性不强,就会占用大量的逻辑资源,其中的大部分处于闲置状态。这时就不如用冯·诺依曼结构的处理器。
5 \% o4 B% F( EFPGA 3 h- d  L5 m2 M6 c' T
和 CPU 协同工作,局部性和重复性强的归
0 g% ~+ s" }6 w# l$ H( f7 \3 bFPGA,复杂的归+ _# H; b( r5 Q
CPU。! a; q5 e2 b8 u& Y
7 m: ]& _# z9 y) F- i+ y$ r/ d
《为什么越来越多的数据中心使用 FPGA ?》
! f: i2 _8 s6 P8 x: i笔记+ \8 ~" g9 s( j) v
该文链接http://mp.weixin.qq.com/s/xQNf7Sdbkx3EwMelby_IBA
  P$ q: T: T8 b9 K
' D5 P; s7 m3 @( r6 ?% q6 Y" i' B6 W: q- K9 z) q4 X! a) q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-2 20:10 , Processed in 0.093750 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表