作为一种硬件可重构的体系结构,FPGA经常被用作专用芯片(ASIC)的(de)小批量替代品(pin),随着全球数据中心的(de)大规(gui)模部署,以及人工智能(neng)应用的(de)落地,FPGA凭借强(qiang)大的(de)计算(suan)能(neng)力和高度的(de)灵活(huo)性有了更多的(de)用武之地。
FPGA最大的优(you)势就是处理(li)(li)速度(du)快,因为引脚(jiao)比较多,而且其逻辑单元可以根据(ju)(ju)算法需求重组而产(chan)生定制化的数据(ju)(ju)通路,非常适合处理(li)(li)大批量的数据(ju)(ju)流。
简单来说,CPU中有控制取指、译码等流程,数据处理流程复杂;而FPGA是可编程的,每个逻辑单元的功能在重编程(烧写)时就已经确定,不需要指令。其实FPGA和GPU内都有大量的计算单元,计算能力都很强,但是GPU在数据处理过程中,需要反复调取片外存储器中的数据,FPGA只(zhi)要数据一次性流入再流出,算法就(jiu)完成了,因此在批量数据处理方面,FPGA完胜。
正是因为(wei)数(shu)据处理(li)的(de)优势(shi),FPGA在数(shu)据中心加(jia)速和AI推理(li)中成了香(xiang)饽饽,销(xiao)量大涨(zhang),2018年(nian)(nian)(nian)全球FPGA市场达(da)到(dao)了60亿美金(jin),MRFR预(yu)测FPGA在2025年(nian)(nian)(nian)有(you)望(wang)达(da)到(dao)约125.21亿美元,Xilinx也预(yu)估(gu)数(shu)据中心对芯(xin)片的(de)需求在未来五年(nian)(nian)(nian)将有(you)67%的(de)年(nian)(nian)(nian)复合增长(zhang)率。
FPGA是否能够独立部署(shu)?
虽(sui)然FPGA有(you)很强的(de)(de)计算能力,但是(shi)在数(shu)据(ju)中心都是(shi)和CPU协同工(gong)作,采用“CPU+FPGA”的(de)(de)异构架构进行加速。随着(zhe)FPGA应用范(fan)围的(de)(de)增加,业内(nei)有(you)人也提出,未来FPGA是(shi)否(fou)会脱(tuo)离CPU独立部署?

计算存储架构
赛灵思数(shu)据(ju)(ju)中心(xin)业(ye)务部产品规划和(he)市场(chang)营销总监(jian)Jamon Bowen在(zai)接受与非网(wang)记(ji)者的(de)(de)采访中,用(yong)一个应用(yong)案(an)例做了(le)解释,“这(zhei)是(shi)合作伙(huo)伴开发(fa)的(de)(de)一个存储盒的(de)(de)解决方(fang)案(an),采用(yong)了(le)Alveo U50,其前端是(shi)以(yi)太网(wang),后端是(shi)固(gu)态硬盘,其中加速IP和(he)存储几乎是(shi)放(fang)在(zai)了(le)同一个空(kong)间(jian)里,有(you)意(yi)思的(de)(de)是(shi)这(zhei)个系统(tong)没有(you)CPU,是(shi)加速器和(he)外围直接连到网(wang)络(luo)上,所以(yi)未来(lai)(lai)数(shu)据(ju)(ju)中心(xin)会被异(yi)构(gou)计(ji)算驱动,没有(you)必要和(he)这(zhei)个系统(tong)连在(zai)同一个地方(fang),也(ye)就是(shi)因为(wei)执行(xing)的(de)(de)处理器的(de)(de)高性能,深度学习、存储、加速等就没有(you)必要进行(xing)本地连接,可以(yi)做异(yi)地系统(tong)连接,这(zhei)也(ye)预示着未来(lai)(lai)数(shu)据(ju)(ju)中心(xin)一个布(bu)局的(de)(de)趋(qu)势。”
在(zai)终端(duan),有些(xie)自动驾驶公司的车上系统(tong)中就采用了(le)FPGA 完成一些(xie)实时检(jian)测识(shi)别任务。小(xiao)鹏汽车的副总裁、机器学(xue)习专(zhuan)家(jia)谷俊丽女(nv)士曾经提到,FPGA 可以(yi)凭借信(xin)号处理和低能耗方面的优势,成为一个可靠的第(di)二系统(tong),在(zai)汽车的第(di)一系统(tong)出现(xian)失误的时候,作(zuo)为安全模式介入进来。
FPGA需要克服的难题
面对(dui)未来的大好前景,FPGA厂商自然喜笑颜开,但是FPGA想成为主流,也要(yao)克服(fu)更大的挑战(zhan)。
针对浮(fu)(fu)点(dian)(dian)运算(suan)(suan),FPGA的(de)计(ji)算(suan)(suan)速(su)度(du)(du)似(si)乎还难以超越GPU。英(ying)(ying)伟达(da)的(de)Tesla V100 ,在理论上最(zui)大运算(suan)(suan)速(su)度(du)(du)可(ke)达(da)15 TFLOPS(万亿(yi)(yi)次(ci)(ci)浮(fu)(fu)点(dian)(dian)运算(suan)(suan)/ 秒(miao));搭(da)载英(ying)(ying)特尔(er)Statix 10的(de)Nallatech 520C,理论最(zui)大运算(suan)(suan)速(su)度(du)(du)为9.2 TFLOPS,功耗约(yue)为225 瓦特。英(ying)(ying)伟达(da)曝光的(de)最(zui)新Quadro GV100,能(neng)(neng)够提(ti)供高达(da)每秒(miao)7.4万亿(yi)(yi)次(ci)(ci)的(de)双精(jing)度(du)(du)浮(fu)(fu)点(dian)(dian)运算(suan)(suan)性能(neng)(neng)以及每秒(miao)14.8万亿(yi)(yi)次(ci)(ci)的(de)单精(jing)度(du)(du)浮(fu)(fu)点(dian)(dian)运算(suan)(suan)性能(neng)(neng)和每秒(miao)118.5万亿(yi)(yi)次(ci)(ci)的(de)深度(du)(du)学习浮(fu)(fu)点(dian)(dian)运算(suan)(suan)性能(neng)(neng),从这一点(dian)(dian)来看,FPGA追(zhui)赶GPU还需要一些时日(ri)。
另外,FPGA开发工程(cheng)(cheng)师反应,基(ji)于FPGA做设计的(de)编译(yi)(yi)时间很(hen)长,几乎占到整个工程(cheng)(cheng)的(de)80%,而且(qie)每次(ci)只要修改其(qi)中一个参数(shu)都需要重新编译(yi)(yi),造成(cheng)了调试(shi)效率很(hen)低,这(zhei)也成(cheng)为(wei)FPGA走向主流的(de)一大障碍。
