我对如何通过FP64数据影响warp发出的内存访问感到困惑。
现在我的问题是:
PS:我最感兴趣的是Compute Capability 2.0+架构
答案 0 :(得分:1)
无论这些线程是什么,warp总是由32个线程组成 进行FP32或FP64计算。正确?
正确
我已经读过每次warp中的线程尝试读/写时 全局内存,warp访问128个字节(32个单精度 花车)。正确?
不完全是。还有32字节的事务大小。
因此,如果warp中的所有线程都在读取不同的单精度 从内存中浮动(总共128个字节)但是在合并中 方式,warp将发出单个内存事务。正确?
正确
如果warp中的所有线程尝试访问不同的内容,该怎么办? 双精度浮点数(总共256个字节)以合并的方式? warp会发出两个内存事务(128 + 128)吗?
是。编译器将发出64位加载指令,当可以合并内存访问时,每个warp将由两个128字节事务处理。