CUDA合并内存访问速度取决于字大小

CUDA合并内存访问速度取决于字大小,cuda,gpu,nvidia,gpgpu,Cuda,Gpu,Nvidia,Gpgpu,我有一个CUDA程序,其中一个warp需要访问(例如)96字节的全局内存 它正确地对齐内存位置和通道索引,以便在单个事务中合并和完成访问 该程序可以使用12条通道进行访问,每条通道访问一个uint8\t。或者,它将使用6条通道访问uint16,或者使用3条通道访问uint32 这些备选方案之间是否存在性能差异?如果每个线程访问的内存量较小,访问速度是否会更快 当每个warp需要访问的内存量不同时,优化它是否有好处,使线程尽可能访问更小的单元(16位或8位)?如果不知道数据在寄存器中如何使用,则很

我有一个CUDA程序,其中一个warp需要访问(例如)96字节的全局内存

它正确地对齐内存位置和通道索引,以便在单个事务中合并和完成访问

该程序可以使用12条通道进行访问,每条通道访问一个uint8\t。或者,它将使用6条通道访问uint16,或者使用3条通道访问uint32

这些备选方案之间是否存在性能差异?如果每个线程访问的内存量较小,访问速度是否会更快


当每个warp需要访问的内存量不同时,优化它是否有好处,使线程尽可能访问更小的单元(16位或8位)?

如果不知道数据在寄存器中如何使用,则很难说明最佳选项。对于几乎所有的GPU,这些选项之间的性能差异可能非常小

NVIDIA GPU L1支持从L1返回64字节/扭曲(CC5,6.)或128字节/扭曲(CC3,CC7.)。只要尺寸合适