GPU作為一種協(xié)處理器,傳統(tǒng)用途主要是處理圖像類并行計算任務(wù);計算機系統(tǒng)面對的計算任務(wù)有著復(fù)雜而不同的性能要求,當 CPU 無法滿足特定處理任務(wù)時,則需要一個針對性的協(xié)處理器輔助計算。GPU 就是針對圖像計算高并行度,高吞吐量,容忍高延遲而定制的并行處理器。
本文選自“從軟件算法生態(tài)看GPU發(fā)展與局限”,介紹GPU原理、GPU場景等,具體內(nèi)容如下:
第一章、GPU 簡介1.1、GPU是什么? 1.2、為什么需要GPU等協(xié)處理器? 1.3、GPU還能干什么? 1.4、GPU不適合干什么? 1.5、GPU總體市場現(xiàn)狀第二章、GPU 未來面臨挑戰(zhàn)應(yīng)用場景解析2.1 谷歌披露實用的全新人工智能專用協(xié)處理器:TPU 2.2 TPU 主要思路:針對人工智能算法需求裁剪計算精度 2.3 從谷歌 TPU 設(shè)計思路看人工智能硬件發(fā)展趨勢 2.4 GPU/FPGA 用于神經(jīng)網(wǎng)絡(luò)計算的弱點:片上網(wǎng)絡(luò)第三章、GPU 未來較適應(yīng)場景解析3.1 VR應(yīng)用:持續(xù)增長的優(yōu)勢領(lǐng)域 3.2 云計算/大數(shù)據(jù)應(yīng)用
3.3 GPU,云和游戲服務(wù)結(jié)合
第一章、GPU簡介
GPU其原始設(shè)計針對圖像計算的特性進行優(yōu)化,因此也能兼職一些與圖像計算特性接近的大規(guī)模并行標準浮點數(shù)計算任務(wù),如科學(xué)計算與數(shù)值模擬。但大規(guī)模并行計算并非一個籠統(tǒng)的概念,而是一個可以按照計算性能需求在6個維度上進行細分的大類別。因此GPU絕非解決大規(guī)模并行計算問題的萬金油,無法很好的支持與圖形計算特性相差較大的并行計算任務(wù)。
1.1、GPU 是什么?
GPU其他名稱有顯示核心、視覺處理器、顯示芯片。顧名思義,GPU最主要的應(yīng)用場景就是處理圖像顯示計算。計算機圖像顯示流程見圖,在這個過程中CPU決定了顯示內(nèi)容,而GPU則決定了顯示的質(zhì)量如何。像GPU這類輔助CPU完成特定功能芯片統(tǒng)稱“協(xié)處理器”,“協(xié)”字表明了GPU在計算機體系中處于從屬地位。
GPU芯片可根據(jù)與CPU的關(guān)系分為獨立GPU和集成GPU。獨立GPU通常圖形處理能力更高一些,但也有成本更高,功耗和發(fā)熱較大等問題。近年集成式GPU流行于移動計算平臺如筆記本和智能手機。例如高通的智能手機芯片通常將CPU和一個功能較弱的GPU以及其他協(xié)處理器通過SoC(System on Chip,片上系統(tǒng))技術(shù)組合在一起。集成GPU圖形計算性能相對獨立GPU較弱但功耗/成本均針對了移動計算平臺的需求做了優(yōu)化,將長期占據(jù)移動計算市場。
1.2、為什么需要 GPU 等協(xié)處理器?
在計算機系統(tǒng)中,之所以出現(xiàn)GPU等協(xié)處理器,歸根到底在于沒有一種芯片設(shè)計方案能夠滿足所有不同類別計算任務(wù)所需求的全部性能指標:
計算精度;
計算并行度;
計算延遲;
計算吞吐量;
并行進程之間的交互復(fù)雜度;
計算實時性要求;
魚和熊掌不可兼得;在設(shè)計計算機芯片中,以上六個指標不可能在有限的資源約束下同時滿足。圖的雷達圖比較了CPU的設(shè)計偏向(藍線)以及圖形計算的要求(紅線),越靠近外圈則表示要求高/性能好,如計算延遲低、計算吞吐量大。
我們可以發(fā)現(xiàn)CPU設(shè)計的一部分偏好,如并行進程交互能力強,低計算延遲是圖形計算所不需要的;但圖形計算要求的高計算并行度,高計算吞吐量是CPU所不能提供的。將CPU應(yīng)用在圖形處理中會造成一部分性能被浪費,而另一些性能CPU無法滿足要求(雷達圖上紅線和藍線的顯著差異);這提供了GPU這種針對圖形技術(shù)優(yōu)化芯片性能指標的協(xié)處理器的生存空間。 在廣義計算系統(tǒng)體系中,其他類別的協(xié)處理器,如DSP,F(xiàn)PGA,BP等協(xié)處理器之所以獨立存在,均因為其所處理的特定計算任務(wù)在計算指標雷達圖中與CPU以及其他協(xié)處理器差異過大。一個協(xié)處理器產(chǎn)業(yè)是否有足夠的市場空間主要取決于其針對的計算任務(wù)在性能雷達圖中是否獨特(否則會被CPU等“兼職”),以及這種計算任務(wù)是否有足夠大市場需求。
1.3、GPU 還能干什么?
GPU生產(chǎn)廠商針對圖形處理的性能要求將資源分配強化兩個特定指標:計算并行度和計算吞吐量。除了圖形計算以外,還有一些計算任務(wù)的性能雷達圖落在GPU的性能范圍內(nèi)或相差不甚太遠(見圖),比如數(shù)值仿真模擬、金融類計算、搜索引擎、數(shù)據(jù)挖掘等。
正因看中拓展GPU在特殊計算任務(wù)的應(yīng)用前景,主流的GPU廠商紛紛推出軟硬件結(jié)合的并行編程解決方案。例如Nvidia推出閉源的CUDA并行計算平臺,而AMD推出了基于開放性O(shè)penCL標準的Stream技術(shù)。這類技術(shù)在軟件上提供一個定制的編譯器,將計算任務(wù)盡可能分解成可獨立并行執(zhí)行的小組件(術(shù)語為“線程”);在硬件上對GPU進行小幅度修改,少量提高其在延遲/并行交互等傳統(tǒng)弱項的性能。 雖然GPU的并行計算能力與金融數(shù)據(jù)處理需求存在一定匹配(圖4中紅線和藍線相近),但金融核心賬本計算中需要遠超過一般計算平臺的精度。GPU內(nèi)部搭載的2進制計算單元無法保障賬本分毫不差;金融業(yè)的核心賬本計算業(yè)務(wù)長期依賴搭載10進制計算單元的IBM Power系列高端處理器。如果改造GPU使其搭載10進制硬件計算單元,則其又無法適應(yīng)圖形計算的需求。這個案例充分說明:并非所有并行計算任務(wù)就一定適合GPU計算,而需要根據(jù)實際情況區(qū)分。
1.4、GPU 不適合干什么?
GPU屬于大規(guī)模并行計算芯片的一個子類;但其并不能解決所有的大規(guī)模并行計算任務(wù)。大規(guī)模并行計算芯片可粗略劃分為兩大組成部分:
1)并行計算單元,數(shù)目從數(shù)個至數(shù)千個不等,完成“線程”計算;
2)NoC(Network on Chip,片上通訊網(wǎng)絡(luò)),負責(zé)在計算單元之間傳遞數(shù)據(jù); 針對不同的計算需求場景,大規(guī)模并行計算芯片的設(shè)計思路大體有兩個方向: 1)處理單元優(yōu)化:包括增減處理器單元數(shù)量或改變處理器單元內(nèi)部的結(jié)構(gòu)等; 2)NoC網(wǎng)絡(luò)優(yōu)化:更改網(wǎng)絡(luò)拓撲、網(wǎng)絡(luò)路由算法、優(yōu)化網(wǎng)絡(luò)控制機制等; 這兩個方向上的優(yōu)化需要分享芯片上有限的資源;強化一個方向的性能/增加某個方向的資源分配往往就意味著需要犧牲另一個方向的性能。 多核CPU、GPU、FPGA是常見的并行計算架構(gòu),它們的資源分配傾向示意圖見圖。
GPU將主要資源分配給了圖形常用計算單元,如浮點數(shù)的乘法和加法,而采用了最簡單的片上網(wǎng)絡(luò)拓撲:樹狀NoC網(wǎng)絡(luò),在基本計算單元之間傳遞數(shù)據(jù),見圖; 這種片上網(wǎng)絡(luò)的優(yōu)缺點分別是:
優(yōu)點1:消耗的資源最小;
缺點1:通過讀寫片上存儲的方式傳遞數(shù)據(jù),速度較慢;
缺點2:樹根結(jié)點容易因通訊堵塞成為瓶頸,如圖中紅線和藍線分別表示A計算節(jié)點向B,C向D傳遞數(shù)據(jù),兩個傳遞過程在根節(jié)點和二級共享節(jié)點交匯,當片上數(shù)據(jù)傳遞頻繁時,樹狀拓撲NoC極易發(fā)生堵塞問題。
GPU之所以采用樹狀拓撲結(jié)構(gòu),概因其“主業(yè)”-圖形計算僅有少量情形需要在計算節(jié)點之間做復(fù)雜數(shù)據(jù)通信,因此采用樹狀拓撲以外的方案是純粹的浪費。但樹狀拓撲結(jié)構(gòu)限制了相當多類別的大規(guī)模并行計算任務(wù)在GPU上發(fā)揮,換句話說,下列這些并行計算任務(wù)并不是GPU擴展的強項:
帶有較多分支判斷類的并行計算任務(wù),典型任務(wù)如人機交互、電腦和環(huán)境交互中的邏輯判斷計算等;
并行計算中帶有較多串行成分,以及反饋算法的并行計算任務(wù),典型例子如控制系統(tǒng)計算任務(wù);
帶有網(wǎng)狀結(jié)構(gòu)數(shù)據(jù)流的并行計算。典型案例為FFT(傅里葉分析)計算任務(wù),CUDA中的FFT優(yōu)化后可以提供相對CPU約10倍的提速,但當FFT長度超過某個門限后GPU的提升性能就發(fā)生下滑(資料來源:NV官網(wǎng))。DSP芯片往往針對FFT的算法特性提供定制優(yōu)化,沒有GPU存在的問題,因此手機SoC中往往由DSP而不是GPU處理FFT這種網(wǎng)狀大規(guī)模并行計算。
審核編輯 :李倩
-
cpu
+關(guān)注
關(guān)注
68文章
10911瀏覽量
213150 -
gpu
+關(guān)注
關(guān)注
28文章
4788瀏覽量
129426 -
計算機圖像
+關(guān)注
關(guān)注
2文章
5瀏覽量
2292
原文標題:全解GPU軟件生態(tài)、場景、發(fā)展與局限性
文章出處:【微信號:AI_Architect,微信公眾號:智能計算芯世界】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
ChirpIoT技術(shù)的優(yōu)勢以及局限性
OpenHarmony人才生態(tài)大會南向生態(tài)社區(qū)發(fā)展論壇在武漢圓滿舉辦
關(guān)于歐盟法規(guī)中測試場景的研究
![關(guān)于歐盟法規(guī)中測試<b class='flag-5'>場景</b>的研究](https://file1.elecfans.com/web1/M00/F5/C8/wKgZoWdENsuARtViAABthDA1z_s884.png)
raid 存儲方案適合哪些場景
直流輸電的優(yōu)勢與局限性
微通道反應(yīng)器目前的局限性
WDM技術(shù)的缺點和局限性
RISC-V在中國的發(fā)展機遇有哪些場景?
打破系統(tǒng)局限性:來自de next-TGU8-EZBOX的能量釋放
![打破系統(tǒng)<b class='flag-5'>局限性</b>:來自de next-TGU8-EZBOX的能量釋放](https://file1.elecfans.com/web1/M00/F3/5A/wKgZoWcV9uKAL4pvAACDYbO_E1Q499.png)
燈箱屏未來:技術(shù)突破與應(yīng)用局限揭秘
軟件生態(tài)上超越CUDA,究竟有多難?
刀片電池和三元鋰電池對比
FPGA的優(yōu)勢及潛在局限性介紹
![FPGA的優(yōu)勢及潛在<b class='flag-5'>局限性</b>介紹](https://file1.elecfans.com/web2/M00/C9/89/wKgaomYd5PKAILpKAABi6iUaN6E110.png)
高光譜成像技術(shù)如何改善現(xiàn)有遙感技術(shù)的局限性?
![高光譜成像技術(shù)如何改善現(xiàn)有遙感技術(shù)的<b class='flag-5'>局限性</b>?](https://file1.elecfans.com//web2/M00/C0/65/wKgZomXVZVCANNsuAAEqiR05VVc862.png)
評論