2014-10-12 13 views
3

假設你有一個內存綁定的GPU內核,你可以接近GPU的規定理論帶寬?即使在Mark Harris's Optimising Parallel Reduction presentation他'只'獲得63GB /秒,這是他的測試GPU(G80),他聲稱84.6GB /秒的峯值帶寬的帶寬約73%。哈里斯能否進一步優化他的內核?有沒有其他技術可能會提出/超出演示範圍?例如__shfl類型的指令?爲什麼他沒有獲得更高的帶寬?您可以獲得與GPU理論內存帶寬有多接近?

This文章權利要求中,使用測試機具有特斯拉C2050

「吞吐量是存儲器帶寬的限制,維持在75%左右的 144 GB/s的峯值存儲器帶寬,相比於實際的限制在佔DRAM如刷新之類的開銷時達到峯值的85%。「

這是正確的嗎?作者沒有提供「85%實際帶寬限制」的來源,我還沒有找到任何其他提及它的來源。如果是這樣,還有什麼其他因素(假設你有一個非常優化的內核)會阻止你達到理論峯值帶寬?

回答

0

類似的線程:GPU Memory bandwidth theoretical vs practical

運行最少的內核只有一維的大載體寫入數據:

__global__ void kernel(int *out) { 
    int idx = threadIdx.x + blockIdx.x * blockDim.x; 
    out[idx] = idx%4; 
} 

上的GeForce GT 710,我得到了理論帶寬的0.9

實際12.9 GB/s。

可能有助於減緩理論(SPEC)14.4 GB/s的

一件事是緩存。