什么是GPU加速
1、什么是GPU加速計(jì)算
GPU,又稱顯示核心、視覺處理器、顯示芯片,是一種專門在個(gè)人電腦、工作站、游戲機(jī)和一些移動(dòng)設(shè)備(如平板電腦、智能手機(jī)等)上圖像運(yùn)算工作的微處理器,與CPU類似,只不過GPU是專為執(zhí)行復(fù)雜的數(shù)學(xué)和幾何計(jì)算而設(shè)計(jì)的,這些計(jì)算是圖形渲染所必需的。隨著人工智能的發(fā)展,如今的GPU已經(jīng)不再局限于3D圖形處理了。GPU 加速計(jì)算是指同時(shí)利用圖形處理器 (GPU) 和 CPU,加快科學(xué)、分析、工程、消費(fèi)和企業(yè)應(yīng)用程序的運(yùn)行速度。GPU 加速器于 2007 年由 NVIDIA? 率先推出,現(xiàn)已在世界各地為政府實(shí)驗(yàn)室、高校、公司以及中小型企業(yè)的高能效數(shù)據(jù)中心提供支持。GPU 能夠使從汽車、手機(jī)和平板電腦到無人機(jī)和機(jī)器人等平臺(tái)的應(yīng)用程序加速運(yùn)行。
2、GPU與CPU的性能比較
理解 GPU 和 CPU 之間區(qū)別的一種簡單方式是比較它們如何處理任務(wù)。CPU 由專為順序串行處理而優(yōu)化的幾個(gè)核心組成,而 GPU 則擁有一個(gè)由數(shù)以千計(jì)的更小、更高效的核心(專為同時(shí)處理多重任務(wù)而設(shè)計(jì))組成的大規(guī)模并行計(jì)算架構(gòu)。
GPU的特點(diǎn)是有大量的核(多達(dá)幾千個(gè)核)和大量的高速內(nèi)存,最初被設(shè)計(jì)用于游戲,計(jì)算機(jī)圖像處理等。GPU主要擅長做類似圖像處理的并行計(jì)算,所謂的“粗粒度并行(coarse-grainparallelism)”。這個(gè)對(duì)于圖像處理很適用,因?yàn)橄袼嘏c像素之間相對(duì)獨(dú)立,GPU提供大量的核,可以同時(shí)對(duì)很多像素進(jìn)行并行處理。但這并不能帶來延遲的提升(而僅僅是處理吞吐量的提升)。比如,當(dāng)一個(gè)消息到達(dá)時(shí),雖然GPU有很多的核,但只能有其中一個(gè)核被用來處理當(dāng)前這個(gè)消息,而且GPU核通常被設(shè)計(jì)為支持與圖像處理相關(guān)的運(yùn)算,不如CPU通用。GPU主要適用于在數(shù)據(jù)層呈現(xiàn)很高的并行特性(data-parallelism)的應(yīng)用,比如GPU比較適合用于類似蒙特卡羅模擬這樣的并行運(yùn)算。
CPU和GPU本身架構(gòu)方式和運(yùn)算目的不同導(dǎo)致了CPU和GPU之間的不同,主要不同點(diǎn)列舉如下。
更形象點(diǎn)的說法是:
現(xiàn)在全班要去春游,你有一輛保時(shí)捷和一輛大巴:保時(shí)捷只有四個(gè)座位,但半個(gè)小時(shí)就到了;大巴有50個(gè)座位,但要一個(gè)多小時(shí)。為了讓全班盡早過去,大巴一定是首選。從計(jì)算的角度看,各位的CPU就是保時(shí)捷,GPU就是大巴。GPU每個(gè)核心都很弱,但眾多的核心還是讓GPU在并行計(jì)算上擁有了相當(dāng)?shù)膬?yōu)勢。另外一點(diǎn),GPU有相當(dāng)?shù)膬r(jià)格優(yōu)勢。單純從浮點(diǎn)數(shù)計(jì)算能力來看,不到300塊的GT430(91.564G)已經(jīng)接近于一兩千塊的i7(107.6G)。
3、如何部署 GPU 加速應(yīng)用
理解 CPU 與 GPU 之間區(qū)別的一種簡單方式就是對(duì)比它們?nèi)绾翁幚砣蝿?wù)。 CPU 由專為順序串行處理而優(yōu)化的幾個(gè)核心組成。另一方面,GPU 則由數(shù)以千計(jì)的更小、更高效的核心組成,這些核心專為同時(shí)處理多任務(wù)而設(shè)計(jì)。
4、CPU 對(duì)陣 GPU
理解 CPU 與 GPU 之間區(qū)別的一種簡單方式就是對(duì)比它們?nèi)绾翁幚砣蝿?wù)。 CPU 由專為順序串行處理而優(yōu)化的幾個(gè)核心組成。另一方面,GPU 則由數(shù)以千計(jì)的更小、更高效的核心組成,這些核心專為同時(shí)處理多任務(wù)而設(shè)計(jì)。
GPU 擁有數(shù)以千計(jì)的核心,可高效地處理并行任務(wù)、
5、GPU的優(yōu)勢
上面已經(jīng)介紹的很詳細(xì)。因?yàn)镚PU的特點(diǎn)特別適合于大規(guī)模并行運(yùn)算,GPU在“深度學(xué)習(xí)”領(lǐng)域發(fā)揮著巨大的作用,因?yàn)镚PU可以平行處理大量瑣碎信息。深度學(xué)習(xí)所依賴的是神經(jīng)系統(tǒng)網(wǎng)絡(luò)——與人類大腦神經(jīng)高度相似的網(wǎng)絡(luò)——而這種網(wǎng)絡(luò)出現(xiàn)的目的,就是要在高速的狀態(tài)下分析海量的數(shù)據(jù)。例如,如果你想要教會(huì)這種網(wǎng)絡(luò)如何識(shí)別出貓的模樣,你就要給它提供無數(shù)多的貓的圖片。而這種工作,正是GPU芯片所擅長的事情。而且相比于CPU,GPU的另一大優(yōu)勢,就是它對(duì)能源的需求遠(yuǎn)遠(yuǎn)低于CPU。GPU擅長的是海量數(shù)據(jù)的快速處理。
將GPU加速器用于機(jī)器學(xué)習(xí)的早期用戶包括諸多規(guī)模的網(wǎng)絡(luò)和社交媒體公司,另外還有數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域中一流的研究機(jī)構(gòu)。與單純使用CPU的做法相比,GPU具有數(shù)以千計(jì)的計(jì)算核心、可實(shí)現(xiàn)10-100倍應(yīng)用吞吐量,因此GPU已經(jīng)成為數(shù)據(jù)科學(xué)家處理大數(shù)據(jù)的處理器。
6、GPU的劣勢
簡單地講,不是所有運(yùn)算都可以并行化,其實(shí)這也是并行計(jì)算的弱勢。但幾乎所有矩陣運(yùn)算都有并行化的可能,所以Machine Learning的很多方法移植到GPU還是相當(dāng)有搞頭的。
7、現(xiàn)狀與趨勢
工業(yè)與學(xué)術(shù)界的數(shù)據(jù)科學(xué)家已將GPU用于機(jī)器學(xué)習(xí)以便在各種應(yīng)用上實(shí)現(xiàn)開創(chuàng)性的改進(jìn),這些應(yīng)用包括圖像分類、視頻分析、語音識(shí)別以及自然語言處理等等。尤其是深度學(xué)習(xí),人們?cè)谶@一領(lǐng)域中一直進(jìn)行大力投資和研究。深度學(xué)習(xí)是利用復(fù)雜的多級(jí)「深度」神經(jīng)網(wǎng)絡(luò)來打造一些系統(tǒng),這些系統(tǒng)能夠從海量的未標(biāo)記訓(xùn)練數(shù)據(jù)中進(jìn)行特征檢測。
雖然機(jī)器學(xué)習(xí)已經(jīng)有數(shù)十年的歷史,但是兩個(gè)較為新近的趨勢促進(jìn)了機(jī)器學(xué)習(xí)的廣泛應(yīng)用:海量訓(xùn)練數(shù)據(jù)的出現(xiàn)以及GPU計(jì)算所提供的強(qiáng)大而高效的并行計(jì)算。人們利用GPU來訓(xùn)練這些深度神經(jīng)網(wǎng)絡(luò),所使用的訓(xùn)練集大得多,所耗費(fèi)的時(shí)間大幅縮短,占用的數(shù)據(jù)中心基礎(chǔ)設(shè)施也少得多。GPU還被用于運(yùn)行這些機(jī)器學(xué)習(xí)訓(xùn)練模型,以便在云端進(jìn)行分類和預(yù)測,從而在耗費(fèi)功率更低、占用基礎(chǔ)設(shè)施更少的情況下能夠支持遠(yuǎn)比從前更大的數(shù)據(jù)量和吞吐量。
目前大量的開發(fā)語言如R、Python等的機(jī)器學(xué)習(xí)/深度學(xué)習(xí)框架和包都支持GPU,比如,TensorFlow,Theano,scikit-learn 等等
總結(jié)
- 上一篇: 二叉树的前序,中序,后序遍历Java实现
- 下一篇: 计算机科学硕士学位的英文,中国计算机专业