九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
深入理解CPU和異構(gòu)計算芯片(GPU/FPGA/ASIC)

機(jī)器人2025本期導(dǎo)讀

第一版:

深入理解CPU和異構(gòu)計算芯片(GPU/FPGA/ASIC)

第二版:

生成對抗網(wǎng)絡(luò)(GANs )為什么這么火?盤點(diǎn)它誕生以來的主要技術(shù)進(jìn)展

第三版:

詳聊CNN的精髓


一、異構(gòu)計算:WHY

  明明CPU用的好好的,為什么我們要考慮異構(gòu)計算芯片呢?



  隨著互聯(lián)網(wǎng)用戶的快速增長,數(shù)據(jù)體量的急劇膨脹,數(shù)據(jù)中心對計算的需求也在迅猛上漲。諸如深度學(xué)習(xí)在線預(yù)測、直播中的視頻轉(zhuǎn)碼、圖片壓縮解壓縮以及HTTPS加密等各類應(yīng)用對計算的需求已遠(yuǎn)遠(yuǎn)超出了傳統(tǒng)CPU處理器的能力所及。

  歷史上,受益于半導(dǎo)體技術(shù)的持續(xù)演進(jìn),計算機(jī)體系結(jié)構(gòu)的吞吐量和系統(tǒng)性能不斷提高,處理器的性能每18個月就能翻倍(眾所周知的“摩爾定律”),使得處理器的性能可以滿足應(yīng)用軟件的需求。但是,近幾年半導(dǎo)體技術(shù)改進(jìn)達(dá)到了物理極限,電路越來越復(fù)雜,每一個設(shè)計的開發(fā)成本高達(dá)數(shù)百萬美元,數(shù)十億美元才能形成新產(chǎn)品投產(chǎn)能力。2016年3月24日,英特爾宣布正式停用“Tick-Tock”處理器研發(fā)模式,未來研發(fā)周期將從兩年周期向三年期轉(zhuǎn)變。至此,摩爾定律對英特爾幾近失效。

  一方面處理器性能再無法按照摩爾定律進(jìn)行增長,另一方面數(shù)據(jù)增長對計算性能要求超過了按“摩爾定律”增長的速度。處理器本身無法滿足高性能計算(HPC:High PerformanceCompute)應(yīng)用軟件的性能需求,導(dǎo)致需求和性能之間出現(xiàn)了缺口(參見圖1)。

  一種解決方法是通過硬件加速,采用專用協(xié)處理器的異構(gòu)計算方式來提升處理性能。


圖1 計算需求和計算能力的缺口發(fā)展形式


二、異構(gòu)計算:STANDARDS

  通常我們在為業(yè)務(wù)提供解決方案的時候,部署平臺會有四種選擇CPU、GPU、FPGA、ASIC。那有什么標(biāo)準(zhǔn)來評判計算平臺的優(yōu)劣呢?


我是法官,標(biāo)準(zhǔn)我說了算


  當(dāng)今理想的協(xié)處理器應(yīng)該是基于硬件的設(shè)計,具備三種基本能力。第一是設(shè)計能夠提供專門的硬件加速實現(xiàn)各種應(yīng)用中需要的關(guān)鍵處理功能。其次是協(xié)處理器設(shè)計在性能上非常靈活,使用流水線和并行結(jié)構(gòu),跟上算法更新以及性能的需求變化。最后,協(xié)處理器能夠為主處理器和系統(tǒng)存儲器提供寬帶、低延遲接口。

  除了硬件要求以外,理想的協(xié)處理器還應(yīng)該滿足HPC市場的“4P”要求:性能(performance)、效能(productivity)、功耗(power)和價格(price)。

  HPC市場對性能的最低要求是全面加速實現(xiàn)算法,而不僅僅是某一步驟,并能夠加速實現(xiàn)整個應(yīng)用軟件。

  效能需求來自最終用戶。在現(xiàn)有的計算機(jī)系統(tǒng)中,協(xié)處理器必須安裝起來很方便,提供簡單的方法來配置系統(tǒng),加速實現(xiàn)現(xiàn)有的應(yīng)用軟件。

  HPC市場的功耗需求來自計算系統(tǒng)安裝和使用上的功耗限制。對于大部分用戶,能夠提供給計算機(jī)的空間有限。計算系統(tǒng)的功耗越小,那么可以采取更少的散熱措施來保持計算機(jī)不會過熱。因此,低功耗協(xié)處理器不但能夠為計算系統(tǒng)提供更低的運(yùn)轉(zhuǎn)成本,而且還提高了計算系統(tǒng)的空間利用率。

  價格因素在HPC市場上顯得越來越重要。十幾年前,某些應(yīng)用軟件對性能的需求超出了單個處理器能力范圍,這促使人們采用專用體系結(jié)構(gòu),例如密集并行處理(MPP)和對稱多處理(SMP)等。然而,這類系統(tǒng)要求使用定制處理器單元和專用數(shù)據(jù)通路,開發(fā)和編程都非常昂貴。

  現(xiàn)在的HPC市場拋棄了如此昂貴的方法,而是采用性價比更高的集群計算方法。集群計算采用商用標(biāo)準(zhǔn)體系結(jié)構(gòu),例如Intel和AMD;采用工業(yè)標(biāo)準(zhǔn)互聯(lián),例如萬兆以太網(wǎng)和InfiniBand;采用標(biāo)準(zhǔn)程序語言,例如運(yùn)行在低成本Linux操作系統(tǒng)上的C語言等。當(dāng)今的協(xié) 處理器設(shè)計必須能夠平滑集成到商用集群計算環(huán)境中,其成本和在集群中加入另一個節(jié)點(diǎn) 大致相當(dāng)。

  了解了基本的評判標(biāo)準(zhǔn)之后,我們以當(dāng)今最火的深度學(xué)習(xí)為例,從芯片架構(gòu)、計算性能、功耗、開發(fā)難度幾個方面來對幾種不同的芯片進(jìn)行分析對比。


三、異構(gòu)計算:WHICH

1、芯片特性

  對常用的處理器芯片進(jìn)行分類,有一個明顯的特點(diǎn):CPU&GPU需要軟件支持,而FPGA&ASIC則是軟硬件一體的架構(gòu),軟件就是硬件。這個特點(diǎn)是處理器芯片中最重要的一個特征。


處理器芯片對比


  圖2可以從兩個角度來說明:從ASIC->CPU的方向,沿著這個方向芯片的易用性越來越強(qiáng),CPU&GPU的編程需要編譯系統(tǒng)的支持,編譯系統(tǒng)的作用是把高級軟件語言翻譯成機(jī)器可以識別的指令(也叫機(jī)器語言)。高級語言帶來了極大的便利性和易用性,因此用CPU&GPU實現(xiàn)同等功能的軟件開發(fā)周期要遠(yuǎn)低于FPGA&ASIC芯片。沿著CPU->ASIC的方向,芯片中晶體管的效率越來越高。因為FPGA&ASIC等芯片實現(xiàn)的算法直接用晶體管門電路實現(xiàn),比起指令系統(tǒng),算法直接建筑在物理結(jié)構(gòu)之上,沒有中間層次,因此晶體管的效率最高。

  本質(zhì)上軟件的操作對象是指令,而CPU&GPU則扮演高速執(zhí)行指令的角色。指令的存在將程序執(zhí)行變成了軟件和硬件兩部分,指令的存在也決定了各種處理器芯片的一些完全不同的特點(diǎn)以及各自的優(yōu)劣勢。

  FPGA&ASIC等芯片的功能是固定的,它們實現(xiàn)的算法直接用門電路實現(xiàn),因此FPGA&ASIC編程就是用門電路實現(xiàn)算法的過程,軟件完成意味著門電路的組織形式已經(jīng)確定了,從這個意義上,F(xiàn)PGA&ASIC的軟件就是硬件,軟件就決定了硬件的組織形式。軟硬件一體化的特點(diǎn)決定了FPGA&ASIC設(shè)計中極端重要的資源利用率特征。利用率指用門電路實現(xiàn)算法的過程中,算法對處理器芯片所擁有的門電路資源的占用情況。如果算法比較龐大,可能出現(xiàn)門電路資源不夠用或者雖然電路資源夠用,但實際布線困難無法進(jìn)行的情況。

  存在指令系統(tǒng)的處理器芯片CPU&GPU不存在利用率的情況。它們執(zhí)行指令的過程是不斷從存儲器讀入指令,然后由執(zhí)行器執(zhí)行。由于存儲器相對于每條指令所占用的空間幾乎是無限的,即使算法再龐大也不存在存儲器空間不夠,無法把算法讀入的情況。而且計算機(jī)系統(tǒng)還可以外掛硬盤等擴(kuò)展存儲,通過把暫時不執(zhí)行的算法切換到硬盤保存更增加了指令存儲的空間。


2、芯片計算性能

  深度學(xué)習(xí)的學(xué)名又叫深層神經(jīng)網(wǎng)絡(luò)(DeepNeural Networks),是從人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks)模型發(fā)展而來。我們以深度學(xué)習(xí)作為切入點(diǎn)來分析各個芯片的性能。圖3是神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu),模型中每一層的大量計算是上一層的輸出結(jié)果和其對應(yīng)的權(quán)重值這兩個矩陣的乘法運(yùn)算。


神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)


  橫向?qū)Ρ菴PU,GPU,F(xiàn)PGA,ASIC計算能力,實際對比的是:

1、硬件芯片的乘加計算能力。

2、為什么有這樣乘加計算能力?

3、是否可以充分發(fā)揮硬件芯片的乘加計算能力?

  帶著這三個問題,我們進(jìn)行硬件芯片的計算能力對比。


CPU計算能力分析

  這里CPU計算能力用Intel的Haswell架構(gòu)進(jìn)行分析,Haswell架構(gòu)上計算單元有2個FMA(fused multiply-add),每個FMA可以對256bit數(shù)據(jù)在一個時鐘周期中做一次乘運(yùn)算和一次加運(yùn)算,所以對應(yīng)32bit單精度浮點(diǎn)計算能力為:(256bit/32bit)* 2(FMA) * 2(乘和加) = 32 SP FLOPs/cycle,即每個時鐘周期可以做32個單精度浮點(diǎn)計算。

  CPU峰值浮點(diǎn)計算性能 = CPU核數(shù) * CPU頻率 * 每周期執(zhí)行的浮點(diǎn)操作數(shù)。已Intel的CPU型號E5-2620V3來計算峰值計算能力為 =6(CPU核數(shù)) * 2.4GHz(CPU頻率) * 32 SP FLOPs/cycle = 460.8 GFLOPs/s 即每秒460G峰值浮點(diǎn)計算能力。

  CPU芯片結(jié)構(gòu)是否可以充分發(fā)揮浮點(diǎn)計算能力?CPU的指令執(zhí)行過程是:取指令 -> 指令譯碼 -> 指令執(zhí)行,只有在指令執(zhí)行的時候,計算單元才發(fā)揮作用,這樣取指令和指令譯碼的兩段時間,計算單元是不在工作的,如圖4所示。


圖4 CPU指令執(zhí)行流程


  CPU為了提高指令執(zhí)行的效率,在當(dāng)前指令執(zhí)行過程的時候,預(yù)先讀取后面幾條指令,使得指令流水處理,提高指令執(zhí)行效率,如圖5所示。指令預(yù)先讀取并流水執(zhí)行的前提是指令之間不具有相關(guān)性,不能一個指令的如何執(zhí)行需要等到前面一個指令執(zhí)行完的結(jié)果才可以獲知。


圖5 CPU指令流水執(zhí)行


  CPU作為通用處理器,兼顧計算和控制,70%晶體管用來構(gòu)建Cache 還有一部分控制單元,用來處理復(fù)雜邏輯和提高指令的執(zhí)行效率,如圖6所示,所以導(dǎo)致計算通用性強(qiáng),可以處理計算復(fù)雜度高,但計算性能一般。


6 CPU結(jié)構(gòu)


  通過CPU計算性能分析,直接提高計算性能方向為:增加CPU核數(shù)、提高CPU頻率、修改CPU架構(gòu)增加計算單元FMA(fusedmultiply-add)個數(shù)。這3個方向中,直接增加CPU核數(shù)對于計算能力提升最高,但是帶來芯片功耗和價格的增加,因為每個物理核中只有30%的晶體管是計算單元。提高CPU頻率,提升的空間有限,而且CPU頻率太高會導(dǎo)致芯片出現(xiàn)功耗過大和過熱的問題,因此英特爾等芯片制造商目前走多核化的路線,即限制單個微處理器的主頻,通過集成多個處理器內(nèi)核來提高處理性能。修改CPU架構(gòu)增加計算單元FMA個數(shù),目前英特爾按照“Tick-Tock”二年一個周期進(jìn)行CPU架構(gòu)調(diào)整,從2016年開始放緩至三年,更新迭代周期較長。


GPU計算能力分析

  GPU主要擅長做類似圖像處理的并行計算,所謂的“粗粒度并行(coarse-grainparallelism)”。圖形處理計算的特征表現(xiàn)為高密度的計算而計算需要的數(shù)據(jù)之間較少存在相關(guān)性,GPU 提供大量的計算單元(多達(dá)幾千個計算單元)和大量的高速內(nèi)存,可以同時對很多像素進(jìn)行并行處理。

  圖7是GPU的設(shè)計結(jié)構(gòu)。GPU的設(shè)計出發(fā)點(diǎn)在于GPU更適用于計算強(qiáng)度高、多并行的計算。因此,GPU把晶體管更多用于計算單元,而不像CPU用于數(shù)據(jù)Cache和流程控制器。這樣的設(shè)計是因為并行計算時每個數(shù)據(jù)單元執(zhí)行相同程序,不需要繁瑣的流程控制而更需要高計算能力,因此也不需要大的cache容量。


圖7 GPU結(jié)構(gòu)


  GPU中一個邏輯控制單元對應(yīng)多個計算單元,同時要想計算單元充分并行起來,邏輯控制必然不會太復(fù)雜,太復(fù)雜的邏輯控制無法發(fā)揮計算單元的并行度,例如過多的if…else if…else if… 分支計算就無法提高計算單元的并行度,所以在GPU中邏輯控制單元也就不需要能夠快速處理復(fù)雜控制。

  這里GPU計算能力用Nvidia的Tesla K40進(jìn)行分析,K40包含2880個流處理器(Stream Processor),流處理器就是GPU的計算單元。每個流處理器包含一個32bit單精度浮點(diǎn)乘和加單元,即每個時鐘周期可以做2個單精度浮點(diǎn)計算。GPU峰值浮點(diǎn)計算性能 = 流處理器個數(shù) * GPU頻率 * 每周期執(zhí)行的浮點(diǎn)操作數(shù)。以K40為例,K40峰值浮點(diǎn)計算性能= 2880(流處理器) * 745MHz * 2(乘和加) = 4.29TFLOPs/s即每秒4.29T峰值浮點(diǎn)計算能力。

  GPU芯片結(jié)構(gòu)是否可以充分發(fā)揮浮點(diǎn)計算能力?GPU同CPU一樣也是指令執(zhí)行過程:取指令 -> 指令譯碼 -> 指令執(zhí)行,只有在指令執(zhí)行的時候,計算單元才發(fā)揮作用。GPU的邏輯控制單元相比CPU簡單,所以要想做到指令流水處理,提高指令執(zhí)行效率,必然要求處理的算法本身復(fù)雜度低,處理的數(shù)據(jù)之間相互獨(dú)立,所以算法本身的串行處理會導(dǎo)致GPU浮點(diǎn)計算能力的顯著降低。


FPGA計算能力分析

  FPGA作為一種高性能、低功耗的可編程芯片,可以根據(jù)客戶定制來做針對性的算法設(shè)計。所以在處理海量數(shù)據(jù)的時候,F(xiàn)PGA 相比于CPU 和GPU,優(yōu)勢在于:FPGA計算效率更高,F(xiàn)PGA更接近IO。

  FPGA不采用指令和軟件,是軟硬件合一的器件。對FPGA進(jìn)行編程要使用硬件描述語言,硬件描述語言描述的邏輯可以直接被編譯為晶體管電路的組合。所以FPGA實際上直接用晶體管電路實現(xiàn)用戶的算法,沒有通過指令系統(tǒng)的翻譯。

  FPGA的英文縮寫名翻譯過來,全稱是現(xiàn)場可編程邏輯門陣列,這個名稱已經(jīng)揭示了FPGA的功能,它就是一堆邏輯門電路的組合,可以編程,還可以重復(fù)編程。圖8展示了可編程FPGA的內(nèi)部原理圖。


8 FPGA內(nèi)部結(jié)構(gòu)圖


  這里FPGA計算能力用Xilinx的V7-690T進(jìn)行分析,V7-690T包含3600個DSP(Digital SignalProcessing),DSP就是FPGA的計算單元。每個DSP可以在每個時鐘周期可以做2個單精度浮點(diǎn)計算(乘和加)。FPGA峰值浮點(diǎn)計算性能 = DSP個數(shù) * FPGA頻率 * 每周期執(zhí)行的浮點(diǎn)操作數(shù)。V7-690T運(yùn)行頻率已250MHz來計算,V7-690T峰值浮點(diǎn)計算性能 =3600(DSP個數(shù)) * 250MHz * 2(乘和加)=1.8T FLOPs/s即每秒1.8T峰值浮點(diǎn)計算能力。

  FPGA芯片結(jié)構(gòu)是否可以充分發(fā)揮浮點(diǎn)計算能力?FPGA由于算法是定制的,所以沒有CPU和GPU的取指令和指令譯碼過程,數(shù)據(jù)流直接根據(jù)定制的算法進(jìn)行固定操作,計算單元在每個時鐘周期上都可以執(zhí)行,所以可以充分發(fā)揮浮點(diǎn)計算能力,計算效率高于CPU和GPU。


ASIC計算能力分析

  ASIC是一種專用芯片,與傳統(tǒng)的通用芯片有一定的差異。是為了某種特定的需求而專門定制的芯片。ASIC芯片的計算能力和計算效率都可以根據(jù)算法需要進(jìn)行定制,所以ASIC與通用芯片相比,具有以下幾個方面的優(yōu)越性:體積小、功耗低、計算性能高、計算效率高、芯片出貨量越大成本越低。但是缺點(diǎn)也很明顯:算法是固定的,一旦算法變化就可能無法使用。目前人工智能屬于大爆發(fā)時期,大量的算法不斷涌出,遠(yuǎn)沒有到算法平穩(wěn)期,ASIC專用芯片如何做到適應(yīng)各種算法是個最大的問題,如果以目前CPU和GPU架構(gòu)來適應(yīng)各種算法,那ASIC專用芯片就變成了同CPU、GPU一樣的通用芯片,在性能和功耗上就沒有優(yōu)勢了。

  我們來看看FPGA 和 ASIC 的區(qū)別。FPGA基本原理是在芯片內(nèi)集成大量的數(shù)字電路基本門電路以及存儲器,而用戶可以通過燒入 FPGA 配置文件來來定義這些門電路以及存儲器之間的連線。這種燒入不是一次性的,即用戶今天可以把 FPGA 配置成一個微控制器 MCU,明天可以編輯配置文件把同一個 FPGA 配置成一個音頻編解碼器。ASIC 則是專用集成電路,一旦設(shè)計制造完成后電路就固定了,無法再改變。

  比較 FPGA 和 ASIC 就像比較樂高積木和模型。舉例來說,如果你發(fā)現(xiàn)最近星球大戰(zhàn)里面 Yoda 大師很火,想要做一個 Yoda 大師的玩具賣,你要怎么辦呢?

  有兩種辦法,一種是用樂高積木搭,還有一種是找工廠開模定制。用樂高積木搭的話,只要設(shè)計完玩具外形后去買一套樂高積木即可。而找工廠開模的話在設(shè)計完玩具外形外你還需要做很多事情,比如玩具的材質(zhì)是否會散發(fā)氣味,玩具在高溫下是否會融化等等,所以用樂高積木來做玩具需要的前期工作比起找工廠開模制作來說要少得多,從設(shè)計完成到能夠上市所需要的時間用樂高也要快很多。

  FPGA 和 ASIC 也是一樣,使用 FPGA 只要寫完 Verilog 代碼就可以用 FPGA 廠商提供的工具實現(xiàn)硬件加速器了,而要設(shè)計 ASIC 則還需要做很多驗證和物理設(shè)計 (ESD,Package 等等),需要更多的時間。如果要針對特殊場合(如軍事和工業(yè)等對于可靠性要求很高的應(yīng)用),ASIC 則需要更多時間進(jìn)行特別設(shè)計以滿足需求,但是用 FPGA 的話可以直接買軍工級的高穩(wěn)定性 FPGA 完全不影響開發(fā)時間。但是,雖然設(shè)計時間比較短,但是樂高積木做出來的玩具比起工廠定制的玩具要粗糙(性能差)一些(下圖),畢竟工廠開模是量身定制。



  另外,如果出貨量大的話,工廠大規(guī)模生產(chǎn)玩具的成本會比用樂高積木做便宜許多。FPGA 和 ASIC 也是如此,在同一時間點(diǎn)上用最好的工藝實現(xiàn)的 ASIC 的加速器的速度會比用同樣工藝 FPGA 做的加速器速度快 5-10 倍,而且一旦量產(chǎn)后 ASIC 的成本會遠(yuǎn)遠(yuǎn)低于 FPGA 方案。

  FPGA 上市速度快, ASIC 上市速度慢,需要大量時間開發(fā),而且一次性成本(光刻掩模制作成本)遠(yuǎn)高于 FPGA,但是性能高于 FPGA 且量產(chǎn)后平均成本低于 FPGA。目標(biāo)市場方面,F(xiàn)PGA 成本較高,所以適合對價格不是很敏感的地方,比如企業(yè)應(yīng)用,軍事和工業(yè)電子等等(在這些領(lǐng)域可重配置真的需要)。而 ASIC 由于低成本則適合消費(fèi)電子類應(yīng)用,而且在消費(fèi)電子中可配置是否是一個偽需求還有待商榷。

  我們看到的市場現(xiàn)狀也是如此:使用 FPGA 做深度學(xué)習(xí)加速的多是企業(yè)用戶,百度、微軟、IBM 等公司都有專門做 FPGA 的團(tuán)隊為服務(wù)器加速,而做 FPGA 方案的初創(chuàng)公司 Teradeep 的目標(biāo)市場也是服務(wù)器。而 ASIC 則主要瞄準(zhǔn)消費(fèi)電子,如 Movidius。由于移動終端屬于消費(fèi)電子領(lǐng)域,所以未來使用的方案應(yīng)當(dāng)是以 ASIC 為主。



3、平臺性能和功耗比較

  由于不同的芯片生產(chǎn)工藝,對芯片的功耗和性能都有影響,這里用相同工藝或者接近工藝下進(jìn)行對比,ASIC芯片還沒有商用的芯片出現(xiàn),Google的TPU也只是自己使用沒有對外提供信息,這里ASIC芯片用在學(xué)術(shù)論文發(fā)表的《DianNao: A Small-Footprint High-Throughput Acceleratorfor Ubiquitous Machine-Learning》作為代表。



  從上面的對比來看,能耗比方面:ASIC > FPGA > GPU > CPU,產(chǎn)生這樣結(jié)果的根本原因:對于計算密集型算法,數(shù)據(jù)的搬移和運(yùn)算效率越高的能耗比就越高。ASIC和FPGA都是更接近底層IO,所以計算效率高和數(shù)據(jù)搬移高,但是FPGA有冗余晶體管和連線,運(yùn)行頻率低,所以沒有ASIC能耗比高。GPU和CPU都是屬于通用處理器,都需要進(jìn)行取指令、指令譯碼、指令執(zhí)行的過程,通過這種方式屏蔽了底層IO的處理,使得軟硬件解耦,但帶來數(shù)據(jù)的搬移和運(yùn)算無法達(dá)到更高效率,所以沒有ASIC、FPGA能耗比高。GPU和CPU之間的能耗比的差距,主要在于CPU中晶體管有大部分用在cache和控制邏輯單元,所以CPU相比GPU來說,對于計算密集同時計算復(fù)雜度低的算法,有冗余的晶體管無法發(fā)揮作用,能耗比上CPU低于GPU。


四、總結(jié)與展望

  處理器芯片各自長期發(fā)展的過程中,形成了一些使用和市場上鮮明的特點(diǎn)。CPU&GPU領(lǐng)域存在大量的開源軟件和應(yīng)用軟件,任何新的技術(shù)首先會用CPU實現(xiàn)算法,因此CPU編程的資源豐富而且容易獲得,開發(fā)成本低而開發(fā)周期。FPGA的實現(xiàn)采用Verilog/VHDL等底層硬件描述語言實現(xiàn),需要開發(fā)者對FPGA的芯片特性有較為深入的了解,但其高并行性的特性往往可以使業(yè)務(wù)性能得到量級的提升;同時FPGA是動態(tài)可重配的,當(dāng)在數(shù)據(jù)中心部署之后,可以根據(jù)業(yè)務(wù)形態(tài)來配置不同的邏輯實現(xiàn)不同的硬件加速功能;舉例來講,當(dāng)前服務(wù)器上的FPGA板卡部署的是圖片壓縮邏輯,服務(wù)于QQ業(yè)務(wù);而此時廣告實時預(yù)估需要擴(kuò)容獲得更多的FPGA計算資源,通過簡單的FPGA重配流程,F(xiàn)PGA板卡即可以變身成“新”硬件來服務(wù)廣告實時預(yù)估,非常適合批量部署。ASIC芯片可以獲得最優(yōu)的性能,即面積利用率高、速度快、功耗低;但是AISC開發(fā)風(fēng)險極大,需要有足夠大的市場來保證成本價格,而且從研發(fā)到市場的時間周期很長,不適合例如深度學(xué)習(xí)CNN等算法正在快速迭代的領(lǐng)域。

  講了這么多,當(dāng)遇到業(yè)務(wù)瓶頸的需要異構(gòu)計算芯片的時候,你是否能夠根據(jù)業(yè)務(wù)特性和芯片特性選擇出合適的芯片呢?

  分析完各類芯片特性,接下來,重點(diǎn)來了!



  當(dāng)今的FPGA有很大的性能潛力,支持深度可變的流水線結(jié)構(gòu),提供大量的并行計算資源,一個時鐘周期內(nèi)就可以完成非常復(fù)雜的功能。FPGA的可編程能力保證了這種器件能夠滿足應(yīng)用軟件的特殊需求,不存在設(shè)計定制協(xié)處理器的成本或者延遲問題。FPGA是重新可編程的,它可以在一個芯片中為多種應(yīng)用提供非常靈活的定制協(xié)處理功能。擁有了FPGA,業(yè)務(wù)就擁有無限可能。同樣的半導(dǎo)體技術(shù),既能把處理器的性能發(fā)揮到極限,也能使FPGA從簡單的膠合邏輯控制器,發(fā)展到性能很高的可編程架構(gòu)。FPGA完全能夠滿足HPC市場的“4P”需求。

  FPGA的內(nèi)置存儲器也有很大的性能優(yōu)勢。例如,片內(nèi)存儲器意味著協(xié)處理器邏輯的存儲器訪問帶寬不會受到器件I/O引腳數(shù)量的限制。而且,存儲器和運(yùn)算邏輯緊密結(jié)合,不再需要采用外部高速存儲器緩沖。這樣,也避免了大功耗的緩沖訪問和一致性問題。使用內(nèi)部存儲器還意味著協(xié)處理器不需要其他的I/O引腳來提高其可訪問存儲器容量,從而簡化了設(shè)計。

  很多人由于FPGA的開發(fā)難度大以及開發(fā)周期較長而對其持有懷疑態(tài)度,好消息是HLS以及OpenCL語言越來越完善,很多應(yīng)用直接使用這兩種高級語言就可以取得較大性能提升。


業(yè)界成功案例






  為了更好地滿足對計算性能的要求,全球的很多大型IT企業(yè)都在FPGA的加速硬件上進(jìn)行了布局和實踐。

Intel:

  Intel決定以167億美元收購FPGA生產(chǎn)商Altera。Intel預(yù)計到2020年,30%以上的服務(wù)器CPU芯片將配備一個FPGA協(xié)處理器。

IBM:

  IBM和Xilinx聯(lián)合宣布開展一項多年戰(zhàn)略協(xié)作,在IBM POWER系統(tǒng)上運(yùn)用XilinxFPGA加速工作負(fù)載處理技術(shù),以打造更高性能、更高能效的數(shù)據(jù)中心應(yīng)用。

微軟:

  早在2014年,Microsoft就將Altera FPGA運(yùn)用在其Bing搜索的業(yè)務(wù)中,使Bing的搜索處理量提升了一倍,搜索時間縮短了29%。2015年,微軟進(jìn)一步將FPGA運(yùn)用于深度學(xué)習(xí)領(lǐng)域。2016年,微軟體系結(jié)構(gòu)頂級會議Micro上發(fā)表的《A Cloud-ScaleAcceleration Architecture》顯示了其在數(shù)據(jù)中心體系架構(gòu)上的勃勃野心?,F(xiàn)在,進(jìn)入微軟數(shù)據(jù)中心的每一個服務(wù)器上均帶有一塊FPGA板卡,其基本的架構(gòu)如下:



  論文中涉及到的應(yīng)用場景包括:

1、網(wǎng)絡(luò)加速(例如網(wǎng)絡(luò)數(shù)據(jù)包加解密)

2、本地應(yīng)用加速(Bing加速、DNN延時敏感性業(yè)務(wù)加速)

3、支持fpga之間通信,fpga計算資源池化,提供Hardware-as-a-Service的概念,將FPGA和服務(wù)器解耦。

Facebook:

  2016年,F(xiàn)acebook也宣稱要同Intel合作用Xeon-FPGA平臺進(jìn)行數(shù)據(jù)中心的建設(shè)。

百度:

  國內(nèi)百度也推出了FPGA版本的百度大腦,運(yùn)用到線上服務(wù);FPGA版百度大腦已運(yùn)用于包括語音識別、廣告點(diǎn)擊率預(yù)估模型、DNA序列檢測以及無人車等業(yè)務(wù)中。據(jù)了解,應(yīng)用了該版本百度大腦后,語音在線服務(wù)、廣告點(diǎn)擊率預(yù)估模型等的計算性能皆提升了3~4倍。


來源:http://gad.qq.com/article/detail/7174185  騰訊GAD

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
人工智能芯片發(fā)展史詳解
一文看懂清華AI芯片報告,讓你對AI一目了然(4)
ASIP:人工智能芯片的新門類、少數(shù)派
一文讀懂AI芯片,GPU、CPU、FPGA、DSP應(yīng)有盡有
經(jīng)濟(jì)學(xué)人:AI浪潮背后的芯片風(fēng)云,跌倒的英特爾和崛起的英偉達(dá)
AI芯片發(fā)展史、CPU、FPGA和專用集成電路
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服