Введение в параллельные вычисления
В первой части спецкурса рассматриваются практические технологии параллельного программирования такие как OpenMP, MPI и др. Во второй части спецкурса рассматриваются теоретические вопросы построения параллельных алгоритмов. Вводится понятие параллельной машины с произвольным доступом (с общей памятью) PRAM. На базе этой модели изучается ряд параллельных алгоритмов обработки массивов, списков, деревьев и Lock-Base и Lock-Free реализации структур данных.
На практических занятиях студенты выполняют задания по разработке параллельных алгоритмов и программ с использованием технологий OpenMP и MPI на языке С++. Решение задач осуществляется с помощью удаленного доступа по протоколу ssh к кластеру КарНЦ РАН.
Список литературы.
- Т. Кормен, Ч. Лейзерсон, Р. Ривест Алгоритмы : построение и анализ. М. МЦНМО 1999 г.
- Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ-Петербург, 2002.
- В.П. Гергель, Р.Г. Стронгин Основы параллельных вычислений для многопроцессорных вычислительных систем. Учебное пособие. Издание 2-е, дополненное. Издательство Нижегородского госуниверситета Нижний Новгород 2003.
- Кнут Д. Искусство программирования для ЭВМ. Т.1, 3. Основные алгоритмы. Сортировка и поиск. - М.: Вильямс, 2001.
- М. П. Левин. Параллельное программирование с использованием OpenMP. М. 2008.
- А.С. Антонов. Параллельное программирование с использованием технологии MPI. МГУ, 2004 г.
- А.С. Антонов. Параллельное программирование с использованием технологии OpenMP. МГУ, 2009 г.
- В.Д. Корнеев. Параллельное программирование в MPI. Новосибирск, СО РАН, 2000.
- М.Э. Абрамян. Практикум по параллельному программированию с использованием электронного задачника Programming Taskbook for MPI. Изд.-во Южного федерального университета, 2010.
- Maurice Herlihy, Nir Shavit. The Art of Multiprocessor Programming. Изд.–во Elsevier, 2008 .