FPGA的過去,現(xiàn)在和未來
自Xilinx在1984年創(chuàng)造出FPGA以來,這種可編程邏輯器件憑借性能、上市時(shí)間、成本、穩(wěn)定性和長期維護(hù)方面的優(yōu)勢,在通信、醫(yī)療、工控和安防等領(lǐng)域占有一席之地,在過去幾年也有極高的增長率。而進(jìn)入了最近兩年,由于云計(jì)算、高性能計(jì)算和人工智能的繁榮,擁有先天優(yōu)勢的FPGA的關(guān)注度更是到達(dá)了前所未有的高度。本文從基礎(chǔ)出發(fā)談及FPGA的過去、現(xiàn)在與未來。
本文引用地址:http://www.ex-cimer.com/article/201710/365572.htm我們知道,相對于專業(yè)的ASIC,F(xiàn)PGA有上市時(shí)間和成本上的優(yōu)勢。另外,在大多數(shù)情況下,F(xiàn)PGA執(zhí)行某些功能較之CPU上的軟件操作更高效。這就是為什么我們認(rèn)為它不但會運(yùn)用在數(shù)據(jù)中心的服務(wù)器、交換器、存儲層的各個(gè)角落,并且具有加速整個(gè)工作流程的功能。
然而我們不能過分樂觀,尤其是在2015年12月,Intel以167億美元收購了FPGA生產(chǎn)商Altera之后。
在2014年年底,當(dāng)時(shí)還處于獨(dú)立的Altera公司高層盯上了基于CPU+FPGA的數(shù)據(jù)中心并行計(jì)算的發(fā)展前景——這個(gè)當(dāng)時(shí)價(jià)值大約10億美元的市場。而并非數(shù)據(jù)中心里約2.5億美元的CPU-GPU市場和直接應(yīng)用CPU處理器的90億美元市場。
Altera做出這個(gè)決定的原因在于他們認(rèn)為這個(gè)組合較之另外兩個(gè)方案,有編程的簡便性和能效優(yōu)勢。人們對CPU非常熟悉,并發(fā)現(xiàn)尋找C程序員也不會太難。因此對大部分開發(fā)者來說,在執(zhí)行運(yùn)算任務(wù)的時(shí)候,持續(xù)使用這種方案不需要冒太大的風(fēng)險(xiǎn),但是能源效率相對比較低,尤其是在密集的計(jì)算和固有的并行工作負(fù)載的情況底下。
至于CPU+GPU的方案,程序員并不是很熟悉,但是擁有很高的效率。
根據(jù)Altera的估計(jì),使用OpenCL對混合CPU-FPGA系統(tǒng)進(jìn)行編程比使用Nvidia的CUDA環(huán)境對于程序員來說更容易(某些方面肯定是有爭議的),但用HDL來硬編程FPGA是相當(dāng)困難的,因此需要OpenCL或者通過其他抽象層來將CPU中的負(fù)載轉(zhuǎn)移到FPGA上。
Intel收購Altera改變FPGA格局
這個(gè)十億美元的數(shù)據(jù)中心市場被Altera、Xilinx和其他FPGA供應(yīng)商瓜分。在Intel于2015年6月收購了Altera之后,這個(gè)市場變得更加復(fù)雜。
在收購之前的2014年,Altera的19億美元收入中,有16%來自于與數(shù)據(jù)中心相關(guān)的計(jì)算、網(wǎng)絡(luò)和存儲業(yè)務(wù),其總值達(dá)到3.04億美元。那些在這個(gè)領(lǐng)域深耕十幾二十年的通信和無線設(shè)備系統(tǒng)制造商想要有更高的能源效率,更低的成本和更高的擴(kuò)展性,這些都是FPGA所擅長的領(lǐng)域。另外有一點(diǎn)需要提一下,那就是在執(zhí)行這些功能的時(shí)候,使用FPGA并不需要像使用CPU那樣需要操作系統(tǒng)和相應(yīng)的軟件。這部分的營收占了Altera營收的44%,總額為8.35億美元。
Altera另外的22%收入,即4.18億美元,來自工業(yè)控制、軍事設(shè)備和汽車制造等領(lǐng)域。他們面對相同的困境,因此選擇FPGA來處理他們的一些工作負(fù)載。
其實(shí)早在2014年,英特爾看中了價(jià)值1150億美元的各種類型的芯片潛在市場。當(dāng)中可編輯邏輯設(shè)備(以FPGA為主)約占4%,ASIC占18%,其余為ASSP的大雜燴。
在可編輯邏輯設(shè)備的領(lǐng)域中,英特爾預(yù)估Altera占有48億美元市場中的39%,Xilinx占有49%,剩下供應(yīng)商則占據(jù)剩下的12%。
當(dāng)時(shí)英特爾沒有收購Altera的原因是因?yàn)镕PGA業(yè)務(wù)的增長速度幾乎與其數(shù)據(jù)中心集團(tuán)(為服務(wù)器,存儲和交換機(jī)制造商提供芯片,芯片組和主板)的速度一樣快。
再者,英特爾沒有這樣做也是因?yàn)槟柖芍饾u緩慢下來的腳步,給FPGA帶來了日益增長的競爭威脅。
實(shí)際上,如果應(yīng)用的話,在數(shù)據(jù)中心里不止安裝一個(gè)FPGA、GPU或DSP加速器,但不需要安裝多個(gè)Xeon CPU。由于英特爾不能繼續(xù)為Xeons提供更多的核心和加速器,所以他們得出了將FPGA當(dāng)做加速器的結(jié)論。
除非FPGA能在數(shù)據(jù)中心創(chuàng)造5億美元的收益,或者幾年后創(chuàng)造10億美元或更多的收入。不然英特爾寧愿犧牲兩至三倍的Xeon收入,也不會把Xeon的收入拱手相讓。
深度學(xué)習(xí)加持,F(xiàn)PGA前景可人
根據(jù)英特爾的預(yù)測,他們計(jì)劃從現(xiàn)在到2023年以接近直線增長率來提升FPGA的業(yè)務(wù)。對此我們總是抱有懷疑的態(tài)度。但FPGA業(yè)務(wù)隨著時(shí)間的推移或多或少地在增長(比15年前增長約2.5倍)。
英特爾還預(yù)計(jì),F(xiàn)PGA的營收在2014年到2023年之間將會再翻一倍。按照英特爾預(yù)測,從2014年到2023年間其復(fù)合年增長率為7%,其收入應(yīng)該略低于預(yù)測的89億美元。有趣的是,由于英特爾的預(yù)測并沒有把來自數(shù)據(jù)計(jì)算中心(服務(wù)器,交換和網(wǎng)絡(luò))的FPGA收入份額納入計(jì)劃中,這將會發(fā)生很大變化。讓我們分析一下:
如果Altera和Xilinx的市場份額沒有發(fā)生改變,且假設(shè)Altera的收入在網(wǎng)絡(luò),計(jì)算和存儲的部分保持不變,那么Altera這一部分的業(yè)務(wù)收入到2023年將會達(dá)到5.6億美元左右。我們認(rèn)為Intel這樣的數(shù)據(jù)低估了數(shù)據(jù)中心在提供更有效和靈活計(jì)算所面對的壓力。不給過我們認(rèn)為FPGA的前景遠(yuǎn)遠(yuǎn)優(yōu)于這個(gè)預(yù)測。也就是說,許多FPGA技術(shù)的支持者一直期待FPGA在數(shù)據(jù)中心中獲得計(jì)算合法化的那天很快到來。
諷刺的是,英特爾本身作為FPGA的編程專家,硬件描述語言的使用者,以及知名的ASIC制造商,竟成為推動FPGA成為加速器優(yōu)先選擇的主要參與者。這樣的加速器既能作為獨(dú)立的離散計(jì)算元件,又可以作為混合 CPU-FPGA器件。
這也是為什么從2016年以來,我們看到所有關(guān)于Altera的新聞都是昭示FPGA將會有的大規(guī)模增的增長。所以至少在短期,他們除了為其他的FPGA制造商作嫁衣裳,幾乎別無他法。
這次收購不僅是FPGA發(fā)展的里程碑,也是英特爾對FPGA巨大的潛力的承認(rèn)。FPGA作為未來強(qiáng)大的計(jì)算加速器,不但影響主要企業(yè)的決策和市場趨勢,而且加速企業(yè)中的工作負(fù)載,促進(jìn)超大規(guī)模數(shù)據(jù)中心的內(nèi)部搜索,以及提高高性能計(jì)算模擬的地位。
在跨越2017年之際,F(xiàn)PGA在應(yīng)用程序中等級中新增了機(jī)器學(xué)習(xí)和深度學(xué)習(xí),這給FPGA產(chǎn)業(yè)敲下了又一重錘。
為什么大家都青睞FPGA
首先,編程FPGA的軟件棧已經(jīng)演進(jìn)了,尤其是在Altera的幫助下,F(xiàn)PGA增加了對OpenCL開發(fā)環(huán)境的支持。但不是每個(gè)人都是OpenCL的狂熱粉絲。
先有Nvidia為其Tesla GPU加速器創(chuàng)建了自己的CUDA并行編程環(huán)境。再有SRC計(jì)算機(jī)公司不但早在2002年就為國防和智能領(lǐng)域提供混合CPU-FPGA系統(tǒng),到了2016年年中,進(jìn)一步將自己研發(fā)的Carte編程環(huán)境進(jìn)入了商業(yè)市場,這個(gè)編程環(huán)境可以使C和Fortran程序自動轉(zhuǎn)換為FPGA的硬件描述語言(HDL)。
另一個(gè)推動FPGA被采用的因素是隨著芯片制造技術(shù)難以持續(xù)縮進(jìn),多核CPU性能的提高越來越艱難。 雖然CPU的性能獲得了大跳躍,但主要用于擴(kuò)展CPU的性能吞吐量,而不是單個(gè)CPU內(nèi)核的個(gè)體性能。(我們知道架構(gòu)增強(qiáng)是有難度的)。但是FPGA和GPU加速器的每瓦性能都有了令人信服的改進(jìn)。
根據(jù)微軟的運(yùn)行測試,在執(zhí)行深度學(xué)習(xí)算法的時(shí)候,CPU-FPGA和CPU-GPU混合計(jì)算在的每瓦性能也不相伯仲。GPU在運(yùn)行中更熱和有類似的每瓦性能表現(xiàn),但是同時(shí)他們也帶來了更強(qiáng)的工作能力。
提高了每瓦性能解析了為什么世界上最強(qiáng)大的超級計(jì)算機(jī)在20世紀(jì)90年代后期轉(zhuǎn)移到并行集群,并且解析了為什么現(xiàn)在他們轉(zhuǎn)向了混合機(jī)器,而不是英特爾的下一個(gè)以 CPU-GPU為混合主力的Xeon Phi的處理器“Knights Landing (簡稱KNL)。
在Altera FPGA協(xié)處理器和Xeon Phi處理器Knights Landing的幫助下,英特爾不但可以保持自己的在高端的競爭優(yōu)勢。并且在與Nvidia 、IBM和 Mellanox組成的Open power聯(lián)盟競爭中繼續(xù)領(lǐng)先。
英特爾堅(jiān)信超大規(guī)模計(jì)算,云端和HPC市場的工作負(fù)載會快速成長。為促進(jìn)其計(jì)算業(yè)務(wù)繼續(xù)蓬勃發(fā)展。這情況下只能成為FPGA的賣家,否則別人就會搶去這唯一的出路。
但英特爾并不是這樣跟大家說。他們說:“我們不認(rèn)為這是一種防守戰(zhàn)或者其他,”英特爾的CEO Brian Krzanich在Altera收購消息后的新聞發(fā)布會上說。
“我們認(rèn)為物聯(lián)網(wǎng)和數(shù)據(jù)中心都是龐大的。這些也是我們的客戶想要構(gòu)建的產(chǎn)品。我們30%的云端工作負(fù)載將在這些產(chǎn)品上,這是基于我們對如何看待趨勢變化以及市場發(fā)展的預(yù)測。
這是用來證明這些工作負(fù)載能以一種或另一種方式轉(zhuǎn)移到硅中。我們認(rèn)為最好的做法是使用有業(yè)界最佳性能和成本優(yōu)勢的Xeon處理器和FPGA組合。這將給工業(yè)領(lǐng)域帶來更好的產(chǎn)品和性能。而在IoT中,這將擴(kuò)展到潛在市場對抗ASIC和ASSP;而在數(shù)據(jù)中心中,則會將workload轉(zhuǎn)移到硅,推動云的快速增長。
Krzanich解釋道:“你可以把FPGA想象成一堆gate,且能夠隨時(shí)編程。根據(jù)他們的想法,其算法會隨著時(shí)間的推移和學(xué)習(xí)變得更聰明。FPGA可以用作多個(gè)領(lǐng)域的加速器,可以在進(jìn)行加密的同時(shí)進(jìn)行面部搜索,而且能在基本上在微秒內(nèi)重新編程FPGA。這比大規(guī)模的單個(gè)定制部件的成本低得多且具備更高的靈活性。”
英特爾看到了更大的機(jī)會
英特爾看到了比這更大的機(jī)會。
Intel首席執(zhí)行官Brian Krzanich在收購?fù)瓿珊笮?,?020年,將有高達(dá)三分之一的云端服務(wù)提供商使用混合的CPU-FPGA服務(wù)器節(jié)點(diǎn),這是一個(gè)令人震驚的消息。這也給從2014年底就開始瞄準(zhǔn)的數(shù)據(jù)中心的Altera帶來大約10億美元的FPGA的機(jī)會。這數(shù)目大概是Nvidia目前流行的Tesla計(jì)算引擎營收的三倍。
在2014年初,英特爾展示了一個(gè)相同封裝的Xeon-FPGA芯片原型,并且打算在2017年推出這個(gè)芯片。這是基于當(dāng)時(shí)數(shù)據(jù)中心集團(tuán)GM Diane Bryant提出的一個(gè)帶有FPGA電路的Xeon設(shè)想不久之后推出的。
在宣布Altera交易的電話會議上,Krzanich沒有說明退出這款Xeon-FPGA設(shè)備的時(shí)間,但是他表示英特爾將創(chuàng)建一個(gè)面向物聯(lián)網(wǎng)市場的單die混合Atom-FPGA設(shè)備。英特爾正在考究在混合過渡階段,是否需要為Atom和Altera FPGA做單一封裝混合。
在2016年的初太平洋頂峰證券的電話會議中,英特爾的云端基礎(chǔ)設(shè)施集團(tuán)總經(jīng)理Jason Waxman與研究分析師討論關(guān)于英特爾數(shù)據(jù)中心業(yè)務(wù)時(shí)表示,F(xiàn)PGA已經(jīng)成為了熱門話題。
首先,雖然他沒有指名道姓哪家廠商或者任何設(shè)備的規(guī)格,但是Waxman確定英特爾已經(jīng)為某些客戶提供了Xeon加FPGA的混合計(jì)算引擎樣品。
在會議期間,Waxman更是暢談了驅(qū)動英特爾收購Altera和插足可編程計(jì)算設(shè)備的原因。 英特爾顯然希望讓FPGA成為主流,即使這可能會在數(shù)據(jù)中心中蠶食Xeon的某些業(yè)務(wù)。 (我們認(rèn)為,因?yàn)橛⑻貭栒J(rèn)為這種自相殘殺是不可避免的,控制它的最好方法是使FPGA成為Xeon陣容的一部分。)
Waxman說:“我認(rèn)為這項(xiàng)收購可能涉及許多事情,而且其中一些已經(jīng)超越數(shù)據(jù)中心集團(tuán)的范圍。”
首先,一個(gè)潛在的核心業(yè)務(wù)往往是由制造領(lǐng)先優(yōu)勢驅(qū)動。在這方面我們能很好的掌控,而且這樣做還有良好的協(xié)同作用。
再者,還有物聯(lián)網(wǎng)“集團(tuán)”對此也有很強(qiáng)的興趣。
據(jù)我們所知,某些大規(guī)模工作負(fù)載的擴(kuò)展(如機(jī)器學(xué)習(xí),某些網(wǎng)絡(luò)功能)吸引了越來越多的人關(guān)注。我們才意識到我們或者可以在性能方面取得一些突破,這將是一個(gè)把FPGA從數(shù)據(jù)中心應(yīng)用程序中移植到更多適合的、廣泛發(fā)展領(lǐng)域的良好機(jī)會。
但是在數(shù)據(jù)中心集團(tuán)里的協(xié)作,F(xiàn)PGA不過是給CPU做個(gè)伴,幫助解決云端服務(wù)提供商和其他類型的大規(guī)模應(yīng)用程序的問題。
英特爾認(rèn)為對FPGA加速有優(yōu)先和大量需求的關(guān)鍵應(yīng)用包括機(jī)器學(xué)習(xí),搜索引擎索引,加密和數(shù)據(jù)壓縮。正如Waxman指出,這些往往是很有針對性的,且沒有統(tǒng)一的使用案例。這就是Krzanich斬釘截鐵說三分之一的云端服務(wù)提供商將在五年內(nèi)使用FPGA加速的依據(jù)。
跨越FPGA的障礙
雖然每個(gè)人都抱怨編程FPGA有多難,但英特爾并不為此退縮。雖然沒有透露太多相關(guān)計(jì)劃的情況下,Waxman提出了一些方法讓FPGA更容易被運(yùn)用和理解。
Waxman說:“我們所擁有的是獨(dú)一無二的,這是其他人不能給的。那就是我們能夠了解這些工作負(fù)載和能夠推動加速的能力。
“我們看到一條促進(jìn)機(jī)器學(xué)習(xí),加速存儲加密,加速網(wǎng)絡(luò)功能的捷徑”,Waxman強(qiáng)調(diào)。這是基于我們對這些工作負(fù)載的深入了解,所以才讓我們看到了這樣的機(jī)會。
但現(xiàn)在FPGA還需要面對一些困難,因?yàn)楝F(xiàn)在人們是寫RTL的。我們是一家寫RTL的公司,所以我們可以解決這個(gè)問題。首先我們使它運(yùn)作,然后我們可以降低進(jìn)入的門檻。第三步是真正的規(guī)模經(jīng)濟(jì)學(xué),而這全部是靠集成和制造的實(shí)力。
為了解決這些障礙,我們提供了一系列的方法。
X86+FPGA?
對于那些英特爾打算用FPGA來代替Xeons的猜測,Waxman表示這是一派胡言。
Waxman表示,對于那些對高速率和重復(fù)性有強(qiáng)烈需求的算法,具有先天優(yōu)勢的FPGA就是其最好的選擇。而那些對延遲有極高需求的數(shù)據(jù)操作和轉(zhuǎn)換,F(xiàn)PGA也是候選人。
考慮到Altera已經(jīng)在一個(gè)SoC上集成了ARM處理器和FPGA,這很自然地會想到英特爾會試圖用X86內(nèi)核全面替換ARM內(nèi)核來做類似的設(shè)備。但它看起來不像這會發(fā)生。
首先,在2016年第二季度英特爾財(cái)務(wù)聲明會上,Krzanich承諾,英特爾將加強(qiáng)對目前使用Altera的ARM-FPGA芯片客戶的支持。
Waxman進(jìn)一步澄清:“我們的觀點(diǎn)是會以某種形式把FPGA集成到Xeon里。我們已經(jīng)公開宣布將會打造第一代使用這種單一封裝的設(shè)備,但是我們將根據(jù)進(jìn)展情況調(diào)整方向,甚至可能會在同一個(gè)die上實(shí)現(xiàn)。我們將根據(jù)客戶的反饋了解什么是正確的組合。
順便說一下,我仍然期待看到?jīng)]有集成的系統(tǒng),保持他們會做系統(tǒng)級的協(xié)同。我們不會將Xeon與FPGA以多種方式組合集成,反之我們會在市場上找到正確的目標(biāo)和平衡。”
編程問題首當(dāng)其沖
雖然Altera的工具集利用OpenCL編程模型獲得應(yīng)用程序代碼,并將其轉(zhuǎn)換為RTL(FPGA的原生語言),但是有趣的是,英特爾并不認(rèn)為FPGA在數(shù)據(jù)中心的未來成功是基于OpenCL與RTL工具集成的改進(jìn)或更廣泛地采用OpenCL。
Waxman也強(qiáng)調(diào)地說:“這并不是以O(shè)penCL為基礎(chǔ)的。”雖然我們確實(shí)把OpenCL看作是進(jìn)一步擴(kuò)大FPGA應(yīng)用范圍的一個(gè)途徑,但目前FPGA的初始云端部署可能由更具能力的公司完成,但他們并沒有要求我們提供OpenCL。Waxman補(bǔ)充說。
Waxman在不能“自由”地談?wù)摰那闆r下,暗示英特爾有計(jì)劃使FPGA更容易編程。他表示Intel將會為程序員提供RTL庫,方便他們調(diào)用在FPGA上部署的例程,并推動在其上執(zhí)行應(yīng)用程序的gate的形成,來實(shí)現(xiàn)應(yīng)用程序例程的gate,而不是讓他們自己創(chuàng)建例程。這有一定的意義,與Convey(現(xiàn)在是美光科技的一個(gè)部門)幾年前用FPGA加速系統(tǒng)處理的方案一樣。
Waxman說:“我認(rèn)為有一個(gè)連續(xù)的加速。在一開始,你可能不知道你正在試圖加速什么,只是做了一些嘗試,因此在這個(gè)階段加速,你想要的是一個(gè)更通用的目的。當(dāng)你開始真正地想要加速的時(shí)候,你會想要更高效的,更低的功耗和更少的空間,這時(shí)你就會把焦點(diǎn)移到FPGA上。”
Waxman還引用了Microsoft在其“Catapult”系統(tǒng)上使用FPGA加速的方案來說明。
該系統(tǒng)采用其Open Cloud Server并添加FPGA夾層卡作為加速器。我們在3月份研究了這個(gè)項(xiàng)目,將這些加速器應(yīng)用在Google上執(zhí)行相同的圖像識別訓(xùn)練算法,得出的結(jié)果顯示,25瓦的FPGA器件相對于使用Nvidia Tesla K20 GPU加速器(235瓦特)的服務(wù)器,提高了更好的性能/瓦特。
正如我們所說,我們對于微軟和Google發(fā)布的性能數(shù)據(jù)毫無疑問。但是對分立的GPU或FPGA執(zhí)行應(yīng)用性能和對自身的熱配置文件進(jìn)行測量都是不公平的。你必須在服務(wù)器節(jié)點(diǎn)級別上看到這一點(diǎn)。
如果意識到這點(diǎn),得到FPGA輔助的Microsoft服務(wù)器在系統(tǒng)級只稍稍領(lǐng)先于用Tesla K20s的Google服務(wù)器。(這些只是我們基于每秒每瓦特圖像處理性能的估計(jì))。在這個(gè)對比中,Microsoft應(yīng)該不考慮成本。而且坦白說,不同于什么都配備的Tesla GPU,微軟開放云端服務(wù)器并沒有使用Juice或Cooling。真正的評測怎么都會使用GPU夾層卡,同時(shí)還需要考慮熱量,性能和價(jià)格等因素。
但是Waxman討論的重點(diǎn)仍然是那個(gè)。“在某個(gè)時(shí)候,你真的很想要那個(gè)能給你驚喜,并且能做到更低功耗的方案。而這就是我們的FPGA方案所擅長的方面。”
云端業(yè)務(wù)
最后要考慮的是英特爾的云端業(yè)務(wù)。這些客戶現(xiàn)在占據(jù)了他們數(shù)據(jù)中心集團(tuán)收入的25%。
整體來看,他們的購買量每年增長約25%。預(yù)計(jì)從2016年開始,未來幾年整體數(shù)據(jù)中心集團(tuán)業(yè)務(wù)都將增長15%。讓我們做一些計(jì)算。
如果英特爾的計(jì)劃如期實(shí)施,他的數(shù)據(jù)中心集團(tuán)2016年收益將會達(dá)到166億美元。云端服務(wù)提供商(其中包括在The Next Platform上使用我們的語言的云端構(gòu)建者和超大規(guī)模計(jì)算者)占大約41億美元,其余歸屬于英特爾數(shù)據(jù)中心,銷售數(shù)據(jù)大約為125億美元。因此,英特爾數(shù)據(jù)中心的業(yè)務(wù)增長在12%左右(除云端外),是云端速率的一半。英特爾需要以任何方式來滿足云端的增長和明顯的FPGA需求,即使它只占用Xeon容量的一點(diǎn)點(diǎn)。對于英特爾來說是這個(gè)的選擇比讓GPU加速持續(xù)增長的方案要好。
編程方面可能是阻礙FPGA被廣泛采用的一個(gè)主因(不像其他加速器,具有豐富的開發(fā)生態(tài)系統(tǒng),如Nvidia GPU的CUDA)。這就驅(qū)動程序員去基于C語言去做擴(kuò)展設(shè)計(jì),或使用OpenCL,而不是用過去困擾FPGA開發(fā)的低級模型。但即使在應(yīng)用的過程中有這么多里程碑,F(xiàn)PGA仍然不被主流青睞。我們將會探索解決編程問題的方法和機(jī)會。
雖然我們已經(jīng)與這個(gè)相對較小的生態(tài)系統(tǒng)中的許多供應(yīng)商(包括Altera和Xilinx,兩個(gè)主要供應(yīng)商)進(jìn)行了交流,但按照FPGA長期研究員Russell Tessier所說,F(xiàn)PGA在更廣闊的市場上大展拳腳的日子還在前面,新的發(fā)展意味著更廣泛的采用。
他在馬薩諸塞大學(xué)(他還在Altera工作,并且Mentor Graphics收購的虛擬機(jī)工程的創(chuàng)始人)研究了FPGA二十多年,他認(rèn)為FPGA從科學(xué)項(xiàng)目到企業(yè)應(yīng)用的形勢正式緩變化。他認(rèn)為其中的關(guān)鍵是來自于設(shè)計(jì)工具的改進(jìn),設(shè)計(jì)人員不斷提高他們設(shè)計(jì)高水平。除此與外,工具vendor可以更好地引導(dǎo)芯片發(fā)展。他補(bǔ)充說,設(shè)備內(nèi)的大量邏輯量意味著用戶能夠?qū)崿F(xiàn)更多的功能,這使得FPGA對更多領(lǐng)域更廣泛的吸引力。
Tessier說:“在過去幾年里,F(xiàn)PGA的一個(gè)明顯趨勢就是這些設(shè)備更容易“程序化”。
Xilinx目前鼓勵使用其Vivado產(chǎn)品的時(shí)候,用C語言進(jìn)行設(shè)計(jì)。Altera還有一個(gè)已經(jīng)開發(fā)的OpenCL環(huán)境。關(guān)鍵是兩家公司都在試圖創(chuàng)建一個(gè)環(huán)境,讓用戶可以使用更熟悉的編程(如C和OpenCL),而不必是使用RTL設(shè)計(jì)專家所擅長的Verilog或VHDL。雖然在過去幾年里取得不錯(cuò)的成績,但這仍然處于推進(jìn)的階段,不過這將有助于把更多的事情地移入主流。
其中一個(gè)對FPGA真正有利的因素就是如果將其和芯片搭配使用,建立一個(gè)快速的內(nèi)部互聯(lián),它能解決memory和數(shù)據(jù)移動中的限制。這種優(yōu)勢就是吸引Intel收購Altera的主要誘因。另外,如果像英特爾和IBM這樣的大公司能夠積極推動FPGA的軟件生態(tài)系統(tǒng)的建設(shè),其應(yīng)用市場將會迅速擴(kuò)張。FPGA的主流化(至少現(xiàn)在沒有GPU那么重要,)可能會更快地出現(xiàn)。
Tessier解釋:“標(biāo)準(zhǔn)核心處理器集成的增加肯定是關(guān)鍵所在。過去的障礙是語言和工具,隨著這些障礙越來越少,為芯片供應(yīng)商新的合作機(jī)會打開了一扇門。由于這些和其他“主流化”趨勢出現(xiàn),不斷做出的改變的FPGA的應(yīng)用領(lǐng)域?qū)⒗^續(xù)增長。例如,金融服務(wù)商店是第一個(gè)使用FPGA進(jìn)行財(cái)務(wù)趨勢和股票選擇分析的用戶,但使用案例正在擴(kuò)大?,F(xiàn)在有更強(qiáng)的設(shè)備可以解決更大的問題。
更廣泛的應(yīng)用領(lǐng)域
除此之外,F(xiàn)PGA通過的其他新領(lǐng)域發(fā)現(xiàn)新用途,包括DNA測序,安全性,加密和一些關(guān)鍵的機(jī)器學(xué)習(xí)任務(wù)。
當(dāng)然,我們希望FPGA變得強(qiáng)大,并“進(jìn)入”世界上最大的云端和超大規(guī)模數(shù)據(jù)中心,Xilnix數(shù)據(jù)中心部門副總裁Hamant Dhulla對此表示強(qiáng)烈贊同。他在2016年初,他告訴The Next Platform, “異構(gòu)計(jì)算已經(jīng)不再是一種趨勢,而是現(xiàn)實(shí)”,也就是在那個(gè)時(shí)候,微軟推出了使用FPGA的Catapult案例(現(xiàn)在就很多或以后會很多),英特爾收購了Altera以及看到了更多FPGA將廣泛應(yīng)用在數(shù)據(jù)中心的聲明。
從機(jī)器學(xué)習(xí),高性能計(jì)算,數(shù)據(jù)分析等領(lǐng)域,F(xiàn)PGA在更多樣化的應(yīng)用領(lǐng)域中嶄露頭角。這些都與FPGA上嵌入了越來越多可用的on-chip存儲器有關(guān),這些都是FPGA制造商和潛在終端用戶所期待的。 Dhulla表示,市場潛力足夠大,讓Xilinx能夠調(diào)整其業(yè)務(wù)的方式。 過去幾年,存儲和網(wǎng)絡(luò)主導(dǎo)了FPGA用戶群。但未來五年內(nèi),計(jì)算端的需求將遠(yuǎn)遠(yuǎn)超過存儲和網(wǎng)絡(luò),并都將沿著穩(wěn)定的增長線繼續(xù)發(fā)展。
在FPGA其他的熱門領(lǐng)域(包括機(jī)器學(xué)習(xí)),它們的更像是一個(gè)帶有GPU 的“協(xié)作”加速器。毫無疑問,對于許多機(jī)器學(xué)習(xí)工作負(fù)載的訓(xùn)練部分,GPU是主要的。因此為這里需要很多計(jì)算能力,就像HPC一樣,其中power envelope tradeoff值得的。但是這些客戶購買了數(shù)十或數(shù)百個(gè)GPU,而不是數(shù)十萬個(gè),龐大的加速器數(shù)目正使用在機(jī)器學(xué)習(xí)pipeline的推理部分,這就是市場所在。
正如我們指出的,Nvidia正在使用兩個(gè)獨(dú)立的GPU(用M4來訓(xùn)練,更低功耗的M4插入來削減服務(wù)器)來抵消這一點(diǎn),但Dhulla認(rèn)為FPGA仍然能夠通過采用PCIe方法降低功耗,也可以嵌入超大規(guī)模數(shù)據(jù)中心。
他們的SDAccel編程環(huán)境通過提供對C,C ++和OpenCL的高級接口,使其更實(shí)用,但是推動超大規(guī)模和HPC采用的真正途徑是通過最終用戶示例。
當(dāng)涉及到這些早期的用戶,就像為下一代的FPGA的應(yīng)用搭建了舞臺,Dhulla指向像Edico Genome這樣的公司。Xilinx目前還與其他領(lǐng)域的客戶合作,包括石油和天然氣和金融方面的歷史計(jì)算方面。早期客戶將Xilinx 的FPGA應(yīng)用在機(jī)器學(xué)習(xí),圖像識別和分析以及安全性方面,這可以看作他們計(jì)算加速業(yè)務(wù)發(fā)展的第一步。
盡管雙精度性能和總體價(jià)格不佳,F(xiàn)PGA的真正的大規(guī)模應(yīng)用機(jī)會在于云端。因?yàn)镕PGA可以提供GPU所不能提供的優(yōu)勢。如果FPGA供應(yīng)商能夠說服其最終用戶,他們的加速器可以提供相當(dāng)大的性能提升(在某些情況下他們會這樣做)給關(guān)鍵的工作負(fù)載。提供一個(gè)通過帶有其他加速器(例如CUDA)的complexity-wise的編程環(huán)境推進(jìn)OpenCL開發(fā),通過在云端中提供FPGA來解決價(jià)格問題。這可能是一個(gè)新的希望。
當(dāng)然,這種希望來源于將FPGA部署到有超密集服務(wù)器云端架構(gòu)內(nèi),而不是在單機(jī)的銷售上。這種模式已經(jīng)在FPGA的金融服務(wù)中發(fā)生。
正如他們GPU加速器“伙伴”圍繞深度學(xué)習(xí)進(jìn)行拉動,以便迅速得到更多的用戶, FPGA設(shè)備在探索一個(gè)通過解決神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)的問題的方式找尋入侵市場的真正的機(jī)會。
新的應(yīng)用程序主機(jī)意味著新的市場,隨著云端應(yīng)用的推廣消除了一些管理開銷,它可能意味著更廣泛的采用。FPGA供應(yīng)商努力推動它在一些關(guān)鍵的機(jī)器學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)和搜索方面的應(yīng)用。FPGA在諸如自然語言處理,醫(yī)學(xué)成像,深度數(shù)據(jù)檢測等領(lǐng)域中的超大規(guī)模上下文中變得越來越普遍。
在過去一年里,F(xiàn)PGA的多種應(yīng)用得到曝光,特別是在深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò),以及圖像識別和自然語言處理等領(lǐng)域。例如,微軟使用FPGA在1,632個(gè)節(jié)點(diǎn)上提供2倍的搜索服務(wù),并采用創(chuàng)新的高吞吐量網(wǎng)絡(luò)來支持Altera FPGA驅(qū)動的工作。中國的搜索引擎巨頭百度(也是許多深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)任務(wù)GPU用戶)正在用FPGA執(zhí)行存儲控制,其每天的數(shù)據(jù)吞吐量在100TB到1PB之間。
使用FPGA的大規(guī)模數(shù)據(jù)中心和其他領(lǐng)域的應(yīng)用正在吸引人們對FPGA的單精度浮點(diǎn)性能的更多關(guān)注。
雖然一些案例使用(包括百度示例),將GPU作為計(jì)算加速器和FPGA用在存儲端,但Altera,Xilnix,Nallatech和IBM的研究人員在OpenPower聯(lián)盟展示了FPGA在云端深度學(xué)習(xí)的光明前景。
可以說現(xiàn)在屬于FPGA的一個(gè)黃金時(shí)
評論