首頁  技術(shù)文章  CPU和GPU在GSW算法計(jì)算中的速度比較

CPU和GPU在GSW算法計(jì)算中的速度比較

發(fā)布時(shí)間:2021-05-27 08:33:04 瀏覽量:4652 作者:Paul

正文


這里主要是測試一下CPU和GPU計(jì)算的速度荐操。

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

GPU:RTX-2060宅倒,6G顯存,可用顯存為5G


計(jì)算平臺為Matlab 2019b屯耸,采用同一個(gè)GSW算法拐迁,進(jìn)行不同次數(shù)的循環(huán)。因?yàn)閿?shù)據(jù)前后是相關(guān)的疗绣,所以沒有主動采取并行運(yùn)算线召。但是從任

務(wù)管理器中觀察,Matlab有優(yōu)化過程多矮,計(jì)算中還是使用到多核缓淹。若只采用CPU計(jì)算,CPU利用率從0%變化到74%塔逃,GPU利用率幾乎

不變讯壶,大部分時(shí)間還是維持在0%。若采用GPU計(jì)算湾盗,CPU利用率0%變化到11%伏蚊,GPU變化率為偶爾跳到2%。




然后修改圖像尺寸格粪,看看數(shù)據(jù)大小對于時(shí)間的影響躏吊,循環(huán)次數(shù)保持在100




從上面兩張表格看,首先兩張表格的曲線都是線性增長的帐萎,其次當(dāng)數(shù)據(jù)量和計(jì)算次數(shù)增加后比伏,GPU的優(yōu)勢會越來越大。所以總結(jié)下

來吓肋,利用GPU進(jìn)行計(jì)算還是非常有必要的凳怨。


我們以Nvidia公司的顯卡以及CUDA為例子瑰艘,因?yàn)檫@些都是比較流行的東西是鬼。CUDA是Nvidia公司推出的類似于C語言之類的編程語

言肤舞,只能用在Nvidia的顯卡上,而且只有支持CUDA的顯卡才能計(jì)算均蜜,所以購買Nvidia公司的顯卡前李剖,需要先去查詢一下是否支持

CUDA開發(fā)。查詢網(wǎng)站:https://developer.nvidia.com/zh-cn/cuda-gpus


下圖以一張想卡的結(jié)構(gòu)囤耳,首先他有單獨(dú)的內(nèi)存篙顺,如Global Memory,Constant Memory充择, texture Memory德玫。GPU無法共享CPU的

內(nèi)存,所以每次都需要調(diào)用CUDA的函數(shù)cudaMemcpy在GPU和CPU之間拷貝數(shù)據(jù)椎麦,而且這個(gè)過程還是相當(dāng)消耗時(shí)間的宰僧。一個(gè)GPU內(nèi)

有一個(gè)Grid,Grid下包含多個(gè)Block观挎,RTX 2060下就包含[2.1475e+09, 65536, 65536]個(gè)Block琴儿,他是三維的數(shù)組,總數(shù)是將其相乘嘁捷。

然后每個(gè)Block下面有一個(gè)Shared Memory造成,以及包含多個(gè)Register和Thread,如果經(jīng)常要從Global Memory讀取數(shù)據(jù)也是緩慢的過

程雄嚣,可以將數(shù)據(jù)放到Shared Memory加快讀寫的速度晒屎,Thread是一個(gè)單獨(dú)的線程,類似于CPU所說的8核16線程现诀,而RTX 2060顯卡

的一個(gè)Block下線程個(gè)數(shù)為[1024, 1024, 64]個(gè)線程夷磕,如果在乘以Block的數(shù)量,可以看到一張顯卡下的線程個(gè)數(shù)是遠(yuǎn)遠(yuǎn)超過CPU的仔沿,而

且從之前觀察的GPU利用率來看坐桩,GPU的利用率最高也只有2%左右,GPU還沒有充分發(fā)揮所用能力封锉。



您可以通過我們的官方網(wǎng)站了解更多的產(chǎn)品信息绵跷,或直接來電咨詢4006-888-532

国产福利姬视频在线观看,国产原创激情在线观看网站,亚洲欧美日韩激色国产精品,日韩精品亚洲国产