GPU程式設計
在CUDA中決定每個區塊的執行緒數量時,下列何者是正確的一般準則?
- A設為線程束大小32的倍數(如128或256等)
- B必定設為1
- C必定設為質數
查看答案與解析
正確答案:A. 設為線程束大小32的倍數(如128或256等)
區塊的執行緒會以每32個分成線程束,因此例如設為100個時,最後一個線程束只用了4個,其餘28個的執行名額就浪費了。若設為32的倍數,每個線程束都能用滿。實務上常用128~256個左右,並視佔用率與共享記憶體的使用方式來調整。
- A. 正確。避免產生零碎的線程束。
- B. 只有1個執行緒時,線程束的31個會被浪費。
- C. 設為質數會產生零碎的線程束。