第三维上的CUDA数组求和

时间:2014-09-24 19:10:13

标签: cuda

我是CUDA的新手。在第三维上编写快速3D数组求和程序时,我脑海中浮现出一些问题:

  1. 最自然的方法是将每个矩阵条目用作线程,每个线程在第3维上循环。在这种情况下,内存是否被认为是合并的?由于相邻线程访问相邻元素;他们只对循环变量有所了解。

  2. 为了提高性能,减少第三维肯定有帮助。

  3. 有没有可以使用的库?对于2D求和,使用cuBLAS被认为是一个不错的选择。我正在考虑强制类型转换,它欺骗编译器将内存视为2D数组,并使用cuBLAS中的矩阵向​​量乘法。

1 个答案:

答案 0 :(得分:1)

  1. 这是一个合并的阅读。

  2. 您可以以相同的方式使用cuBLAS。告诉GEMV第一个(未收缩的)维度是nx * ny。