Книга: Описание языка PascalABC.NET
OpenMP: обзор
OpenMP: обзор
OpenMP – открытый стандарт для распараллеливания программ на многопроцессорных системах с общей памятью (например, на многоядерных процессорах). OpenMP реализует параллельные вычисления с помощью многопоточности: главный поток создает набор подчиненных потоков, и задача распределяется между ними.
OpenMP представляет собой набор директив компилятора, которые управляют процессом автоматического выделения потоков и данными, требуемыми для работы этих потоков.
В системе PascalABC.NET реализованы следующие элементы OpenMP:
* Конструкции для создания и распределения работы между потоками (директивы parallel for и parallel sections)
* Конструкции для синхронизации потоков (директива critical)
Директивы имеют следующий вид:
{$omp directive-name [опция[[,] опция]...]}
Здесь $omp означает то, что это директива OpenMP, directive-name – имя директивы, например parallel, после чего могут быть опции. Директива относится к тому оператору, перед которым она находится.
Примеры использования OpenMP находятся в папке Samples/OMPSamples
Ниже приводится описание директив.
Директива parallel for
Редукция в директиве parallel for
Параллельные секции и директива parallel sections
Синхронизация и директива critical
- OpenMP
- Глава 1. Обзор Ruby
- Обзор основных причин повреждения базы данных
- Первый просмотр: краткий обзор
- 4.1. Суть обзора задач в тайм-менеджменте. Основные понятия и определения
- 4.2. Инструменты создания обзора
- Глава 2 Выбираем рассылочный сервис (требования, обзор существующих решений и личные рекомендации)
- 12.4.1. Обзор
- typedef - КРАТКИЙ ОБЗОР
- Производство видеообзора продукта
- Структура программы: обзор
- ГЛАВА 1 Обзор средств взаимодействия процессов Unix