
目前处于AI大爆发时期,异构计算的选择主要在FPGA和GPU之间。 尽管目前异构计算使用最多的是利用GPU来加速,FPGA作为一种高性能、低功耗的可编程芯片,在处理海量数据时,FPGA计算效率更高,优势更为突出,尤其在大量服务器部署时,隐形的运营成本会得到显著降低。 本文来自CTAccel的研发总监周小鹏在LiveVideoStackCon2019 北京站上的分享。
文 / 周小鹏
整理 / LiveVideoStack
大家好,我是来自CTAccel的研发负责人周小鹏,我分享的题目是《基于FPGA的异构计算在多媒体中的应用》。 FPGA从1984年被发明到现在已经35年了,现在的FPGA有足够的规模去做大规模计算。 我们团队主要是研究它能否解决多媒体领域中的现有问题。
1. 团队介绍

联捷计算科技成立于2016年,英文名CTAccel。 实际上我们团队从2014年就开始研究这项技术了,主要致力于以FPGA为载体的数据中心的异构计算,让它能帮助我们解决一些实际的问题。
2. 主题

今天分享的主题包括两点,一个是基于FPGA的异构计算的一般性问题,另一个就是我们团队(CTAccel)基于FPGA的异构计算方案。
2.1 基于FPGA的异构计算的一般性问题

对于FPGA在异构计算的一般性问题,结合我们的认识,从以下五个方面来说。
2.1.1 当前处理的困境

上图左边描述的是2016年AMD发布的一个报告。 Intel宣布停止CPU的Tick-Tock发展模式,Moore定律的失效意味着CPU性能的提升慢于之前18个月为一周期的速度。 但是数据计算需求增长却越来越快,对计算的需求越来越多。 这些需求包括多媒体转码,搜索计算,加解密以及矩阵的计算。 由于计算需求越来越大,就需要新的底层硬件来支持大规模计算。

上图描述的是网络和存储本身的技术发展,数据中心内部网络速度越来越快,从最早的1Gbps到现在100Gbps; 存储速度也从机械硬盘的0.7MB/s加快到固态驱动器的1GB。 但是CPU处理IO的速度没有那么快,例如AES256加密和SHA-1签名,如果是使用单核CPU处理,处理能力只有100MB/s,与存储速度之间存在很大的差距。 从网络的角度来讲,如今处理网路协议所需要的CPU核数也是很大的,CPU处理速度是不能匹配网络处理速度的。 如果从硬件方面解决此问题,FPGA可以提供一些帮助。
2.1.2 FPGA及其历史

传统的FPGA概念,就像图中所示。 实际是把电路板上一些小的门电路,安装在芯片上通过改变连线来改变它的功能,叫做现场可编程门列阵。 它其实是一个半定制化专用集成电路,里面已经有一些基本门电路,也会有一些触发器,以及互联资源。 通过改变这些互连资源对门电路、触发器的连接方式来改变功能,这样就可能实现例如数字滤波器、矩阵变换等基本功能。 现在的FPGA相较之前已经发生了巨大的改变。 之前只有门电路、触发器,互连资源,但是现在里面已经包含了比较高层一点的功能模块,例