Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом приложении приведены основные изменения, внесенные в спецификацию OpenMP C/C++ при переходе с версии 1.0 на версию 2.0. Следующие элементы являются новыми функциями, добавленными в спецификацию:
Запятые разрешены в директивах OpenMP.
Добавление пункта
num_threads. Это предложение позволяет пользователю запрашивать определенное количество потоков для параллельной конструкции.Директива threadprivate была расширена для принятия статических переменных области блока.
Массивы переменной длины C99 являются полными типами и могут быть указаны в любом месте, где разрешены полные типы, например, в списках предложений
, и (см. раздел 2.7.2 ). Частная переменная в параллельном регионе может быть помечена как частная снова в вложенной директиве.
Добавлено
copyprivateпредложение. Он предоставляет механизм использования частной переменной для трансляции значения от одного члена команды другим участникам. Это альтернатива использованию общей переменной для передачи значения, когда передача такой общей переменной может представлять сложность (например, в рекурсии, требующей другой переменной на каждом уровне). Условие copyprivate может присутствовать только в директивеsingle.Добавление подпрограмм omp_get_wtick и omp_get_wtime аналогично подпрограммам MPI. Эти функции необходимы для измерения времени на обычных часах.
Добавлено приложение со списком поведения, определяемого реализацией в OpenMP C/C++. Реализация необходима для определения и документирования его поведения в этих случаях.
Следующие изменения служат для уточнения или исправления функций в предыдущей спецификации API OpenMP для C/C++:
Уточнено, что поведение omp_set_nested и omp_set_dynamic при
omp_in_parallelвозврате ненулевого значения не определено.Уточнено вложение директив при использовании вложенного параллелизма.
Функции инициализации блокировки и уничтожения блокировки можно вызывать в параллельном регионе.
В приложение A добавлены новые примеры.