早前,Xilinx宣布其新一代基于ACAP架构的芯片系列Versal已经(jing)正式出(chu)货(huo)给第一批客户,并(bing)将(jiang)在今年(nian)下半(ban)年(nian)正式大规(gui)模出(chu)货(huo)。这也意味着(zhe)Xilinx研发(fa)多年(nian)的新架构(gou)终于到了经(jing)历市场(chang)检验的阶段。

自从Xilinx从2018年发布ACAP架构以来,该架构就得到了行业的高度关注。ACAP全称“灵活计算加速平台”(Adaptive Computation Acceleration Platform),该芯片不仅包含了FPGA的(de)可(ke)配(pei)置逻(luo)辑(ji),还(hai)包(bao)含(han)了ARM核,以及(ji)AI Engine和DSP Engine。这意味着使用ACAP架构的(de)芯片将(jiang)可(ke)以满足(zu)三种(zhong)需求:ARM核可(ke)以运(yun)(yun)行一些通用化(hua)且对性能(neng)需求不高的(de)任务,例如操作(zuo)系统;FPGA可(ke)配(pei)置逻(luo)辑(ji)可(ke)以运(yun)(yun)行定制化(hua)逻(luo)辑(ji);而(er)AI Engine则可(ke)以运(yun)(yun)行AI相关的(de)高性能(neng)专用计算,例如矩阵运(yun)(yun)算等。

ACAP架(jia)构里新加(jia)入的(de)(de)AI Engine是大家关注的(de)(de)焦点(dian)。根据Xilinx发布的(de)(de)资料(liao),该AI Engine是一组(zu)SIMD核(he)(he)阵列,每个核(he)(he)都包含(han)了完整的(de)(de)RISC处(chu)(chu)理器、定(ding)点(dian)SIMD处(chu)(chu)理单(dan)元、浮(fu)点(dian)SIMD处(chu)(chu)理单(dan)元以(yi)(yi)及本地内存。每个核(he)(he)之间还可以(yi)(yi)通过片上网(wang)络(NoC)连接到一起,从而(er)可以(yi)(yi)实(shi)现高度灵(ling)活的(de)(de)数据流(liu)。这(zhei)样的(de)(de)架(jia)构,事(shi)实(shi)上类(lei)似众核(he)(he)架(jia)构。在这(zhei)次(ci)发布的(de)(de)Versal AI Core系列芯(xin)片中,将会集(ji)成128-400个AI Engine,从而(er)实(shi)现43-133TOPS的(de)(de)INT8定(ding)点(dian)计(ji)算能(neng)力。


FPGA的演化逻辑
为什么Xilinx会在FPGA里面加入专用的(de)AI Engine呢?我(wo)们(men)不妨(fang)回(hui)顾一下FPGA的(de)发(fa)展(zhan)历史。
在FPGA最(zui)初(chu)出现的(de)时候,其最(zui)大的(de)卖点是可以(yi)配置成任(ren)意的(de)逻辑,只要逻辑容量不(bu)超(chao)过FPGA的(de)上(shang)限(xian)即(ji)可。最(zui)初(chu)人(ren)们对于FPGA的(de)期望是满足其功能需求。
在这样的预期下,使(shi)用(yong)FPGA的系统可以划分为两个部分,一个是使(shi)用(yong)通用(yong)处理器实现(xian)的高速处理部分,而(er)另(ling)一部分是使(shi)用(yong)FPGA实现(xian)的特(te)殊功(gong)能部分。换(huan)句话说,FPGA的主要角色(se)是协处理器。
然(ran)而,随着用户的(de)(de)(de)(de)需求和(he)FPGA公(gong)司的(de)(de)(de)(de)业务扩(kuo)展,FPGA并不(bu)满足于只(zhi)当(dang)一个协(xie)处(chu)(chu)(chu)理(li)(li)器。从(cong)用户角度(du)来(lai)(lai)说(shuo),事实上这(zhei)种主(zhu)-从(cong)处(chu)(chu)(chu)理(li)(li)器的(de)(de)(de)(de)系统(tong)在(zai)设(she)计(ji)和(he)集(ji)成的(de)(de)(de)(de)时候(hou)会比较麻烦(fan),如(ru)何正确(que)处(chu)(chu)(chu)理(li)(li)主(zhu)-从(cong)处(chu)(chu)(chu)理(li)(li)器之间(jian)的(de)(de)(de)(de)可(ke)靠(kao)互联和(he)数据通信协(xie)议设(she)计(ji)都(dou)需要不(bu)少功夫(fu)。随着FPGA容量的(de)(de)(de)(de)增大,不(bu)少用户试(shi)着在(zai)FPGA上部署一个处(chu)(chu)(chu)理(li)(li)器核来(lai)(lai)跑OS并控制其余部分的(de)(de)(de)(de)可(ke)编程逻(luo)(luo)辑。然(ran)而,这(zhei)样(yang)的(de)(de)(de)(de)效率很低,因(yin)为处(chu)(chu)(chu)理(li)(li)器核是(shi)一种通用处(chu)(chu)(chu)理(li)(li)器,而FPGA事实上最合适的(de)(de)(de)(de)领(ling)域是(shi)定制化(hua)逻(luo)(luo)辑而非通用处(chu)(chu)(chu)理(li)(li)器。从(cong)Xilinx和(he)Altera这(zhei)样(yang)的(de)(de)(de)(de)FPGA公(gong)司业务来(lai)(lai)说(shuo),FPGA作(zuo)为协(xie)处(chu)(chu)(chu)理(li)(li)器的(de)(de)(de)(de)市场可(ke)以提供的(de)(de)(de)(de)利润率显然(ran)会小于整个系统(tong)的(de)(de)(de)(de)利润率。因(yin)此,基于供需双方的(de)(de)(de)(de)需求,Xilinx推出了包含了ARM硬(ying)核和(he)FPGA的(de)(de)(de)(de)Zynq系列芯片(pian),而Altera也(ye)推出了类似概念(nian)的(de)(de)(de)(de)Altera SoC系列产品(pin)。
在Zynq和Altera SoC这类的(de)(de)(de)(de)产品中(zhong),包含了(le)一(yi)个(ge)ARM处理(li)器(qi)硬(ying)(ying)核(he)(he),以(yi)及可(ke)(ke)(ke)编程逻辑。由于(yu)处理(li)器(qi)是硬(ying)(ying)核(he)(he),因(yin)此(ci)可(ke)(ke)(ke)以(yi)运行在GHz这样(yang)的(de)(de)(de)(de)频(pin)率(lv)范围,相比之(zhi)(zhi)前跑在FPGA上的(de)(de)(de)(de)软(ruan)核(he)(he)只能跑到100MHz这样(yang)的(de)(de)(de)(de)频(pin)率(lv),可(ke)(ke)(ke)以(yi)说集(ji)成(cheng)ARM硬(ying)(ying)核(he)(he)是大大提(ti)升了(le)通用(yong)处理(li)器(qi)核(he)(he)的(de)(de)(de)(de)性(xing)能,使其不(bu)(bu)再(zai)成(cheng)为(wei)系(xi)统(tong)的(de)(de)(de)(de)性(xing)能瓶颈(jing)。此(ci)外,由于(yu)ARM硬(ying)(ying)核(he)(he)和FPGA集(ji)成(cheng)在同(tong)一(yi)块芯片(pian)(pian)上,因(yin)此(ci)处理(li)器(qi)和FPGA之(zhi)(zhi)间有(you)着(zhe)丰富的(de)(de)(de)(de)高速互联资源,从(cong)而让ARM硬(ying)(ying)核(he)(he)和FPGA逻辑之(zhi)(zhi)间的(de)(de)(de)(de)数据交换变得(de)高效。同(tong)时(shi)在工具链上,对于(yu)ARM核(he)(he)+FPGA的(de)(de)(de)(de)协(xie)同(tong)工作(zuo)也提(ti)供了(le)很好的(de)(de)(de)(de)支持。这样(yang)几个(ge)要素(su)组合(he)在一(yi)起,就实现(xian)了(le)一(yi)个(ge)重(zhong)要的(de)(de)(de)(de)突(tu)破,即这样(yang)一(yi)个(ge)包含ARM核(he)(he)和FPGA的(de)(de)(de)(de)芯片(pian)(pian)在不(bu)(bu)少场景下可(ke)(ke)(ke)以(yi)直(zhi)接作(zuo)为(wei)一(yi)个(ge)系(xi)统(tong)工作(zuo),而不(bu)(bu)再(zai)依赖于(yu)其他主处理(li)器(qi)了(le)。因(yin)此(ci),集(ji)成(cheng)了(le)ARM核(he)(he)的(de)(de)(de)(de)FPGA就不(bu)(bu)再(zai)是一(yi)个(ge)协(xie)处理(li)器(qi),而是可(ke)(ke)(ke)以(yi)作(zuo)为(wei)一(yi)个(ge)主处理(li)器(qi)。
到了(le)今天,随着FPGA目标人(ren)工(gong)智(zhi)能(neng)(neng)(neng)市(shi)场,事实(shi)(shi)上(shang)又出现(xian)(xian)了(le)之前(qian)同(tong)样(yang)的(de)情况:不少用(yong)户希望用(yong)FPGA实(shi)(shi)现(xian)(xian)人(ren)工(gong)智(zhi)能(neng)(neng)(neng)计算(suan)(suan)(suan),但是(shi)FPGA实(shi)(shi)现(xian)(xian)人(ren)工(gong)智(zhi)能(neng)(neng)(neng)计算(suan)(suan)(suan)的(de)能(neng)(neng)(neng)力有限,而(er)另一方面主流人(ren)工(gong)智(zhi)能(neng)(neng)(neng)计算(suan)(suan)(suan)其实(shi)(shi)都相当(dang)规(gui)则,基本都是(shi)基于(yu)矩阵运(yun)(yun)算(suan)(suan)(suan),因(yin)此Xilinx在ACAP的(de)架构(gou)中主动(dong)加入了(le)能(neng)(neng)(neng)灵活支持(chi)这类(lei)人(ren)工(gong)智(zhi)能(neng)(neng)(neng)运(yun)(yun)算(suan)(suan)(suan)的(de)硬核(he)——AI Engine,从(cong)而(er)希望能(neng)(neng)(neng)作为完(wan)整的(de)系(xi)统支持(chi)人(ren)工(gong)智(zhi)能(neng)(neng)(neng)计算(suan)(suan)(suan),并慢慢从(cong)芯片(pian)厂商走向系(xi)统厂商。
ACAP对于人(ren)工智(zhi)能市场的影响
ACAP主(zhu)要(yao)(yao)(yao)针(zhen)对的(de)(de)(de)市(shi)(shi)场是(shi)(shi)云(yun)端和(he)边缘计算(suan)市(shi)(shi)场。云(yun)端市(shi)(shi)场即数据(ju)中(zhong)心的(de)(de)(de)服(fu)务器(qi),在此(ci)(ci)类应用中(zhong),ACAP可(ke)(ke)望(wang)作(zuo)为用于加(jia)速人(ren)工智能(neng)计算(suan)的(de)(de)(de)加(jia)速卡进入(ru)服(fu)务器(qi)。目前,亚马逊AWS已经(jing)有不少部署(shu)了Xilinx FPGA的(de)(de)(de)服(fu)务器(qi),随着ACAP的(de)(de)(de)发布,可(ke)(ke)望(wang)会有更多FPGA进入(ru)此(ci)(ci)类云(yun)计算(suan)市(shi)(shi)场。值(zhi)得注意的(de)(de)(de)是(shi)(shi),ACAP主(zhu)要(yao)(yao)(yao)的(de)(de)(de)强(qiang)项是(shi)(shi)低精度定点(dian)计算(suan)(INT8),因(yin)此(ci)(ci)针(zhen)对的(de)(de)(de)AI应用主(zhu)要(yao)(yao)(yao)是(shi)(shi)推理(li),而(er)作(zuo)为云(yun)端人(ren)工智能(neng)重要(yao)(yao)(yao)应用的(de)(de)(de)训练(lian)仍然(ran)会需要(yao)(yao)(yao)擅长浮点(dian)运算(suan)的(de)(de)(de)GPU。而(er)在AI推理(li)方面,FPGA相(xiang)比(bi)GPU的(de)(de)(de)优势是(shi)(shi)功(gong)耗(hao)小并且可(ke)(ke)定制,因(yin)此(ci)(ci)会在该领(ling)域与GPU竞争(zheng)市(shi)(shi)场份额。然(ran)而(er),相(xiang)比(bi)GPU完整(zheng)的(de)(de)(de)开发者(zhe)生(sheng)(sheng)态(tai)(tai),FPGA的(de)(de)(de)开发生(sheng)(sheng)态(tai)(tai)仍然(ran)不够成熟,因(yin)此(ci)(ci)工具链(lian)等开发生(sheng)(sheng)态(tai)(tai)可(ke)(ke)能(neng)会成为充分开启FPGA潜(qian)力(li)的(de)(de)(de)关键点(dian)。

在云(yun)端(duan)(duan)市(shi)(shi)场(chang)之(zhi)外(wai),边缘计算(suan)将是(shi)ACAP的(de)(de)重点市(shi)(shi)场(chang)。边缘计算(suan)介于终(zhong)(zhong)端(duan)(duan)节(jie)点和云(yun)之(zhi)间,边缘服务器部署(shu)在物联网(wang)终(zhong)(zhong)端(duan)(duan)附近,它收(shou)集终(zhong)(zhong)端(duan)(duan)设备的(de)(de)信(xin)息并做就(jiu)近处理,同(tong)时(shi)将必(bi)要的(de)(de)信(xin)息再(zai)上(shang)传至云(yun)端(duan)(duan)。物联网(wang)、5G和自动驾驶技(ji)术在大大增加边缘计算(suan)市(shi)(shi)场(chang)潜力的(de)(de)同(tong)时(shi),也(ye)对(dui)(dui)边缘计算(suan)提出了新的(de)(de)需求,需要边缘计算(suan)在做网(wang)络操(cao)作和数据存储之(zhi)外(wai),还要能(neng)实现实时(shi)人工智能(neng)计算(suan),而(er)这也(ye)是(shi)ACAP主要针对(dui)(dui)的(de)(de)市(shi)(shi)场(chang)。事实上(shang),通(tong)信(xin)基站(zhan)本(ben)来(lai)就(jiu)是(shi)FPGA的(de)(de)主要市(shi)(shi)场(chang)之(zhi)一,因此随着(zhe)5G结合边缘计算(suan)和人工智能(neng)的(de)(de)概(gai)念,ACAP显然也(ye)能(neng)迎(ying)合这样的(de)(de)潮流,从而(er)有(you)望(wang)随着(zhe)5G+概(gai)念的(de)(de)崛起(qi)占领更多通(tong)信(xin)市(shi)(shi)场(chang)。
对(dui)于人工(gong)(gong)智(zhi)能(neng)(neng)芯片初创公司来(lai)说,ACAP将(jiang)会在(zai)(zai)云端(duan)和(he)边缘计算(suan)端(duan)成为(wei)一个(ge)有力(li)的(de)竞争(zheng)者。考虑ACAP的(de)计算(suan)能(neng)(neng)力(li)(40-100TOPS),我(wo)们(men)认(ren)为(wei)ACAP在(zai)(zai)边缘计算(suan)方(fang)面将(jiang)有非常强的(de)竞争(zheng)力(li)(在(zai)(zai)云端(duan)对(dui)于算(suan)力(li)的(de)需求将(jiang)会很快超过100TOPS,因此(ci)ACAP或许(xu)将(jiang)更(geng)多发挥其(qi)在(zai)(zai)可配(pei)置而非算(suan)力(li)方(fang)面的(de)优(you)势(shi))。由于FPGA成本较高,因此(ci)我(wo)们(men)认(ren)为(wei)ACAP将(jiang)会更(geng)多面对(dui)高端(duan)市场(chang),但是从整(zheng)体(ti)上来(lai)说,我(wo)们(men)认(ren)为(wei)ACAP将(jiang)会成为(wei)Xilinx进军人工(gong)(gong)智(zhi)能(neng)(neng)市场(chang)的(de)一把利器。
对(dui)于Xilinx FPGA的(de)(de)老对(dui)手(shou)——Intel来(lai)(lai)说,应(ying)对(dui)Xilinx ACAP的(de)(de)策略并(bing)非针锋(feng)相对(dui)推出另(ling)一(yi)(yi)款功(gong)能(neng)相近的(de)(de)芯(xin)片(pian),而(er)(er)(er)是(shi)(shi)利用自身(shen)在封装工艺上的(de)(de)优势以虚击实(shi)。今(jin)年四月,Intel发布了(le)下(xia)一(yi)(yi)代FPGA构(gou)架AgileX,该架构(gou)利用EMIB封装,可以把FPGA和其他芯(xin)片(pian)粒(li)(li)封装在一(yi)(yi)起(qi)。因(yin)此,如果(guo)客户选择在AgileX的(de)(de)系统(tong)中集成一(yi)(yi)块用于AI加速的(de)(de)芯(xin)片(pian)粒(li)(li),则可以实(shi)现和Xilinx ACAP类似(si)的(de)(de)效果(guo)。这样(yang)一(yi)(yi)来(lai)(lai),Intel的(de)(de)AgileX方(fang)(fang)案(an)比起(qi)Xilinx来(lai)(lai)说更加灵(ling)活,因(yin)为Xilinx的(de)(de)ACAP只针对(dui)AI相关(guan)计算(suan)优化,而(er)(er)(er)Intel的(de)(de)AgileX优化的(de)(de)计算(suan)取决(jue)于客户选择集成什么芯(xin)片(pian)粒(li)(li)。然(ran)而(er)(er)(er),现在芯(xin)片(pian)粒(li)(li)的(de)(de)生态还(hai)未完善,因(yin)此无论是(shi)(shi)成本、工具链(lian)还(hai)是(shi)(shi)产(chan)能(neng)来(lai)(lai)说都要(yao)打个(ge)问号(hao),因(yin)此我们认为Intel的(de)(de)AgileX架构(gou)的(de)(de)第(di)一(yi)(yi)批客户还(hai)主要(yao)是(shi)(shi)针对(dui)希望(wang)能(neng)和Intel深度合作使用EMIB技(ji)术并(bing)且(qie)有(you)技(ji)术实(shi)力理解(jie)甚至定制芯(xin)片(pian)粒(li)(li)系统(tong)的(de)(de)大客户,这样(yang)看来(lai)(lai),我们认为Xilinx的(de)(de)ACAP是(shi)(shi)赌定了(le)AI市场,并(bing)且(qie)希望(wang)能(neng)快速覆(fu)盖更多的(de)(de)客户;而(er)(er)(er)Intel还(hai)不(bu)愿意放弃(qi)FPGA的(de)(de)灵(ling)活性,因(yin)此并(bing)不(bu)希望(wang)这么早(zao)就把FPGA和AI深度绑(bang)定,而(er)(er)(er)是(shi)(shi)希望(wang)FPGA能(neng)作为其芯(xin)片(pian)粒(li)(li)生态的(de)(de)先锋(feng)部队。这另(ling)一(yi)(yi)方(fang)(fang)面和两家公司的(de)(de)架构(gou)也(ye)有(you)关(guan):FPGA只是(shi)(shi)Intel的(de)(de)一(yi)(yi)个(ge)事业部,其产(chan)品定义必须服从(cong)Intel整体(ti)的(de)(de)战略;而(er)(er)(er)FPGA产(chan)品对(dui)于Xilinx来(lai)(lai)说就是(shi)(shi)全部,所(suo)以一(yi)(yi)切都围绕FPGA。

对于中(zhong)国芯片公司(si)来说(shuo),意(yi)识到(dao)FPGA与专(zhuan)用(yong)(yong)加速(su)(su)器以(yi)(yi)及(ji)处理器硬核集成的趋势(shi)也(ye)是重要的。虽(sui)然(ran)我们(men)在(zai)FPGA领域尚(shang)需(xu)追赶,但(dan)是FPGA SoC的架构(gou)与FPGA更(geng)像是一种横(heng)向扩展(zhan)(zhan)而(er)非纵(zong)向加深,也(ye)即完(wan)全可以(yi)(yi)在(zai)与研发(fa)FPGA并行进行,从而(er)在(zai)未(wei)来更(geng)快(kuai)追上FPGA发(fa)展(zhan)(zhan)的步(bu)伐。从另(ling)一个角度来说(shuo),我们(men)也(ye)可以(yi)(yi)认为FPGA下一步(bu)的发(fa)展(zhan)(zhan)已经不(bu)只是如何(he)把FPGA逻辑规(gui)模做大速(su)(su)度做快(kuai),而(er)是如何(he)把FPGA搭配其他应用(yong)(yong)组成在(zai)灵活度和(he)性能方面(mian)都足够好的SoC。随着FPGA IP的发(fa)展(zhan)(zhan),中(zhong)国芯片公司(si)也(ye)可以(yi)(yi)考虑购买FPGA IP搭配专(zhuan)用(yong)(yong)加速(su)(su)器IP,从而(er)实现我们(men)自己的“ACAP”。
