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