我正在使用 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_;
}
}
我该如何解决?谢谢!