你能达到GPU理论内存带宽的多少?

3
假设您有一个受限于内存的GPU内核,您能接近GPU的理论带宽的多少?即使在Mark Harris的优化并行缩减演示中,他只获得了63GB/sec,这大约是他测试GPU(G80)的带宽的73%,他声称峰值带宽为84.6GB/sec。哈里斯是否可以进一步优化他的内核?还有其他可能太先进/超出演示范围的技术吗?例如__shfl类型指令?他为什么没有实现更高的带宽? 本文声称,使用一台Tesla C2050测试机器
“吞吐量受到内存带宽的限制,维持在约75%的144 GB/s峰值内存带宽水平,而实际上限则为85%,考虑到DRAM刷新等开销。”
这正确吗?作者没有提供“85%实际带宽限制”的来源,我也没能找到其他相关信息。如果是这样的话,假设你有一个非常优化的内核,还有哪些因素会阻止你达到理论峰值带宽?
1个回答

0
一个类似的线程:GPU内存带宽理论与实际 运行一个仅将数据写入1D大向量的最小内核:
__global__ void kernel( int *out ) {
    int idx =  threadIdx.x + blockIdx.x * blockDim.x;
    out[idx] = idx%4;
}

在GeForce GT710显卡上,我获得了0.9的理论带宽。

实际带宽为12.9GB/s。

理论带宽(规格)为14.4 GB/s

可能导致减速的其中一个因素是缓存。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接