Код: Выделить всё
void iterate(bool parallelize) {
#pragma omp parallel for if(parallelize)
for(int i = 0; i < 1000; ++i) f(i);
}
Код: Выделить всё
void iterate() {
#pragma omp for
for(int i = 0; i < 1000; ++i) f(i);
}
int main() {
#pragma omp parallel
{
iterate(); // parallel
}
iterate(); // not parallel
}
edit:
Вопрос о том, может ли OMP для на законных основаниях. В качестве альтернативного способа условной параллелизации, чем пункт OpenMP if () .
Подробнее здесь: https://stackoverflow.com/questions/796 ... f-parallel
Мобильная версия