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