Maj*_*imi 6 parallel-processing cuda gpu reduction
我正在阅读 Mark Harris 的关于优化 CUDA 中的并行缩减的演示文稿。这是一张我有问题的幻灯片:
它说这种方法存在银行冲突问题。但为什么?所有线程都在访问位于不同库中的两个连续内存单元。它们都不会同时访问特定的存储单元。
本演示文稿可追溯到 CUDA 的早期,适用于第一代硬件。
该硬件具有排列在 8 个 32 位组中的共享内存。因为共享数组中的每第八个条目都驻留在同一组中,所以在该归约树的多个级别上都存在组冲突。
这个问题在较新的硬件中得到解决,其中银行的数量扩大到 32,这意味着不会发生这种银行冲突。