你有多接近GPU理论内存带宽?

时间:2014-10-12 04:51:01

标签: memory optimization gpu bandwidth

假设你有一个内存绑定的GPU内核,你能达到GPU规定的理论带宽的距离是多少?即使在Mark Harris's Optimising Parallel Reduction presentation中,他只“达到63GB /秒,这大约是他测试GPU(G80)带宽的73%,他声称拥有84.6GB /秒的峰值带宽。哈里斯能否进一步优化他的内核?是否有其他技术可能超出/超出演示范围?例如__shfl类型说明?为什么他没有获得更高的带宽?

This文章声称,使用带有特斯拉C2050的测试机器

  

“吞吐量是内存带宽有限,维持在75%左右   144 GB / s峰值内存带宽,相比实际限制为85%   在考虑DRAM刷新等开销时达到峰值。“

这是对的吗?作者没有提供“85%实际带宽限制”的来源,我还没有找到任何其他提及它的内容。如果是这样,还有哪些因素(假设您有一个非常优化的内核)会阻止您达到理论峰值带宽?

1 个答案:

答案 0 :(得分:0)

类似的主题:GPU Memory bandwidth theoretical vs practical

运行仅将数据写入1D大向量的最小内核:

__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。

     

理论(规范)14.4 GB / s

可能导致减速的一件事是缓存。