【发布时间】:2017-06-27 09:18:06
【问题描述】:
我对 FP64 数据如何影响 warp 发出的内存访问感到有点困惑。
- 无论这些线程是执行 FP32 还是 FP64 计算,一个 warp 始终由 32 个线程组成。对吧?
- 我读到,每次 warp 中的线程尝试读/写全局内存时,warp 都会访问 128 个字节(32 个单精度浮点数)。对吧?
- 因此,如果 warp 中的所有线程都以合并的方式从内存中读取不同的单精度浮点数(总共 128 个字节),则 warp 将发出单个内存事务。对吧?
这是我现在的问题:
- 如果 warp 中的所有线程都尝试以合并的方式访问不同的双精度浮点数(总共 256 个字节)怎么办? warp 会发出两个内存事务 (128+128) 吗?
PS:我最感兴趣的是 Compute Capability 2.0+ 架构
【问题讨论】:
标签: cuda double gpgpu gpu-warp