我对 FP64 数据如何影响 warp 发出的内存访问感到有点困惑。
- 不管这些线程是在做 FP32 还是 FP64 计算,一个 warp 总是由 32 个线程组成。对?
- 我已经读过,每次经线中的线程尝试读/写全局内存时,经线访问 128 个字节(32 个单精度浮点数)。对?
- 因此,如果 warp 中的所有线程都以合并的方式从内存中读取不同的单精度浮点数(总共 128 个字节),则 warp 将发出单个内存事务。对?
这是我现在的问题:
- 如果 warp 中的所有线程都尝试以合并的方式访问不同的双精度浮点数(总共 256 个字节)怎么办?warp 会发出两个内存事务(128+128)吗?
PS:我最感兴趣的是 Compute Capability 2.0+ 架构