我正在尝试使用OpenMP并行化一个基于范围的for循环,通过将循环的每个迭代作为一个OpenMP段。我的目标是这样做:
#pragma omp parallel sections
{
for ( auto x : range ) {
#pragma omp section
// LOTS OF CODE HERE
}
}
然而,这并不起作用——编译器会抱怨该部分必须在#pragma omp sections结构内。我做错了什么,还是OpenMP不够聪明,不能理解这个部分位于for循环内?