日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

gpu的单位表示_GPU编程1--GPU中的基本概念

發(fā)布時(shí)間:2025/3/20 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gpu的单位表示_GPU编程1--GPU中的基本概念 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

硬件資源

在硬件上,GPU的資源有SP和SM。SP:最基本的處理單元,streaming processor,也稱為CUDA core。最后具體的指令和任務(wù)都是在SP上處理的。GPU進(jìn)行并行計(jì)算,也就是很多個(gè)SP同時(shí)做處理。我們所說(shuō)的幾百核心的GPU值指的都是SP的數(shù)量;

SM:多個(gè)SP加上其他的一些資源組成一個(gè)streaming multiprocessor。也叫GPU大核,其他資源如:warp scheduler,register,shared memory等。SM可以看做GPU的心臟(對(duì)比CPU核心),register和shared memory是SM的稀缺資源。CUDA將這些資源分配給所有駐留在SM中的threads。因此,這些有限的資源就使每個(gè)SM中active warps有非常嚴(yán)格的限制,也就限制了并行能力。

每個(gè)SM包含的SP數(shù)量依據(jù)GPU架構(gòu)而不同,Fermi架構(gòu)GF100是32個(gè),GF10X架構(gòu)是48個(gè),Kepler架構(gòu)是192個(gè),Maxwell架構(gòu)是128個(gè),Turing架構(gòu)是64個(gè)。相同架構(gòu)的GPU包含的SM數(shù)量則根據(jù)GPU的中高低端來(lái)定。下圖是Turing架構(gòu)的SM。

軟件資源

從軟件上看,即GPU的線程模型,可以分為Grid、Block、Thread和Warp,其中前三個(gè)用下面的圖表示非常的直觀。Thread:一個(gè)CUDA的并行程序會(huì)被以許多個(gè)threads來(lái)執(zhí)行

Block:數(shù)個(gè)threads會(huì)被群組成一個(gè)block,同一個(gè)block中的threads可以同步,也可以通過(guò)shared memory通信

Grid:多個(gè)blocks則會(huì)再構(gòu)成Grid

Warp:GPU執(zhí)行程序時(shí)的調(diào)度單位,同一個(gè)warp里的線程執(zhí)行相同的指令,即SIMT。

舉一個(gè)比較形象的例子,把GPU當(dāng)做一個(gè)學(xué)校,學(xué)校里面有不同的年紀(jì)(Grid),每個(gè)年紀(jì)有幾個(gè)班(Block),每個(gè)班都有很多的學(xué)生(Thread),平時(shí)干值日要分不同的組(Warp),目前又給Warp中,有32個(gè)線程,即一個(gè)班中32個(gè)同學(xué)為一組一起干值日。

存儲(chǔ)資源

每一個(gè)Thread都有自己的local memory和resigters,即每個(gè)同學(xué)都可以把自己的東西放到自己的課桌上;每一個(gè)Block有shared memory,這個(gè)Block中的所有Thread都可以訪問(wèn),即每個(gè)班所在的教室里的走道、講臺(tái)等,是這個(gè)班里同學(xué)們的公共區(qū)域;Grid之間會(huì)有Global memory和Cache,所有的Grid都可以訪問(wèn),即學(xué)校里的操場(chǎng)、餐廳等,是全校同學(xué)的公共區(qū)域。

GPU模型總結(jié)

我們把GPU跟一個(gè)學(xué)校對(duì)應(yīng)起來(lái),學(xué)校里有教學(xué)樓、操場(chǎng)、食堂,還有老師和學(xué)生們;很快有領(lǐng)導(dǎo)來(lái)檢查,因此這個(gè)學(xué)校的學(xué)生們要完成打掃除的工作。

軟件資源包括Thread、Warp、Block和Grid,硬件資源包括SP和SM。

軟件資源和硬件資源的最小單位我們都認(rèn)為是學(xué)生,即一個(gè)Thread對(duì)應(yīng)一個(gè)SP(SP可以分為更小的ALU等,我們這里先不考慮)。

Block對(duì)應(yīng)的是班級(jí),Warp是班級(jí)里的不同小組,每個(gè)小組有32個(gè)學(xué)生;SM是教學(xué)樓的一個(gè)樓層,一個(gè)樓層上可以有多個(gè)班級(jí);一個(gè)Grid是一個(gè)年級(jí),年級(jí)和樓層并沒(méi)有確定的對(duì)應(yīng)關(guān)系。

每個(gè)學(xué)生都有個(gè)課桌 ,放自己的物品,不能讓別人用,表示每個(gè)Thread都有自己的空間(local memory + registers);

每個(gè)班級(jí)在一個(gè)教室里,教室里的有公共的空間(走道、講臺(tái)等),所有同學(xué)都可以停留,表示一個(gè)Block中有shared memory,這個(gè)Block中的Thread都可以訪問(wèn);

學(xué)校里的公共區(qū)域,比如操場(chǎng)、食堂等,所有同學(xué)都可以去運(yùn)動(dòng)、吃飯,表示GPU中有一些公共的存儲(chǔ)空間供所有的Grid訪問(wèn)。

雖然GPU是并行運(yùn)行,但也并不是我們理想中所有的Thread一起工作,在打掃衛(wèi)生時(shí),并不是所有學(xué)生一起干活,一個(gè)樓層同一時(shí)刻只能有一組32個(gè)學(xué)生(即一個(gè)Warp)干活,其他的學(xué)生都處于等待狀態(tài)。

歡迎關(guān)注微信公眾號(hào):Quant_Times

總結(jié)

以上是生活随笔為你收集整理的gpu的单位表示_GPU编程1--GPU中的基本概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。