本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

【j2开奖】FPGA vs. ASIC,你更看好谁?(2)

时间:2016-09-27 04:41来源:118图库 作者:开奖直播现场 点击:
当然,FPGA 还有另一大特点,就是可以随时重新配置,从而在不同的场合实现不同的功能。但是,当把 FPGA 实现的加速器当作一个商品卖给用户时,要让用

  当然,FPGA 还有另一大特点,就是可以随时重新配置,从而在不同的场合实现不同的功能。但是,当把 FPGA 实现的加速器当作一个商品卖给用户时,要让用户自己去重新配置却要花一番功夫。

  回到用乐高积木做玩具的例子,玩具厂商可以宣称这个 Yoda 大师由积木搭起来,所以玩家可以把这些积木重新组合成其他角色(比如天行者路克)。但是一般玩家根本不会拆装积木,怎么办?解决方案要么是把目标市场定为精通积木的专业核心玩家,要么是在玩具后面加一个开关,一般玩家只要按一下就可以让积木自动重新组装。很显然,第二个方案需要很高的技术门槛。

  对于 FPGA 加速器来说,如果要把可重配置作为卖点,要么是卖给有能力自己开发 FPGA 的企业用户(如百度,微软等公司确实有在开发基于 FPGA 的深度学习加速器并且在不同的应用场合将 FPGA 配置为不同的加速器),要么是开发一套方便易用能将用户的深度学习网络转化为 FPGA 配置文件的编译器(深鉴等公司正在尝试)。

  从目前来看,即使用高端的服务器来做 FPGA 编译都会需要数分钟的时间,如果编译在计算能力较弱的移动终端做需要的时间就更长了。对于移动终端用户来说,如何说服他们尝试重新配置 FPGA 并接受长达数十分钟的时间来编译网络并配置 FPGA 仍然是一个问题。

  小结

  我把 FPGA 和 ASIC 的比较总结在下面表格里。FPGA 上市速度快,但性能较低。ASIC 上市速度慢,需要大量时间开发,而且一次性成本(光刻掩模制作成本)远高于 FPGA,但是性能远高于 FPGA 且量产后平均成本远低于 FPGA。FPGA 可以完全重配置,但是 ASIC 也有一定的可配置能力,只要在设计的时候就把电路做成某些参数可调的即可。

  目标市场方面,FPGA 成本太高,所以适合对价格不是很敏感的地方,比如企业应用,军事和工业电子等等(在这些领域可重配置可能真的需要)。而 ASIC 由于低成本则适合消费电子类应用,而且在消费电子中可配置是否是一个伪需求还有待商榷。

  我们看到的市场现状也是如此:使用 FPGA 做深度学习加速的多是企业用户,百度、微软、IBM 等公司都有专门做 FPGA 的团队为服务器加速,而做 FPGA 方案的初创公司 Teradeep 的目标市场也是服务器。而 ASIC 则主要瞄准消费电子,如 Movidius。由于移动终端属于消费电子领域,所以未来使用的方案应当是以 ASIC 为主。

  

【j2开奖】FPGA vs. ASIC,你更看好谁?

  SoC+IP 模式

  说到这里,不少读者可能有疑问:现在深度学习的网络结构日新月异,但是 ASIC 上市速度那么慢而且一旦制作完成(流片)就无法更改,如何能跟上深度学习的发展速度呢?针对这个问题,我想首先需要厘清一个概念,即用于深度学习加速的 ASIC 到底要做什么?

  有人认为神经网络ASIC 就是真的实现一个神经网络结构在芯片上,因此网络结构一改(例如从 12 层变成 15 层,或者权重参数变一下)该 ASIC 就不能用了。其实这样的理解是不对的:ASIC 加速器做的是帮助 CPU 快速完成深度学习中的运算(例如卷积),当 CPU 在执行人工智能算法时只要遇到这种运算就交给加速器去做。因此只要神经网络的主要运算不变,则 ASIC 加速器完全可以使用。网络结构会影响 ASIC 加速器的性能,一种 ASIC 加速器可能是针对 GoogleNet 优化过的所以执行 GoogleNet 会特别快;当你换到 VGG Net 的时候这款 ASIC 还是可以用的,只是执行效率相比执行 GoogleNet 时要打个折扣,不过无论如何都要比 CPU 快得多。

  至于 ASIC 上市时间慢的问题,目前也是有办法可以解决的,就是使用 SoC+IP 的方法。既然设计 ASIC 一家公司做太花时间,那能不能外包甚至众筹呢?完全可以!许多 SoC 芯片就是这样做出来的。

  这里首先要向大家介绍 SoC 的概念。SoC 全称是「片上系统 (System-on-chip)」,亦即集成了许多不同模块的芯片。就拿多媒体应用的芯片举例,早些年每一个多媒体应用的模块(音频编解码,MPEG 播放编解码,3D 加速等等)自己都是一块 ASIC。

  后来电子业界发现每个模块都做 ASIC 成本太高,而且最后电子产品的体积也很难做小,不如把所有的模块都集成到同一块芯片上。这块芯片集成了多个模块,并由一个中央控制单元通过总线控制每个模块的运作,就是 SoC。例如,现在高通公司的 Snapdragon 就是一块典型的 SoC,上面集成了 GPU,视频/音频编解码,相机图像信号处理单元(ISP),GPS 以及有线/无线连接单元等等。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容