Разница между этими двумя конструкциями OpenMP - PullRequest
2 голосов
/ 16 июня 2011

Есть ли причина использовать 2-ю конструкцию, если у меня есть только 1 для цикла и ничего больше? Спасибо!

#pragma omp parallel for
// for loop goes here


#pragma omp parallel  
{  
  #pragma omp for  
  // for loop goes here
}

Ответы [ 2 ]

3 голосов
/ 16 июня 2011

В большинстве реализаций первая структура будет иметь только один неявный барьер, а вторая может иметь два (в зависимости от того, насколько хороша реализация при удалении избыточных барьеров). Если реализация хороша, вы не должны видеть никакой разницы между ними.

1 голос
/ 21 июня 2011

Я второй, что сказал Эйд. Я бы добавил тот факт, что можно использовать предложение nowait, чтобы потоки не синхронизировались в конце параллельного цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...