Memory 你能得到多接近GPU理论内存带宽?

Memory 你能得到多接近GPU理论内存带宽?,memory,optimization,gpu,bandwidth,Memory,Optimization,Gpu,Bandwidth,假设你有一个内存受限的GPU内核,你能接近GPU的理论带宽吗?即使在2010年,他“只”获得了63GB/秒的带宽,这大约是他测试GPU(G80)带宽的73%,他声称峰值带宽为84.6GB/秒。哈里斯能进一步优化他的内核吗?是否有其他技术可能被提升/超出演示范围?例如,shfl类型说明?为什么他没有获得更高的带宽 文章声称,使用带有特斯拉C2050的试验机 “吞吐量受到内存带宽的限制,维持了大约75%的带宽 144 GB/s峰值内存带宽,而实际限制为85% 考虑DRAM刷新等开销时的峰值。” 这是

假设你有一个内存受限的GPU内核,你能接近GPU的理论带宽吗?即使在2010年,他“只”获得了63GB/秒的带宽,这大约是他测试GPU(G80)带宽的73%,他声称峰值带宽为84.6GB/秒。哈里斯能进一步优化他的内核吗?是否有其他技术可能被提升/超出演示范围?例如,shfl类型说明?为什么他没有获得更高的带宽

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

“吞吐量受到内存带宽的限制,维持了大约75%的带宽 144 GB/s峰值内存带宽,而实际限制为85% 考虑DRAM刷新等开销时的峰值。”

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

类似的线程:

运行只将数据写入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

缓存可能会导致速度减慢