GPU程式設計
關於GPU的記憶體合併存取(coalescing),下列說明何者正確?
- A將兩個GPU的記憶體合而為一,使容量加倍
- B壓縮記憶體的資料以增加容量
- C當線程束中相鄰的執行緒讀取相鄰的位址時,可合併為較少次數的記憶體存取
查看答案與解析
正確答案:C. 當線程束中相鄰的執行緒讀取相鄰的位址時,可合併為較少次數的記憶體存取
GPU的記憶體是以32位元組或128位元組等成塊的單位進行讀寫。當線程束的32個執行緒各自讀取連續位址的4位元組時,合計128位元組的區塊只需1次到數次的存取即可讀完。若位址分散,每個執行緒就得讀取不同的區塊,連用不到的資料也一併搬運,有效頻寬會降到原來的幾分之一。
- A. 說的不是合併容量。
- B. 與壓縮無關。
- C. 正確。這是有效利用頻寬的基本原則。