0

以下のコードでは、エラーが発生します:unrecognized #pragma: #pragma omp reduction (+: sum)。関数自体はすでに並列化されているため、関数内のforループはparallel-for-loopではないことに注意してください。問題はどこにあるのでしょうか?

メインCPPファイル:

#include <omp.h>

int main ()
{
    #pragma omp parallel
    {
        function ();
    }
}

関数が定義されている別のcppファイル

#include <omp.h>

void function ()
{
    T priv_var;

    // some calculations

    #pragma omp reduction (+: sum)  // sum is a shared variable
    {
        for (;;)
        {
            sum = sum + priv_var;
        }
    }
}
4

1 に答える 1

0

試し#pragma omp parallel reduction (+: sum)てみましたが、うまくいきました。のいくつかの使用法reductionはここにあります:http://msdn.microsoft.com/en-us/library/88b1k8y5 (v = vs.80).aspx

于 2012-07-10T16:55:58.430 に答える