Введение в методы параллельного программирования
: Информация
Опубликована: 05.04.2011 | Уровень: для всех | Стоимость: 490.00 руб. | Длительность: 14 дней
Учебное пособие содержит материал, для работы в области параллельного программирования.
Дается краткая характеристика принципов построения параллельных вычислительных систем, рассматриваются математические модели параллельных алгоритмов и программ для анализа эффективности параллельных вычислений, приводятся примеры конкретных параллельных методов для решения типовых задач вычислительной математики. Рекомендовано Советом учебно-методическим объединением классических университетов России по прикладной математике и информатике.
Цель: Для студентов, аспирантов и специалистов, изучающих и практически использующих параллельные компьютерные системы для решения вычислительно трудоемких задач.
План занятий
Занятие | Заголовок << | Дата изучения |
---|---|---|
- | ||
Лекция 1 | Введение
В лекции дается общая информация о курсе. Вводится понятие параллельных вычислений и разъясняется их необходимость. Рассказывается о сдерживающих факторах развития этой отрасли, а также предоставляется характеристика необходимых знаний и умений для работы в области вычислений
Оглавление | - |
Лекция 2 | Принципы построения параллельных вычислительных систем
Лекция посвящена рассмотрению принципов построения параллельных вычислительных систем (ПВС). Дана краткая характеристика способов достижения параллелизма, приведены примеры ПВС. Приводится классификация параллельных вычислительных систем, рассматриваются типовые топологии сетей передачи данных в ПВС.
Оглавление
| - |
Тест 118 минут | - | |
Лекция 3 | Моделирование и анализ параллельных вычислений
В лекции описывается модель вычислений в виде графа "операции – операнды". Приводятся основные показатели качества параллельных методов — ускорение (speedup), эффективность (efficiency), стоимость (cost) и масштабируемость (scalability) вычислений. Введенные понятия демонстрируются на примере учебной задачи нахождения частных сумм последовательности числовых значений
Оглавление
| - |
Тест 218 минут | - | |
Лекция 4 | Оценка коммуникационной трудоемкости параллельных алгоритмов
Лекция посвящена вопросам анализа информационных потоков, возникающих при выполнении параллельных алгоритмов. Дается общая характеристика механизмов передачи данных, проводится анализ трудоемкости основных операций обмена информацией, рассматриваются методы логического представления структуры многопроцессорных вычислительных систем.
Оглавление
| - |
Тест 321 минута | - | |
Лекция 5 | Параллельное программирование на основе MPI
В лекции рассматривается стандарт для программирования в системах с распределенной памятью MPI. Дается обзор истории возникновения и развития стандарта, а также перечисляются его основные возможности. Приводятся примеры программ, использующих рассматриваемый стандарт.
| - |
Лекция 6 | Операции передачи данных между процессами и производные типы данных в MPI
В лекции продолжается рассматриваться параллельное программирование на основе MPI. Рассказывается об операциях передачи данных между процессами и производных типах данных в MPI.
| - |
Лекция 7 | Управление группами, виртуальные топологии в MPI
Лекция посвящена управлению группами процессов и коммуникаторами, виртуальным топологиям и дополнительным возможностям MPI.
| - |
Тест 436 минут | - | |
Лекция 8 | Принципы разработки параллельных методов
В лекции рассматриваются базовые принципы разработки параллельных алгоритмов. Описываются основные понятия, подробно разбираются все этапы создания и анализа параллельных алгоритмов. Приводится пример применения обсуждаемых методов.
| - |
Тест 518 минут | - | |
Лекция 9 | Параллельные методы умножения матрицы на вектор
В лекции рассматривается задача умножения матрицы на вектор. Приводится постановка задачи и последовательный алгоритм ее решения. Описываются методы разделения матрицы между процессорами вычислительной системы, которые необходимы для параллельной реализации матричных операций. Далее излагаются три возможных подхода к параллельной реализации алгоритма умножения матрицы на вектор.
Оглавление
| - |
Тест 618 минут | - | |
Лекция 10 | Параллельные методы матричного умножения
В лекции рассматривается одна из основных задач матричных вычислений— умножение матриц. Приводится постановка задачи и дается последовательный алгоритм ее решения. Далее описываются возможные подходы к параллельной реализации алгоритма и подробно рассматриваются наиболее широко известные алгоритмы: алгоритм, основанный на ленточной схеме разделения данных, алгоритм Фокса (Fox) и алгоритм Кэннона (Cannon).
Оглавление
| - |
Тест 718 минут | - | |
Лекция 11 | Параллельные методы решения систем линейных уравнений
В лекции рассматривается задача решения систем линейных уравнений. Приводятся необходимые определения и постановка задачи. Описывается последовательный и параллельный варианты одного из прямых методов решения линейных систем общего вида – метода Гаусса. Далее дается описание последовательного и параллельного алгоритмов, реализующих итерационный метод сопряженных градиентов.
| - |
Тест 818 минут | - | |
Лекция 12 | Параллельные методы сортировки
В лекции рассматриваются различные алгоритмы сортировки данных. Излагаются как общие принципы, применяемые при распараллеливании, так и конкретные алгоритмы. Теоретически оценивается эффективность рассматриваемых алгоритмов. Приводятся и анализируются результаты вычислительных экспериментов.
| - |
Тест 924 минуты | - | |
Лекция 13 | Параллельные методы обработки графов
В лекции рассматриваются различные типовые задачи, возникающие при обработке графов. Приводятся алгоритмы, применяемые для решения этих задач, и обсуждаются пути их распараллеливания. Дается теоретическая оценка эффективности рассматриваемых алгоритмов. Анализируются результаты вычислительных экспериментов.
| - |
Тест 1027 минут | - | |
Лекция 14 | Параллельные методы решения дифференциальных уравнений в частных производных
В лекции рассматриваются вопросы организации параллельных вычислений для решения задач, в которых при математическом моделировании используются дифференциальные уравнения в частных производных. Для численного решения подобных задач обычно применяется метод конечных разностей (метод сеток), обладающий высокой вычислительной трудоемкостью. В лекции последовательно разбираются возможные способы распараллеливания сеточных методов на многопроцессорных вычислительных системах с общей и распределенной памятью. При этом большое внимание уделяется проблемам, возникающим при организации параллельных вычислений, анализу причин появления таких проблем и нахождению путей их преодоления. Для наглядной демонстрации излагаемого материала в качестве учебного примера рассматривается проблема численного решения задачи Дирихле для уравнения Пуассона.
| - |
Тест 1118 минут | - | |
Лекция 15 | Параллельные методы многоэкстремальной оптимизации
В лекции рассматриваются задачи минимизации функции, дается обзор методов их решения и программная реализация.
| - |
Лекция 16 | Программная система ПараЛаб для изучения и исследования методов параллельных вычислений
В лекции описывается программная система Параллельная Лаборатория (сокращенное наименование – ПараЛаб), которая предназначена для учебного применения студентами и преподавателями вузов в целях исследования и изучения параллельных алгоритмов решения сложных вычислительных задач в рамках лабораторного практикума по различным учебным курсам в области параллельного программирования.
Оглавление
| - |
Тест 1218 минут | - | |
5 часов | - |