怎样评价《微软的 FPGA 驱动超级计算机可以秒翻(译)维基百科》

门外汉尝试着回答一下,我对FPGA的理解也仅限在课上所学的。看上去微软像是用FPGA(上面带着软核的)设计成了算法的硬件实现,在没看到具体是算法上不好作评价(不知道具体涉及到什么知识),不过感叹微软真心有钱用FPGA来实现,在我所了解的情况中FPGA一般是比专门的集成电路(不是什么CPU,GPU)要慢的(虽然FPGA理论上可以实现任何数字电路,但是专门搞FPGA的人太少了,人力成本应该挺高的(应用太少,像这种量比较大的,应该直接有解决方案提供吧(感觉是不是可以流片了))),FPGA搞这种东西不是什么很新的消息,记得几年前微软好像也用FPGA搞什么加速吧。
■网友
感觉就是个大型查找表,翻译的时间都转移到逻辑门的结构生成阶段了
■网友
【怎样评价《微软的 FPGA 驱动超级计算机可以秒翻(译)维基百科》】 没什么好评价的,当软件做一件事太慢时,就会想着优化算法,降低时间复杂度。
复杂度降到极限了,就会想着分布式。
当分布式不经济时,会想着用FPGA,从硬件层面实现。
FPGA都不能满足需求时,而且算法还具有一定的通用性,于是乎流片了。
当年的GPU也是这条路走过来的。所以说只是正常的进化过程

■网友
没来得及看新闻,恰好我是用FPGA做通信的,先占坑简单说说,有空看完新闻再说。FPGA是可编程逻辑门阵列,从名字就可以看出来,它其实是一种逻辑电路,而电路的特点就是天然并行。天然并行的好处就是我们可以把在CPU上需要多个时钟来完成的动作压缩到一个时钟周期内完成,从而提高运算速度,而代价是增大电路面积,从这点上说,CPU再快也是通过指令集进行串行处理,这一点上,FPGA作为电路是具有很大优势的。之前我我在课上做过关于微软利用FPGA进行数据处理加速的报告,记得是catapult计划,其实就是用了面积换速度的思想,将部分算法用FPGA以电路的方式实现,号称最高提速能到40倍。实际提高没那么多,因为FPGA还是略贵,并且所有算法都用FPGA实现的话电路面积很大,资源太过浪费。这两天比较忙,有时间看完新闻再补充点。啊,其实不光微软,谷歌再很早以前就在他们的服务器上集成FPGA了,不过微软的消息更好找。手机码字好累…


    推荐阅读