- MATLAB計算機視覺經典應用
- 丁偉雄編著
- 774字
- 2022-05-06 19:59:45
2.3.3 CPU和GPU
接下來討論一下CPU與GPU。如果說要進行計算機視覺跟圖像處理,那么肯定逃不過GPU運算,這可能也是接下來需要學習或自學的一個知識點。
這是因為當前大部分關于計算機視覺的論文都是用GPU去實現的。但是在應用領域,因為GPU的價格比較昂貴,所以CPU的應用場景相對來說占大部分。
CPU與GPU的差別主要在哪里呢?它們的差別主要可以在兩方面去對比,一是性能,二是吞吐量。
將性能換成另外一個單詞,叫作Latency(低延時性)。當性能越好時,處理分析的效率越高,相當于延時性就越低,這個是性能。吞吐量就是同時能夠處理的數據量。
CPU具有高性能,即超低延時性,能夠快速處理復雜運算,并且能達到一個很好的性能要求。而GPU是以一個叫作運算單元為格式的,它的優點不在于低延時性,因為它確實不善于做復雜運算,它的每個處理器都非常小,相對來說會很弱,但是它可以讓所有的弱處理器同時去做運算,相當于能夠同時處理大量的數據,這就意味著它的吞吐量非常大。CPU重視的是性能,GPU重視的是吞吐量。
因此,GPU大多時候會跟另外一個詞語聯系在一起,叫作并行計算,意思就是它可以同時做大量的線程運算。那么為什么圖像會特別適合用GPU運算呢?這是因為GPU最開始的設計就是圖形處理單元,意思就是可以把每個像素分割為一個線程去運算,每個像素只做一些簡單的運算,這就是最開始圖形處理器出現的原理。
當GPU用于圖形渲染時,要計算的是每個像素的變換。因此,每個像素變換的計算量是非常小的,可能就是一個公式的計算,可以放在一個簡單的計算單元里面去進行,這就是CPU與GPU的差別。
基于這樣的差別,我們才會去設計什么時候用CPU,什么時候用GPU。如果當前設計的算法的并行能力不是很強,從頭到尾、從上到下都是一個復雜的計算,沒有太多可并行的地方,那么即使使用了GPU,也不能幫助我們很好地提升計算性能。
因此,我們要了解的是為什么要用GPU,以及在什么樣的情況下用GPU能夠使它的效果最好。
- Vue.js框架與Web前端開發從入門到精通
- Microsoft BizTalk Server 2010 Patterns
- Learning Facebook Application Development
- Drupal 6 Panels Cookbook
- 中文版Illustrator CC實戰視頻教程
- 中文版Photoshop CC平面設計實用教程
- OpenCV項目開發實戰(原書第2版)
- UG NX 9中文版從入門到精通
- AI繪畫與攝影實戰108招:ChatGPT+Midjourney+文心一格
- Altium Designer 21 PCB設計官方指南(高級實戰)
- After Effects 影視后期特效:短視頻制作實戰寶典
- 中文版3ds Max 2016基礎培訓教程
- SOLIDWORKS 2023中文版機械設計從入門到精通
- 3ds Max 2014/VRay效果圖制作實戰從入門到精通
- AI繪畫大師:Stable Diffusion快速入門與實戰技巧