請問 CUDA 每個 block 可使用多少 shar … - 顯卡

Skylar Davis avatar
By Skylar Davis
at 2010-06-03T08:47

Table of Contents

※ 引述《HsiaoCC (Learning To Live)》之銘言:
: ※ 引述《jk21234 ( 1569 11 /47)》之銘言:
: : 所以,SM和Block在"某個時段內,獨佔的1:1執行"
: : 如果你覺得不容易理解,它還蠻接近一顆cpu執行多工的方式.
: : 切換也應該是context switch.有同樣的缺點就是切換再怎麼頻繁,
: : 對幾百MHZ的晶片來說,都是巨大的效能損失.....
: : (如果我沒記錯,cuda文件有描述context switch部分...)
: : 所以也不用擔心你在程式中使用不到16KB的shared memory.
: 來閒扯一下他背後的運作,就 GT200 系列來說
: 每個 SM 在 resource 允許的情況下,最多能同時保持 1,024 個 computing threads
: 且每次 SM 最多只允許抓取 8 個 blocks,且不能超過 resource limitation
恕刪~
: 回到正題,shared memory 如果需求的量超過,是沒辦法被執行的,只能等到在 SM 中
: 的工作都做完,resource release 了才行~~~

我把我瞭解到的說一下,請各位看看對不對

GT200系列 每個 SM 有 16K 個 register 與 16KB shared memory
SM 能同時能保持 8 個 block,總計 1024 個 computing threads
這四者都是 resource limitation

假如今天我寫一個 kernel 用了 16KB shared memory
總共產生有 1024 block,每個 block 128 thread
那麼 SM 就只能抓取 1 個 block 來執行 (因為 shared memory 到達上限)
(雖然 thread 總數...等還沒有到達上限)

而這個 CUDA 程式很可能使 SM 有很多 stall
因為 128 thread 可能不足以 hide latency


--
Tags: 顯卡

All Comments

Ida avatar
By Ida
at 2010-06-03T17:07
google了一下每個block的上限就是總共16K,超過應該不能跑
Tracy avatar
By Tracy
at 2010-06-03T23:05
我沒寫過CUDA,但OpenCL的情況是會直接return error
Bennie avatar
By Bennie
at 2010-06-07T09:26
若你指的是所有threads總共用16K,那情況會跟你寫的一樣~
Jacky avatar
By Jacky
at 2010-06-07T21:33
眼殘,應該是若每個block裡的threads共用了16K~~~
Skylar DavisLinda avatar
By Skylar DavisLinda
at 2010-06-09T02:26
share mem是給每個block用的, 你假如的那句就有問題

如何換回舊驅動?

Harry avatar
By Harry
at 2010-06-03T02:01
用了10.5之後影片快轉都有機會當機 想換回10.4 但是我用Driver Sweeper 清掉之後 開機(w7)會出現一個cmd 問你要不要開啟AMD T什麼的東西 嘗試過按N跟Y 都無法灌10.4 有無CCC的都不能關 安裝的時候他掃完硬體 就直接完成了 = = 還寫成功 但是關閉的時候沒提示 ...

請問 CUDA 每個 block 可使用多少 shar …

Hazel avatar
By Hazel
at 2010-06-03T01:10
※ 引述《jk21234 ( 1569 11 /47)》之銘言: : ※ 引述《mself (mself)》之銘言: : : 就我瞭解,SM 跟 block 有對應,但好像不是 1 對 1, : : 數個 block 會一起在一個 SM 上輪流執行, : 所以,SM和Block在and#34;某個時段內,獨佔 ...

請問 CUDA 每個 block 可使用多少 shar …

Sierra Rose avatar
By Sierra Rose
at 2010-06-03T00:49
※ 引述《mself (mself)》之銘言: : ※ 引述《jk21234 ( 1569 11 /47)》之銘言: : : SM跟Block一對一 一個是硬體性質一個是軟體定義 : : 所以每個SM/Block能用的Shared memory都一樣是16KB. : : 放1024個block在比如說16個S ...

請問顯卡該買哪一張?

Lydia avatar
By Lydia
at 2010-06-03T00:20
大家好 我的電腦是桌機 昨天使用時突然瑩幕瞬間暗下來 暗到只有湊到很近才勉強看得到還有一些些畫面 我將瑩幕換到別台電腦去試,瑩幕是好的 那應該是顯卡壞了對吧? 我電腦用4年,心想一直都有在操顯卡 也差不多該換了 我是重度adobe系列的使用者 偶爾也會使用3d max 不玩電動 希望能請教大家該換那一塊比較 ...

請問 CUDA 每個 block 可使用多少 shar …

Skylar DavisLinda avatar
By Skylar DavisLinda
at 2010-06-03T00:04
※ 引述《jk21234 ( 1569 11 /47)》之銘言: : ※ 引述《mself (mself)》之銘言: : : NVIDIA 一張顯卡上有 1~20 個 stream multiprocessor (SM),視顯卡型號而異 : : 每個 SM 有 16KB 大小的 shared memory : ...