2012-07-10 68 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

回答