Параллельное программирование на OpenMP [Автор неизвестен] (pdf) читать постранично

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Параллельное программирование на OpenMP

Оглавление
Введение.............................................................................................................................................. 3
Параллельное программирование................................................................................................ 3
Написание параллельных программ............................................................................................ 3
Параллельные архитектуры.......................................................................................................... 3
OpenMP................................................................................................................................................4
Введение в OpenMP....................................................................................................................... 4
Программная модель OpenMP......................................................................................................4
Как взаимодействуют потоки?..................................................................................................... 5
Основы OpenMP................................................................................................................................. 6
Синтаксис....................................................................................................................................... 6
Параллельные регионы................................................................................................................. 6
Модель исполнения....................................................................................................................... 7
Конструкции OpenMP........................................................................................................................ 7
Условия выполнения..................................................................................................................... 8
Условия private, shared, default.................................................................................................8
Условие firstprivate....................................................................................................................9
Конструкции OpenMP для распределения работ........................................................................9
Параллельный цикл for/DO.................................................................................................... 10
Параллельные секции............................................................................................................. 10
Конструкция single..................................................................................................................11
Условия выполнения (2)..............................................................................................................12
Условие if.................................................................................................................................12
Условие lastprivatе...................................................................................................................12
Условие reduction.................................................................................................................... 13
Условие schedule..................................................................................................................... 13
Условие ordered....................................................................................................................... 14
Переменные окружения OpenMP............................................................................................... 14
Библиотечные функции OpenMP ...................................................................................................14
Зависимость по данным................................................................................................................... 15
Средства синхронизации в OpenMP............................................................................................... 17
Критическая секция..................................................................................................................... 17
Атомарна секция.......................................................................................................................... 18
Барьеры......................................................................................................................................... 18
Фиксация порядка выполнения.................................................................................................. 18
Конcтрукция flush........................................................................................................................ 19
Расширенные возможности OpenMP..............................................................................................19
Отладка OpenMP кода......................................................................................................................20
Настройка производительности OpenMP кода..............................................................................20
Основной подход......................................................................................................................... 21
Автоматическое расспаралеливание..........................................................................................21
Профилирование программы......................................................................................................22
Иерархия памяти..........................................................................................................................22
Задачи................................................................................................................................................ 22
Задача 1......................................................................................................................................... 22
Задача 2......................................................................................................................................... 23
Задача 3......................................................................................................................................... 23
Задача 4......................................................................................................................................... 23
Задача 5......................................................................................................................................... 23
Задача 6......................................................................................................................................... 23

Введение
Параллельное программирование
Параллельное программирование применяется тогда, когда для последовательной
программы требуется уменьшить время ее выполнения, или когда последовательна
программа, в виду большого объема данных, перестает помещаться в память одного
компьютера. Направление развития в области высокопроизводительных вычислений как раз
направлено на решение этих двух задач: создание мощных вычислительных комплексов с
большим объемом оперативной памяти с одной стороны и разработка соответствующего ПО
с другой.
По сути весь вопрос заключается в минимизации соотношения цена/производительность.
Ведь всегда можно построить