在CUDA SDK中,有一个示例代码和演示幻灯片,可实现有效的一维缩减。我还在CUDA中看到了一些关于一维缩减和前缀扫描的论文和实现。
是否有高效的CUDA代码可用于减少密集的二维阵列?我们将非常感谢代码或相关论文的指示。
答案 0 :(得分:4)
我不知道你试图解决的问题到底是什么,但实际上你可以简单地将2D数组视为一个长的一维数组并使用SDK代码来减少操作。 CUDA中的简单数组只是具有特殊寻址规则的1D内存块 - 为什么不利用这个机会。
答案 1 :(得分:1)
矩阵缩减实现起来可能稍微简单一些,因为向量的行/列缩减可以独立完成。您可以让每个线程处理列/行(取决于矩阵主要维度方向)并合并内存读取。我怀疑你可以购买很多性能,而不需要纹理/恒定缓存,其中地方可能变得重要