Sam*_*n I 5 cuda coalescing
您能解释一下在CUDA编程中使用"L1和L2"缓存或"仅L2"缓存之间的区别吗?在时间执行中我应该期待什么?我什么时候能期望更小的gpu时间?当我启用L1和L2缓存或只启用L2?谢谢
Tom*_*Tom 9
通常,您将启用L1和L2缓存.您应该尝试尽可能地合并内存访问,即warp中的线程应尽可能多地访问同一128B段中的数据(有关此主题的更多信息,请参阅CUDA编程指南).
某些程序无法以这种方式进行优化,例如,它们的内存访问完全是随机的.对于这些情况,绕过L1高速缓存可能是有益的,从而避免在您只需要时加载整个128B线路,例如4个字节(由于这是最小的,您仍将加载32B).显然有一个效率增益:来自128的4个有用字节从32提高到4.
归档时间:
13 年,6 月 前
查看次数:
1873 次
最近记录: