首頁  技術文章  CPU和GPU在GSW算法計算中的速度比較

CPU和GPU在GSW算法計算中的速度比較

發布時間:2021-05-27 08:33:04 瀏覽量:4506 作者:Paul

正文


這裏主要是測試一下CPU和GPU計算的速度。

CPU:I7-10700,8核16線程,主頻2.9GHz,睿頻4.8GHz

GPU:RTX-2060,6G顯存,可用顯存為(wei) 5G


計算平台為(wei) Matlab 2019b,采用同一個(ge) GSW算法,進行不同次數的循環。因為(wei) 數據前後是相關(guan) 的,所以沒有主動采取並行運算。但是從(cong) 任

務管理器中觀察,Matlab有優(you) 化過程,計算中還是使用到多核。若隻采用CPU計算,CPU利用率從(cong) 0%變化到74%,GPU利用率幾乎

不變,大部分時間還是維持在0%。若采用GPU計算,CPU利用率0%變化到11%,GPU變化率為(wei) 偶爾跳到2%。




然後修改圖像尺寸,看看數據大小對於(yu) 時間的影響,循環次數保持在100




從(cong) 上麵兩(liang) 張表格看,首先兩(liang) 張表格的曲線都是線性增長的,其次當數據量和計算次數增加後,GPU的優(you) 勢會(hui) 越來越大。所以總結下

來,利用GPU進行計算還是非常有必要的。


我們(men) 以Nvidia国产黄色在线观看的顯卡以及CUDA為(wei) 例子,因為(wei) 這些都是比較流行的東(dong) 西。CUDA是Nvidia国产黄色在线观看推出的類似於(yu) C語言之類的編程語

言,隻能用在Nvidia的顯卡上,而且隻有支持CUDA的顯卡才能計算,所以購買(mai) Nvidia国产黄色在线观看的顯卡前,需要先去查詢一下是否支持

CUDA開發。查詢網站:


下圖以一張想卡的結構,首先他有單獨的內(nei) 存,如Global Memory,Constant Memory, texture Memory。GPU無法共享CPU的

內(nei) 存,所以每次都需要調用CUDA的函數cudaMemcpy在GPU和CPU之間拷貝數據,而且這個(ge) 過程還是相當消耗時間的。一個(ge) GPU內(nei)

有一個(ge) Grid,Grid下包含多個(ge) Block,RTX 2060下就包含[2.1475e+09, 65536, 65536]個(ge) Block,他是三維的數組,總數是將其相乘。

然後每個(ge) Block下麵有一個(ge) Shared Memory,以及包含多個(ge) Register和Thread,如果經常要從(cong) Global Memory讀取數據也是緩慢的過

程,可以將數據放到Shared Memory加快讀寫(xie) 的速度,Thread是一個(ge) 單獨的線程,類似於(yu) CPU所說的8核16線程,而RTX 2060顯卡

的一個(ge) Block下線程個(ge) 數為(wei) [1024, 1024, 64]個(ge) 線程,如果在乘以Block的數量,可以看到一張顯卡下的線程個(ge) 數是遠遠超過CPU的,而

且從(cong) 之前觀察的GPU利用率來看,GPU的利用率最高也隻有2%左右,GPU還沒有充分發揮所用能力。



您可以通過我們(men) 的官方網站了解更多的国产欧美在线信息,或直接來電谘詢4006-888-532