Параллельное программирование. Лекция 10c. Синхронизация и балансировка нитей (OpenMP)

0 Просмотры
Издатель
Институт математики, механики и компьютерных наук им.И.И.Воровича ЮФУ http://mmcs.sfedu.ru. Лекции по параллельному программированию читает доцент кафедры алгебры и дискретной математики М.Э.Абрамян.
В лекциях используется электронный задачник по программированию Programming Taskbook http://ptaskbook.com
В лекции использованы материалы статьи А.Колосова, А.Карпова и Е.Рыжкова "32 подводных камня OpenMP при программировании на C++" https://www.viva64.com/ru/a/0054/
Дополнительные материалы доступны по ссылке http://edu.mmcs.sfedu.ru/course/view.php?id=74

Содержание: 00:00 Распространенные ошибки, возникающие при использовании технологии OpenMP. Первая группа: логические ошибки. Не включен режим поддержки OpenMP. Отсутствие директивы parallel. Отсутствие текста omp в директивах. 05:56 Отсутствие директивы for. Ненужное распараллеливание, зависимость последствий данной ошибки от настройки режима nested. 14:52 Неправильное применение директивы ordered. Попытка переопределения количества нитей после входа в параллельную область. Попытка одновременного использования общего ресурса. 21:38 Незащищенный доступ к общей памяти. Отсутствие директивы flush. Вторая группа ошибок: ошибки производительности. Ненужная директива flush. 26:05 Слишком частое применение критических секций. 33:05 Обзор заданий группы OMPBegin, связанных с вычислением двойных суммы. Необходимость балансировки нитей, вызванная различным объемом вычислений для различных слагаемых внешней суммы. 38:02 Первая подгруппа заданий: низкоуровневый вариант балансировки нитей (разбиение на полосы или на обратные полосы). 43:40 Вторая подгруппа заданий: использование директивы sections и балансировка, основанная на вычислении требуемого числа итераций для каждой нити. Третья подгруппа задач: использование опции schedule директивы for. 48:21 Вывод дополнительной информации в разделе отладки. Особенности создаваемых заготовок программ.
Категория
Обучение программированию
Комментариев нет.