对于下面的代码,我得到一个错误:unrecognized #pragma: #pragma omp reduction (+: sum)
。请注意,函数内部的 for 循环不是并行循环,因为函数本身已经并行化。你能说问题在哪里吗?
主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;
}
}
}