Содержание курса
- Принципы построения параллельных вычислительных систем
Рассматриваются методы повышения производительности вычислительных систем. Вводится понятие умножения количества элементарных устройств вычислительной системы. Обсуждаются возможности и ограничения вычислительных систем векторного типа, систем с общей памятью (включая NUMA системы), распределённых вычислительных систем. - Принципы разработки параллельных методов
Рассматриваются основные принципы разработки параллельных алгоритмов. Даются необходимые определения, разбираются этапы создания и анализа параллельных алгоритмов. - Оценка коммуникационной трудоемкости параллельных алгоритмов
Рассматриваются информационные потококи, возникающих при выполнении параллельных алгоритмов на многопроцессорной вычислительной системе. Производится анализ трудоемкости основных операций обмена данными и оценивается время выполнения параллельного приложения. - Параллельное программирование на основе MPI
- Параллельные методы умножения матрицы на вектор
- Параллельные методы матричного умножения
- Решение систем линейных уравнений
- Решение конечно-разностных численных схем
Практические работы
- Вводная работа
- Реализация параллельного приложения
- Параллельная программа решения системы линейных алгебраических уравнений
Рекомендуемая литература
- Foster I. Designing and Building Parallel Programs: Concepts and Tools for Software Engineering. -- Reading, MA: Addison-Wesley, 1995 (HTTP)
- Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. -- СПб.: БХВ-Петербург, 2002
- Немнюгин С., Стесик О. Параллельное программирование для многопроцессорных вычислительных систем. -- СПб.: БХВ-Петербург, 2002
- Корнеев В.В. Параллельное программирование в MPI. -- М. – Ижевск: Институт компьютерных исследований, 2003
- Богачев К.Ю. Основы параллельного программирования. -- М.: БИНОМ. Лаборатория знаний, 2003