官术网_书友最值得收藏!

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能夠使它的效果最好。

主站蜘蛛池模板: 五寨县| 和顺县| 阿拉善左旗| 惠安县| 邵武市| 黔江区| 绥芬河市| 翁源县| 岚皋县| 阿拉善盟| 唐海县| 共和县| 双牌县| 长汀县| 卓尼县| 宜州市| 塔河县| 灌阳县| 保定市| 文昌市| 孙吴县| 柘荣县| 白河县| 阿拉善左旗| 德昌县| 肥城市| 大城县| 芦溪县| 岳普湖县| 田阳县| 攀枝花市| 丰镇市| 沁阳市| 中江县| 泾阳县| 城口县| 河津市| 连城县| 云和县| 海口市| 元谋县|