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的執行緒,以不同資料資源執行相同的指令。
grid、block、thread:在利用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的體系結構
大規模並行處理器程式設計實戰 第2版 全面更新了並行程式設計方法和技術的內容。本書旨在綜述並行程式設計,展示了專業人士和學生都可以使用的一種程式設計思維,以此來指導並行程式設計和優化應用程式,從而使效能得到顯著提公升。本節為大家介紹現代gpu的體系結構。ad 1.2 現代gpu的體系結構 採用cud...
mysql 體系結構 了解MySQL體系結構
mysql 資料庫體系結構圖 mysql 由以下幾部分組成 1 connectors 不同語言中與 sql 的互動 show variables like connection variable name value character set connection utf8 collation c...
簡述mysql體系結構 MySQL體系結構
一 mysql登入方式 一 tcp ip方式 遠端 本地 mysql uroot poldboy123 h 10.0.0.51 p3306 二 socket方式 mysql uroot poldboy123 s tmp mysql.sock 二 例項介紹 例項 mysqld後台守護程序 主線程 ma...