OpenMP到CUDA:减少

时间:2012-12-09 23:42:17

标签: for-loop cuda openmp reduction

我正在试图弄清楚如何在CUDA中使用OpenMP的for reduction()等价物。我在网上做了一些研究,没有一个我尝试过的工作。代码:

    #pragma omp parallel for reduction(+:sum)
    for (i = 0; i < N; i++)
    {
        float f = ...  //store return from function to f
        out[i] = f;    //store f to out[i]
        sum += f;      //add f to sum and store in sum
    }

我知道for reduction()在OpenMP中的作用......它使for循环的最后一行成为可能。但是我如何使用CUDA来表达同样的事情?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用Thrust,CUDA附带的STL灵感库。有关如何执行缩减的示例,请参阅Quick Start Guide