|
|
Введение…………………………………………………………………………………………………………………………….
|
|
Параллельное программирование……………………………………………………………………………………
|
|
Написание параллельных программ………………………………………………………………………………..
|
|
Параллельные архитектуры…………………………………………………………………………………………….
|
|
OpenMP………………………………………………………………………………………………………………………………
|
|
Введение в OpenMP………………………………………………………………………………………………………..
|
|
Программная модель OpenMP…………………………………………………………………………………………
|
|
Как взаимодействуют потоки?………………………………………………………………………………………..
|
|
Основы OpenMP…………………………………………………………………………………………………………………
|
|
Синтаксис………………………………………………………………………………………………………………………
|
|
Параллельные регионы…………………………………………………………………………………………………..
|
|
Модель исполнения………………………………………………………………………………………………………..
|
|
Конструкции OpenMP…………………………………………………………………………………………………………
|
|
Условия выполнения………………………………………………………………………………………………………
|
|
Условия private, shared, default…………………………………………………………………………………….
|
|
Условие firstprivate……………………………………………………………………………………………………..
|
|
Конструкции OpenMP для распределения работ………………………………………………………………
|
|
Параллельный цикл for/DO……………………………………………………………………………………….
|
|
Параллельные секции……………………………………………………………………………………………….
|
|
Конструкция single……………………………………………………………………………………………………
|
|
Условия выполнения (2)………………………………………………………………………………………………..
|
|
Условие if…………………………………………………………………………………………………………………
|
|
Условие lastprivatе…………………………………………………………………………………………………….
|
|
Условие reduction……………………………………………………………………………………………………..
|
|
Условие schedule………………………………………………………………………………………………………
|
|
Условие ordered………………………………………………………………………………………………………..
|
|
Переменные окружения OpenMP…………………………………………………………………………………..
|
|
Библиотечные функции OpenMP ………………………………………………………………………………………
|
|
Зависимость по данным…………………………………………………………………………………………………….
|
|
Средства синхронизации в OpenMP…………………………………………………………………………………..
|
|
Критическая секция………………………………………………………………………………………………………
|
|
Атомарна секция…………………………………………………………………………………………………………..
|
|
Барьеры………………………………………………………………………………………………………………………..
|
|
Фиксация порядка выполнения……………………………………………………………………………………..
|
|
Конcтрукция flush…………………………………………………………………………………………………………
|
|
Расширенные возможности OpenMP………………………………………………………………………………….
|
|
Отладка OpenMP кода……………………………………………………………………………………………………….
|
|
Настройка производительности OpenMP кода……………………………………………………………………
|
|
Основной подход………………………………………………………………………………………………………….
|
|
Автоматическое расспаралеливание………………………………………………………………………………
|
|
Профилирование программы…………………………………………………………………………………………
|
|
Иерархия памяти…………………………………………………………………………………………………………..
|
|
Задачи………………………………………………………………………………………………………………………………
|
|
Задача 1………………………………………………………………………………………………………………………..
|
|
Задача 2………………………………………………………………………………………………………………………..
|
|
Задача 3………………………………………………………………………………………………………………………..
|
|
Задача 4………………………………………………………………………………………………………………………..
|
|
Задача 5………………………………………………………………………………………………………………………..
|
|
Задача 6………………………………………………………………………………………………………………………..
|
|
Параллельное программирование применяется тогда, когда для последовательной программы требуется уменьшить время ее выполнения, или когда последовательна программа, в виду большого объема данных, перестает помещаться в память одного компьютера. Направление развития в области высокопроизводительных вычислений как раз направлено на решение этих двух задач: создание мощных вычислительных комплексов с большим объемом оперативной памяти с одной стороны и разработка соответствующего ПО с другой. Подробнее ...