4

在 CUDA SDK 中,有示例代码和演示幻灯片,用于高效的一维缩减。我还看过几篇关于 CUDA 中一维缩减和前缀扫描的论文和实现。

是否有有效的 CUDA 代码可用于减少密集的二维数组?指向代码或相关论文的指针将不胜感激。

4

2 回答 2

4

我不知道您究竟想解决什么问题,但实际上您可以简单地将 2D 数组视为一个长 1D 数组并使用 SDK 代码来减少操作。CUDA 中的简单数组只是具有特殊寻址规则的一维内存块——您为什么不利用这个机会。

于 2010-08-05T19:20:51.573 回答
1

矩阵归约可能更容易实现,因为可以独立完成对向量的行/列归约。您可以让每个线程处理列/行(取决于矩阵主要维度方向)并合并内存读取。我怀疑您是否可以在不使用局部性可能变得重要的纹理/常量缓存的情况下购买更多性能

于 2010-08-04T05:32:35.040 回答