2012-07-10 63 views
0

對於下面的代碼,我得到一個錯誤:unrecognized #pragma: #pragma omp reduction (+: sum)。請注意,函數內部的for-loop不是並行for循環,因爲函數本身已經被並行化了。你能說這個問題在哪裏嗎?無法識別的附註:減少子句| openMP

主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; 
     } 
    } 
} 
+0

您正在使用哪種編譯器? – Holger 2016-02-06 06:41:57

回答