GPU中与CUDA相关的几个概念
GPU中與CUDA相關(guān)的幾個(gè)概念
標(biāo)簽: cudathread任務(wù)編程存儲(chǔ) 2012-06-04 12:42 2998人閱讀 評(píng)論(0) 收藏 舉報(bào) 分類(lèi): GPU(284) 計(jì)算機(jī)系統(tǒng)(78) 硬件相關(guān)(189) 其它文章(1331)今天說(shuō)說(shuō)GPU的硬件結(jié)構(gòu)中與CUDA相關(guān)的幾個(gè)概念:thread??? block? grid?? warp? sp ?sm
sp: 最基本的處理單元,streaming processor 最后具體的指令和任務(wù)都是在sp上處理的。GPU進(jìn)行并行計(jì)算,也就是很多個(gè)sp同時(shí)做處理
sm:多個(gè)sp加上其他的一些資源組成一個(gè)sm, streaming multiprocessor. 其他資源也就是存儲(chǔ)資源,共享內(nèi)存,寄儲(chǔ)器等。
warp:GPU執(zhí)行程序時(shí)的調(diào)度單位,目前cuda的warp的大小為32,同在一個(gè)warp的線(xiàn)程,以不同數(shù)據(jù)資源執(zhí)行相同的指令。
thread-->block-->grid:在利用cuda進(jìn)行編程時(shí),一個(gè)grid分為多個(gè)block,而一個(gè)block分為多個(gè)thread。其中任務(wù)劃分到是否影響最后的執(zhí)行效果。劃分的依據(jù)是任務(wù)特性和GPU本身的硬件特性。
下面幾張硬件結(jié)構(gòu)簡(jiǎn)圖 便于理解(圖片來(lái)源于網(wǎng)上)
以上兩圖可以清晰地表示出sm與sp的關(guān)系。
此圖反應(yīng)了warp作為調(diào)度單位的作用,每次GPU調(diào)度一個(gè)warp里的32個(gè)線(xiàn)程執(zhí)行同一條指令,其中各
個(gè)線(xiàn)程對(duì)應(yīng)的數(shù)據(jù)資源不同。
此圖是一個(gè)warp排程的例子。
一個(gè)sm只會(huì)執(zhí)行一個(gè)block里的warp,當(dāng)該block里warp執(zhí)行完才會(huì)執(zhí)行其他block里的warp。
進(jìn)行劃分時(shí),最好保證每個(gè)block里的warp比較合理,那樣可以一個(gè)sm可以交替執(zhí)行里面的warp,從而提高
效率,此外,在分配block時(shí),要根據(jù)GPU的sm個(gè)數(shù),分配出合理的block數(shù),讓GPU的sm都利用起來(lái),提
利用率。分配時(shí),也要考慮到同一個(gè)線(xiàn)程block的資源問(wèn)題,不要出現(xiàn)對(duì)應(yīng)的資源不夠。
總結(jié)
以上是生活随笔為你收集整理的GPU中与CUDA相关的几个概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 高颜值在线绘图平台ImageGP系列教程
- 下一篇: 如何快速从基因组中提取基因、转录本、蛋白