Поделиться через


F. Новые функции и разъяснения в версии 2.0

Это приложение приведены ключевые изменения, внесенные в спецификации OpenMP C/C++ в перемещение из версии 1.0 до версии 2.0. Следующие элементы новых функций, добавленных в спецификации:

  • Запятые (разрешены в рекомендациях по OpenMPРаздел 2.1 на странице 7).

  • Сложение num_threads предложение. Это предложение позволяет пользователю запросить определенное количество потоков для параллельной конструкции (Раздел 2.3 на странице 8).

  • threadprivate директива была расширена для принятия статические переменные (блок-областиРаздел 2.7.1 на странице 23).

  • Массивы переменной длины C99 полные типы, и, таким образом, может быть в любом месте, где допускаются полными указанными типами, например в списках private" firstprivateи lastprivate предложения (Раздел 2.7.2 на странице 25).

  • Закрытая переменная в параллельной области может быть помечена как закрытыми в директиве (вложенныхРаздел 2.7.2.1 на странице 25).

  • copyprivate предложение был добавлен. Он предоставляет механизм для использования закрытой переменной вещать значение из одного члена группы к другим участникам. Альтернативы использованию общей переменной для значения, когда защита ту общую переменную будет трудн (например, в рекурсии, требующих другой переменной на каждом уровне). copyprivate предложение может появляться только на Одинарный директива (Раздел 2.7.2.8 на странице 32).

  • Добавление процедур времени omp_get_wtick и omp_get_wtime аналогично подпрограммам MPI. Эти функции, необходимые для выполнения реальное (разРаздел 3.3.1 на странице 44 и Разделе 3.3.2 на странице 45).

  • Добавленный приложения со списком реализация-определенных расширений функциональности в OpenMP C/C++. Выполнение определяет реализацию и документ его функциональности в этих случаях (Для всех приложений на странице 97).

  • Следующие изменения служат прояснить или исправить функции в предыдущей спецификации API OpenMP для C/C++.

    • Уточюнено, что функциональности omp_set_nested и omp_set_dynamic после omp_in_parallel возвращает ненулевое препроцессора (Раздел 3.1.7 на странице 39. Раздел 3.1.9 на странице 40).

    • Уточюненное директива вложение, когда вложенная будет использоваться (параллельныхРаздел 2.9 на странице 33).

    • Инициализация блокировки и функции удаления блокировки можно вызвать в области стеки (Раздел 3.2.1 на странице 42 и Раздел 3.2.2 на странице 42).

    • Новые добавленные (примерыПриложение A на странице 51).