假设你有一个内存绑定的GPU内核,你能离GPU的理论带宽有多近?即使在Mark Harris的优化并行约简表示,他“只”获得63 in /秒的带宽,这大约是他的测试GPU (一个G80)带宽的73%,他声称它的峰值带宽为84.6GB/秒。哈里斯还能进一步优化他的内核吗?是否有其他技术可能是先进的/超出介绍范围的?例如__shfl类型的指令?为什么他没有获得更高的带宽?
这文章声称,使用带有特斯拉C2050的测试机器
吞吐量是内存带宽有限的,维持144 GB/s峰值内存带宽的75%左右,而在DRAM刷新等开销中,实际限制为峰值的85%。
这是正确的吗?作者没有提供"85%的实际带宽限制“的来源,我也没有找到任何提到它的东西。如果是这样的话,还有哪些其他因素(假设您有一个非常优化的内核)会阻止您达到理论峰值带宽?
发布于 2017-07-27 14:31:57
类似的线程:GPU内存带宽理论与实践
运行只将数据写入一维大向量的最小内核:
__global__ void kernel( int *out ) {
int idx = threadIdx.x + blockIdx.x * blockDim.x;
out[idx] = idx%4;
}在GeForce GT 710上,我得到了理论带宽的0.9
实用12.9GB/s。 理论(规范) 14.4 GB/s
有一件事可能会导致速度减慢,那就是缓存。
https://stackoverflow.com/questions/26321992
复制相似问题