我正在使用OpenMP优化一些代码。如果在循环中遇到NO_VALUE
,我希望它能够跳出循环。但是编译器告诉我这在OpenMP中是不允许的。我该如何处理?
#pragma omp parallel
{
#pragma omp for reduction(+:functionEvaluation) schedule(dynamic) nowait
for (int j=m_colStart;j<m_colEnd+1;j++)
{
double d = command_->execute().toDouble();
if(d==NO_VALUE)
{
functionEvaluation = NO_VALUE;
break;
}
else
{
functionEvaluation += d;
}
delete command_;
}
}
我该怎么解决?谢谢!