最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

FPGA和CPU、GPU有什么區(qū)別?為什么越來越重要?

2023-08-13 11:53 作者:絕對牛網(wǎng)絡(luò)科技  | 我要投稿

1. 為什么會有這么多的XPU?——“配角們”的時代

近年來, 諸如 TPU、MPU、DPU 等的”X”PU 們似乎層出不窮,市場經(jīng)常會對這些新創(chuàng)造出的名詞感到困惑: 為什么會出現(xiàn)這么多的單元?本質(zhì)上是由于 CPU 的算力到達(dá)瓶頸了,背后是通用計算時代的終結(jié)。從發(fā)明 以來, CPU 算力的提升主要依靠兩大法寶:一是提高時鐘頻率,但時鐘頻率提升面臨瓶頸了。 因為越高的時 鐘頻率, 意味著每秒可執(zhí)行的運(yùn)算次數(shù)越高,但隨著電壓下降到 0.6v 的“底限”,Dennard 縮放定律(Dennard Scaling) 在 05 年開始崩潰, 再提高時鐘頻率就會使得功耗以指數(shù)級別增長,因此我們在 05 年后遇到了頻 率墻;二是增加處理器內(nèi)核數(shù),換取頻率降低帶來的功耗預(yù)算,但由于核間調(diào)度同樣需要時延和功耗花銷, 很快,核數(shù)的增長又遇到了瓶頸, 由于數(shù)據(jù)中心的散熱技術(shù)約束了功率增長,導(dǎo)致處理器上許多核無法同時 工作, 這就是暗硅效應(yīng)。 因此, 人們開始放棄使用一個超強(qiáng)的 CPU 完成所有事情,而是對某些重復(fù)的場景, 卸載到專用的加速器, 以達(dá)到新一階段的降低功耗,提升性能的目的, 這就是“XPU”等加速器興起的原因。

1CPU 面臨算力瓶頸的原因


同時, 自 2010AI 興起, AI 模型的訓(xùn)練所需的算力是爆發(fā)式的增長,且 “加&乘”的本質(zhì)使得算力要求愈 發(fā)偏向高并行而不是高串行。CPU 越來越難以勝任高算力的場景,,將需要大規(guī)模、高密度的計算任務(wù)卸載 到在某一方向做了優(yōu)化的專用處理器,就產(chǎn)生了這些不同的“X”PU,他們之間區(qū)別在于在某些場景的專用性。


22010年興起以來,AI模型對算力的要求呈現(xiàn)爆發(fā)式增長,速度遠(yuǎn)超摩爾定律


通用計算時代終結(jié),數(shù)據(jù)中心走向加速器時代。未來10年,FPGA的重要性不斷上升。隨著 CPU 算力逐漸

達(dá)到瓶頸,越來越無法滿足神經(jīng)網(wǎng)絡(luò)指數(shù)級增長的算力需求。在數(shù)據(jù)中心這一人類算力需求最高的設(shè)施中,

算力發(fā)展的方向愈發(fā)轉(zhuǎn)向?qū)S眯裕詫で蟾叩男阅?、更低的能耗和成本。我們看到,未?10 年,在數(shù)據(jù)

中心高性能計算及 AI 訓(xùn)練中,CPU 這一“主角”的重要性下降,而以往的“配角們”,即 GPU、FPGA、

TPU、DPU 等的加速器的重要性在上升。


3MLP網(wǎng)絡(luò)本質(zhì)是并行的乘法和累加,非常適合在FPGA中實現(xiàn)

因此, 從2017年開始, 越來越多的大型公有云開始正式使用FPGA、GPU作為加速器,以獲得數(shù)百倍于CPU的性能提升。例如,微軟的Catapult 項目就使用了 FPGA 以加速 Bing 的搜索速度,AWS 的 F1 Instances 將 FPGA 的算力作為服務(wù)提供給客戶,阿里云使用了 FPGA 為其“雙十一”進(jìn)行了零售交易系統(tǒng)的加速。

4:微軟的Azure使用FPGA加速Bing搜索, 網(wǎng)絡(luò)吞吐量大幅上升, 時延下降了 80%



2.相比CPUFPGA的并行性和靈活性更高,能提供確定性的時延

處理器負(fù)責(zé)對外界輸入的數(shù)據(jù)進(jìn)行處理,CPU、GPU、FPGA等處理器的區(qū)別在于處理流程,CPU 的處理 流程使其擅長串行計算,以復(fù)雜的控制為特征,GPU 和 FPGA 的則更擅長大規(guī)模的并行計算:

CPU是馮諾依曼架構(gòu)下的處理器,遵循“Fetch (取指) -Decode (譯碼) - Execute (執(zhí)行) - Memory Access (訪存) -Write Back ?(寫回)”的處理流程, 數(shù)據(jù)要先通過控制單元獲取存在 RAM 中的指令, 再解碼得知用戶需要對數(shù)據(jù)做何種運(yùn)算,然后再將數(shù)據(jù)送到 ALU 進(jìn)行對應(yīng)的處理,結(jié)束運(yùn)算后存回 RAM, 再獲取下一個指令。這一處理流程,即 SISD (Single Instruction Single Data),決定了CPU擅長決策 和控制,但在多數(shù)據(jù)處理任務(wù)中效率較低。現(xiàn)代的 CPU 可以同時做到 SISD 和 SIMD 的處理,但在并 行規(guī)模上依然不如 GPU 和 FPGA。

GPU遵循的是 SIMD (Single Instruction Multiple Data)的處理方式, 通過在多個線程上運(yùn)行統(tǒng)一的處

理方式, 即 Kernel,來達(dá)到將 CPU 發(fā)送過來的數(shù)據(jù)做高并行處理的目的。由于去除了現(xiàn)代 CPU 中分支 預(yù)測、亂序執(zhí)行、存儲預(yù)取等模塊,也減少了許多 cache 的空間, GPU 中經(jīng)過簡化后的“核”能實現(xiàn) 非常大規(guī)模的并行運(yùn)算, 并且節(jié)省了大部分 CPU 需要花費在分支預(yù)測、重排的時間, 但缺點是需要數(shù) 據(jù)適應(yīng) GPU 的處理框架,例如需要數(shù)據(jù)做批次對準(zhǔn),因此依然無法達(dá)到最大的實時性。

FPGA則是由用戶自定義處理流程,可以直接決定片上的 CLB 是如何相連的,數(shù)十萬個 CLB 可以獨立

運(yùn)算,即 SIMD、MISD (Multiple Instruction Single Data) 和 MIMD (Multiple Instruction Multiple Data) 的處理都可以在 FPGA 實現(xiàn),由于處理流程已經(jīng)映射到硬件上,不需要再額外花費時間獲取和編譯指令, 同樣不需要像CPU一樣花費時間在亂序執(zhí)行等步驟,這使得 FPGA 在數(shù)據(jù)處理中具有非常高的實時性。

5FPGA能完成SIMD、MISDMIMD的處理,特別適合并行計算


因此,GPUFPGA都是作為CPU的任務(wù)卸載單元,在并行計算的效率都高于CPU。在數(shù)據(jù)中心高性能 計算的場景中, GPU 和 FPGA 往往以分立的加速卡形式存在,即 CPU 將部分密集計算的任務(wù)“卸載”到 GPU 或者 FPGA,這些“器件”通過 PCIe 和 CPU 互聯(lián),以完成高并行的計算加速。

6:將CPU的核心簡化以加快執(zhí)行速度,是GPU設(shè)計的思想

FPGA相比CPU的巨大優(yōu)勢在于確定性的低時延,這是架構(gòu)差異造成的。CPU 的時延是不確定的, 當(dāng)利用 率升高時, CPU 需要處理更多的任務(wù),這就需要 CPU 進(jìn)行任務(wù)調(diào)度重排, 因此造成處理時延往往是不可控 制地變大,即任務(wù)越多算得越慢。 而 FPGA 的時延之所以是確定的, 是因為在布局布線階段, 設(shè)計工具就已 經(jīng)確保能夠讓最差路徑滿足時序要求,不需要再花費時間在獲取指令、解碼指令等通用處理器需要的步驟, 也避免了隨之而來的重排執(zhí)行順序、指令調(diào)度等待的問題。

7FPGA的時延遠(yuǎn)低于CPU,是因為其架構(gòu)不需要在獲取指令、編譯指令、 分支預(yù)測等方面花費時間


CPU的利用率越高,處理時延便越大,而FPGA無論利用率大小,其處理時延是穩(wěn)定的。FPGA 可以提供

納秒級的處理時延,而 CPU 通常在毫秒級。例如,在自動駕駛系統(tǒng)中,將攝像頭的數(shù)據(jù)直接傳輸?shù)?FPGA

的 MIPI 接口中,其最好和最差情況下的處理時延差距僅為 22ns,而在有 CPU 參與數(shù)據(jù)傳輸?shù)那闆r下,這

一差距在 23ms 以上,相當(dāng)于 CPU 在繁忙情況下時延翻倍。此外,當(dāng)利用率上升到 90%時,CPU 的處理時

8FPGA確定性的低時延,使其在工業(yè)和汽車上具有非常大的優(yōu)勢

間長達(dá) 46ms,對于以 100km/h 的速度行駛的汽車, 46ms 意味著攝像頭從看到障礙物,到汽車系統(tǒng)采取制 動措施時,車子已經(jīng)開出了至少 1 .28 米的距離,而 FPGA 僅有 3米, 即可以等同為瞬間就能反應(yīng),省去的 這 1 .28m 的距離, 就可能減少許多碰撞事故的發(fā)生概率。 因此, 在汽車和工業(yè)這些需要確定低時延的場景,FPGA具有非常大的優(yōu)勢。

FPGA相比CPU,具有更高的靈活性。 在工業(yè)現(xiàn)場往往有許多需要細(xì)微調(diào)整, 例如, 根據(jù)傳送帶磨損情況對 馬達(dá)進(jìn)行細(xì)微的控制調(diào)整,為設(shè)備更新新的協(xié)議等等, CPU 往往難以做到, 由于 FPGA 是動態(tài)可重構(gòu)的, 可以在使用現(xiàn)場調(diào)整,隨時適應(yīng)新的變化。此外, FPGA 還可以同時融合工業(yè)現(xiàn)場的 PLC、網(wǎng)關(guān)、傳感器、 馬達(dá)、 HMI 等設(shè)備, 實現(xiàn)不同設(shè)備的實時控制和通信。


3.相比GPU,FPGA的時延和功耗更有優(yōu)勢

GPU的功耗非常高,因為其無法很好地利用片上內(nèi)存,需要頻繁讀取片外的DRAM。盡管在吞吐量上的優(yōu) 勢使得 GPU 幾乎壟斷了深度學(xué)習(xí)領(lǐng)域, 但 GPU 依賴片外存儲的處理流程,使其在功耗和時延上對比 FPGA 有非常大的弱勢。 以英偉達(dá)的 GPU 為例, 使用 CUDA 進(jìn)行訓(xùn)練,主要有四個步驟: 1) 將數(shù)據(jù)從 CPU 的外 部存儲 (DRAM) 復(fù)制到 GPU 的存儲中;2) CPU 加載(Lauch) 需要進(jìn)行的計算, 即 Kernel 到 GPU 中; 3) GPU 執(zhí)行 CPU 發(fā)送過來的指令;4) GPU 將結(jié)果最終存回 CPU 的 DRAM 中,再進(jìn)行下一個 Kernel 的 計算。因此,CUDA 涉及了兩次存儲讀寫。而FPGA 可以將第一個 Kernel 的結(jié)果緩存到片上星羅棋布的 BRAM 中, 完全可以不需要讀寫外部存儲就能完成整個算法。由于讀取 DRAM 所消耗的能量是 SRAM 的 100 倍以 上, 是加法的 6400 倍,GPU 這一需要頻繁讀取 DRAM 的處理,使其功耗遠(yuǎn)高于 FPGA,而且 DRAM 的帶 寬往往成為了性能的瓶頸。一片 FPGA 的典型功耗通常是 30W ~ 50W,而單片 GPU 功耗就可以高達(dá)

9FPGA可以靈活利用片上內(nèi)存,不需要像CUDA一樣從DRAM來回讀寫數(shù)據(jù)


250W ~ 400W,使得單機(jī)柜的功率密度可能高達(dá) 28kw,這對數(shù)據(jù)中心的現(xiàn)有的散熱造成了巨大壓力,往往 需要專門更改制冷和供電系統(tǒng), 以適應(yīng)單柜 15kw 以上的功率密度, 而 FPGA 數(shù)十瓦的功耗可以和現(xiàn)有數(shù)據(jù) 中心散熱兼容,不需要額外改造。

FPGA可以靈活運(yùn)用片上存儲, 因此功耗遠(yuǎn)低于GPU。FPGA 完全可以不需要讀 DRAM,整個算法在片上 完成。 例如, 深鑒科技利用 FPGA 做出了 ESE 的模型并在不同的處理器 (CPU/GPU/FPGA) 上運(yùn)行, 發(fā)現(xiàn) FPGA 上訓(xùn)練時長最短, 能耗最小。在能耗上, CPU Dense 耗能 11W、CPU Sparse 耗能 38W、GPU Dense 耗能 202W,這是耗能最大的一種情況、 GPU Spare 耗能 136W,相比之下 FPGA 僅需41W;在訓(xùn)練時延 上, FPGA 用時 82.7μs,遠(yuǎn)小于 CPU 的 6017.3μs,也僅為 GPU 訓(xùn)練時長的三分之一。

10FPGA僅用200MHz,就可以實現(xiàn)比CPU43倍、比GPU3倍的效果,而且功耗僅為GPU20%


FPGA無批次 (Batch-less)“的架構(gòu), 使其在 AI推理中具有非常強(qiáng)的時延優(yōu)勢。受限于網(wǎng)絡(luò)條件和時延, 許多決策來不及上傳云端, 只能本地執(zhí)行,這就是邊緣計算。邊緣計算通常面臨時延和功耗兩大約束。GPU 需要等待批次的特點,使其時延要高于 FPGA。GPU 通常需要將不同的訓(xùn)練樣本劃分成固定大小的“Batch (批次)”,為了最大化達(dá)到并行性,需要將數(shù)個 Batch 都集齊,再統(tǒng)一進(jìn)行處理,每個 Batch 的數(shù)據(jù)一般有 近百個。這使得 GPU 在訓(xùn)練大型樣本時非常有優(yōu)勢,但在做涉及小樣本的推理時,這一優(yōu)點成為了劣勢, 因為推理通常只需要很小的輸入數(shù)據(jù),而 GPU 的架構(gòu)額外引入了時延。FPGA 的架構(gòu)是無批次(Batch-less) 的,可以根據(jù)數(shù)據(jù)特點確定處理方式,不需要像 GPU 一樣將輸入的數(shù)據(jù)劃分成 Batch,因此可以做到最低的 時延,使得 FPGA 在進(jìn)行 AI 推理時具有非常大的優(yōu)勢。

FPGA在接口靈活性上具有無可比擬的優(yōu)勢,特別適合工業(yè)場景。工業(yè)實質(zhì)是高度分散的小批量場景, 存在 大量的非標(biāo)準(zhǔn)的接口,例如,工業(yè)的圖像傳感器的 LVDS 編碼格式往往沒有統(tǒng)一的標(biāo)準(zhǔn),工程師很難找到對 應(yīng)的專用芯片去對接。 GPU 的接口單一, 只有 PCIe 一種,而 FPGA 的可編程性使其能與任何的器件進(jìn)行通 信,能夠適應(yīng)任何的標(biāo)準(zhǔn)和非標(biāo)準(zhǔn)的接口,這種硬件可編程帶來的高度靈活性是 FPGA 在工業(yè)場景的優(yōu)勢。

目前,阻礙FPGA市場進(jìn)一步擴(kuò)大的原因是其較高的使用門檻,正通過HLS等工具解決。CPU 使用人員更 多是軟件工程師,語言基本為 C/C++等編程語言, GPU 亦有 CUDA 等非常完善的開發(fā)框架, 而 FPGA 的使 用者更多像是硬件工程師,需要自行定義電路功能、進(jìn)行時序優(yōu)化等步驟,語言基本為 Verilog/VHDL 這兩 種

11FPGA的時延低于GPU,無批次的結(jié)構(gòu),使其在AI推理特別有優(yōu)勢

硬件描述語言,需要使用者精通軟件和硬件, 難度因此更大。 因此, 為了降低使用門檻,F(xiàn)PGA 學(xué)界和業(yè)內(nèi) 合作推出了 HLS (High-level Synthesis,高層次綜合) 的工具,可以通過 C/C++語言直接生成能供 FPGA 使用的 RTL 網(wǎng)表,跳過中間的硬件描述環(huán)節(jié),讓工程師更加專注AI 算法的開發(fā)和迭代。

12FPGA更適合AI推理,在低時延、非標(biāo)準(zhǔn)化的場景非常有優(yōu)勢


4.FPGA的戰(zhàn)略意義:AI&Space

為什么FPGA是戰(zhàn)略芯片?我們認(rèn)為, 未來科技發(fā)展有兩個領(lǐng)域處于戰(zhàn)略地位: 一是 AI,二是太空。AI 代 表人類更高級別的生產(chǎn)力工具,而太空是可供人類開發(fā)探索的廣闊而未知領(lǐng)域。 FPGA 憑借其架構(gòu)帶來的時 延和功耗優(yōu)勢,在 AI 推理中具有非常大的優(yōu)勢。 同樣, FPGA 獨特的優(yōu)勢使其在航空航天領(lǐng)域有非常廣泛的 應(yīng)用。

全球地緣政治緊張下, 各國自有衛(wèi)星星座需求激增, 太空活動進(jìn)入新活躍期。上一個太空發(fā)射活躍期在 1957- 1977 年,美蘇在太空領(lǐng)域展開激烈競爭,兩國年平均發(fā)射活動均超 40 次。隨著美蘇太空競賽結(jié)束, 20 年間太空發(fā)射數(shù)大幅回落。而在近年地緣政治緊張態(tài)勢下, 各國部署自有通信衛(wèi)星星座需求激增。中美兩 國在近 3 年的太空發(fā)射活動劇升,僅去年全年, 中美發(fā)射次數(shù)合計占全球 76%。由于頻段和低軌空間是不可 再生資源,各國的低軌衛(wèi)星計劃實際承擔(dān)“占頻保軌”的任務(wù)。隨著大批的低軌衛(wèi)星計劃在未來 4-5 年內(nèi)完成 發(fā)射組網(wǎng),太空活動實際已進(jìn)入新的活躍期。

13:近5年來, 在地緣政治緊張的態(tài)勢下, 中美兩國太空發(fā)射次數(shù)迅速增長

目前, 我們看到太空活動發(fā)生了三大新變化, 背后反映的是太空不斷增長的算力需求 。美國 JPL (Jet Propulsion Laboratory,噴氣推進(jìn)實驗室) 是美國國家航空航天局 (NASA) 負(fù)責(zé)無人太空探測的機(jī)構(gòu),我 們統(tǒng)計了 JPL 目前的所有任務(wù)目標(biāo),發(fā)現(xiàn)了以下三大變化:1) 地球觀測、探火活動在增加。 以地球為目標(biāo) 的太空活動占比 35%, 目的主要有氣象和環(huán)境觀測, 構(gòu)建與外太空交流的深太空網(wǎng)絡(luò)(DSN) ,利用合成孔 徑雷達(dá)對地面進(jìn)行高精度觀測等,主要是出于軍事及科研目的;而火星相關(guān)的活動占比高達(dá) 15%,是因為火 星是與地球最相似的行星,了解火星表面的巖石、氣候, 目的是了解火星在過去是否有生命存在,可以為人 類探索和開發(fā)火星做準(zhǔn)備。

2)尋求擴(kuò)大AI在太空的應(yīng)用,以及寬帶衛(wèi)星通信的快速增長,提高了算力要求。 以觀測衛(wèi)星為例,地球 60%

14:美國太空活動的新變化,反映出航空航天領(lǐng)域不斷增長的算力需求

以上的面積常年被云層覆蓋, 只有 10%的區(qū)域是晴空無云的狀態(tài), 以往觀察衛(wèi)星都是不加甄別, 將拍攝的照 片全部回傳地面處理。如今, 在觀察衛(wèi)星上使用 AI 識別出含有云層的照片并丟棄,只回傳清晰的照片, 可以 節(jié)省本就有限的星地通信的帶寬。除此之外,寬帶衛(wèi)星通信要求衛(wèi)星具備星上處理和轉(zhuǎn)發(fā)數(shù)據(jù)的能力,以降 低時延,減少對地面站的依賴;

3) 航天級器件的代際差在縮小,處理能力越來越接近目前最高水平。過去,航天級 FPGA 的推出時間一般晚 于對應(yīng)商業(yè)級器件 3-5 年,長期落后于當(dāng)時最領(lǐng)先的器件 1-2 個代際, 10-15 年前的 FPGA 依然在航天器上廣 泛使用。然而,近兩年來,我們看到 FPGA 龍頭賽靈思加快了宇航級 FPGA 的推出。目前, 賽靈思最先進(jìn)的 FPGA 產(chǎn)品是 19 年推出的 Versal (7nm),而賽靈思在 21 年初就推出了宇航級的 Versal XQR,做到了和商業(yè)級 同代際。Versal XQR 不僅邏輯單元數(shù)相比往代大幅增加,還嵌入了 AI 處理單元、高速的收發(fā)器等,大幅提高 了低軌衛(wèi)星的處理能力和反應(yīng)時間。

15FPGA在航天項目的參與度非常高


#AI#GPU#FPGA#CPU#Niusousou


FPGA和CPU、GPU有什么區(qū)別?為什么越來越重要?的評論 (共 條)

分享到微博請遵守國家法律
周口市| 始兴县| 开原市| 大庆市| 沈丘县| 平度市| 无为县| 鄂托克前旗| 郸城县| 海晏县| 宁蒗| 靖西县| 莱阳市| 扎鲁特旗| 轮台县| 昂仁县| 芦溪县| 滦平县| 泸水县| 文成县| 哈巴河县| 广元市| 宜黄县| 晋州市| 安宁市| 新沂市| 米林县| 泰顺县| 萍乡市| 安塞县| 开江县| 灵石县| 郧西县| 定日县| 中阳县| 嵊州市| 保山市| 闻喜县| 建宁县| 潼南县| 甘谷县|