Параллельное программирование на OpenMP [Автор неизвестен] (pdf) читать постранично
- Параллельное программирование на OpenMP 284 Кб, 25с. скачать: (pdf) - (pdf+fbd) читать: (полностью) - (постранично) - Автор неизвестен
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
- 1
- 2
Параллельное программирование на 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
Введение
Параллельное программирование
Параллельное программирование применяется тогда, когда для последовательной
программы требуется уменьшить время ее выполнения, или когда последовательна
программа, в виду большого объема данных, перестает помещаться в память одного
компьютера. Направление развития в области высокопроизводительных вычислений как раз
направлено на решение этих двух задач: создание мощных вычислительных комплексов с
большим объемом оперативной памяти с одной стороны и разработка соответствующего ПО
с другой.
По сути весь вопрос заключается в минимизации соотношения цена/производительность.
Ведь всегда можно построить
Оглавление
Введение.............................................................................................................................................. 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
Введение
Параллельное программирование
Параллельное программирование применяется тогда, когда для последовательной
программы требуется уменьшить время ее выполнения, или когда последовательна
программа, в виду большого объема данных, перестает помещаться в память одного
компьютера. Направление развития в области высокопроизводительных вычислений как раз
направлено на решение этих двух задач: создание мощных вычислительных комплексов с
большим объемом оперативной памяти с одной стороны и разработка соответствующего ПО
с другой.
По сути весь вопрос заключается в минимизации соотношения цена/производительность.
Ведь всегда можно построить
- 1
- 2
Последние комментарии
6 часов 34 минут назад
12 часов 19 минут назад
13 часов 26 минут назад
14 часов 23 минут назад
14 часов 38 минут назад
23 часов 48 минут назад