Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки? Спасибо! |
Автор: Виктор Гергель | Нижегородский государственный университет им. Н.И.Лобачевского
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
Вам нравится? Нравится 16 студентам
Уровень:
Специалист
Длительность:
4:12:00
Студентов:
1491
Выпускников:
74
Качество курса:
4.45 | 4.09
Учебное пособие содержит материал, для работы в области параллельного программирования.
Дается краткая характеристика принципов построения параллельных вычислительных систем, рассматриваются математические модели параллельных алгоритмов и программ для анализа эффективности параллельных вычислений, приводятся примеры конкретных параллельных методов для решения типовых задач вычислительной математики. Рекомендовано Советом учебно-методическим объединением классических университетов России по прикладной математике и информатике.
Специальности: Программист
ISBN: 978-5-94774-645-7
Теги: efficiency, mpi, speedup, алгоритмы, виртуальные топологии, вычисления, задача Дирихле, метод сопряженных градиентов, многопроцессорные вычислительные системы, последовательный алгоритм, программирование, производный тип данных, разработка, система с распределенной памятью, сортировка, стандарты, топология, топология сети передачи данных
План занятий
Занятие
Заголовок <<
Дата изучения
Введение
В лекции дается общая информация о курсе. Вводится понятие параллельных вычислений и разъясняется их необходимость. Рассказывается о сдерживающих факторах развития этой отрасли, а также предоставляется характеристика необходимых знаний и умений для работы в области вычислений
Оглавление
-
Принципы построения параллельных вычислительных систем
Лекция посвящена рассмотрению принципов построения параллельных вычислительных систем (ПВС). Дана краткая характеристика способов достижения параллелизма, приведены примеры ПВС. Приводится классификация параллельных вычислительных систем, рассматриваются типовые топологии сетей передачи данных в ПВС.
Оглавление
- Пути достижения параллелизма
- Примеры параллельных вычислительных систем
- Классификация вычислительных систем
- Характеристика типовых схем коммуникации в многопроцессорных вычислительных системах
- Характеристика системных платформ для построения кластеров
- Краткий обзор лекции
- Контрольные вопросы
- Задачи и упражнения
- Обзор литературы
-
Моделирование и анализ параллельных вычислений
В лекции описывается модель вычислений в виде графа "операции – операнды". Приводятся основные показатели качества параллельных методов — ускорение (speedup), эффективность (efficiency), стоимость (cost) и масштабируемость (scalability) вычислений. Введенные понятия демонстрируются на примере учебной задачи нахождения частных сумм последовательности числовых значений
Оглавление
- Модель вычислений в виде графа "операции – операнды"
- Описание схемы параллельного выполнения алгоритма
- Определение времени выполнения параллельного алгоритма
- Показатели эффективности параллельного алгоритма
- Учебный пример. Вычисление частных сумм последовательности числовых значений
- Оценка максимально достижимого параллелизма
- Анализ масштабируемости параллельных вычислений
- Краткий обзор лекции
- Контрольные вопросы
- Задачи и упражнения
- Обзор литературы
-
Оценка коммуникационной трудоемкости параллельных алгоритмов
Лекция посвящена вопросам анализа информационных потоков, возникающих при выполнении параллельных алгоритмов. Дается общая характеристика механизмов передачи данных, проводится анализ трудоемкости основных операций обмена информацией, рассматриваются методы логического представления структуры многопроцессорных вычислительных систем.
Оглавление
- Общая характеристика механизмов передачи данных
- Анализ трудоемкости основных операций передачи данных
- Методы логического представления топологии коммуникационной среды
- Оценка трудоемкости операций передачи данных для кластерных систем
- Краткий обзор лекции
- Контрольные вопросы
- Задачи и упражнения
- Обзор литературы
-
Параллельное программирование на основе MPI
В лекции рассматривается стандарт для программирования в системах с распределенной памятью MPI. Дается обзор истории возникновения и развития стандарта, а также перечисляются его основные возможности. Приводятся примеры программ, использующих рассматриваемый стандарт.
-
Операции передачи данных между процессами и производные типы данных в MPI
В лекции продолжается рассматриваться параллельное программирование на основе MPI. Рассказывается об операциях передачи данных между процессами и производных типах данных в MPI.
-
Управление группами, виртуальные топологии в MPI
Лекция посвящена управлению группами процессов и коммуникаторами, виртуальным топологиям и дополнительным возможностям MPI.
-
Принципы разработки параллельных методов
В лекции рассматриваются базовые принципы разработки параллельных алгоритмов. Описываются основные понятия, подробно разбираются все этапы создания и анализа параллельных алгоритмов. Приводится пример применения обсуждаемых методов.
-
Параллельные методы умножения матрицы на вектор
В лекции рассматривается задача умножения матрицы на вектор. Приводится постановка задачи и последовательный алгоритм ее решения. Описываются методы разделения матрицы между процессорами вычислительной системы, которые необходимы для параллельной реализации матричных операций. Далее излагаются три возможных подхода к параллельной реализации алгоритма умножения матрицы на вектор.
Оглавление
- Принципы распараллеливания
- Постановка задачи
- Последовательный алгоритм
- Разделение данных
- Умножение матрицы на вектор при разделении данных по строкам
- Умножение матрицы на вектор при разделении данных по столбцам
- Умножение матрицы на вектор при блочном разделении данных
- Краткий обзор лекции
- Контрольные вопросы
- Задачи и упражнения
- Обзор литературы
-
Параллельные методы матричного умножения
В лекции рассматривается одна из основных задач матричных вычислений— умножение матриц. Приводится постановка задачи и дается последовательный алгоритм ее решения. Далее описываются возможные подходы к параллельной реализации алгоритма и подробно рассматриваются наиболее широко известные алгоритмы: алгоритм, основанный на ленточной схеме разделения данных, алгоритм Фокса (Fox) и алгоритм Кэннона (Cannon).
Оглавление
- Постановка задачи
- Последовательный алгоритм
- Умножение матриц при ленточной схеме разделения данных
- Алгоритм Фокса умножения матриц при блочном разделении данных
- Алгоритм Кэннона умножения матриц при блочном разделении данных
- Краткий обзор лекции
- Контрольные вопросы
- Задачи и упражнения
- Обзор литературы
-
Параллельные методы решения систем линейных уравнений
В лекции рассматривается задача решения систем линейных уравнений. Приводятся необходимые определения и постановка задачи. Описывается последовательный и параллельный варианты одного из прямых методов решения линейных систем общего вида – метода Гаусса. Далее дается описание последовательного и параллельного алгоритмов, реализующих итерационный метод сопряженных градиентов.
-
Параллельные методы сортировки
В лекции рассматриваются различные алгоритмы сортировки данных. Излагаются как общие принципы, применяемые при распараллеливании, так и конкретные алгоритмы. Теоретически оценивается эффективность рассматриваемых алгоритмов. Приводятся и анализируются результаты вычислительных экспериментов.
-
Параллельные методы обработки графов
В лекции рассматриваются различные типовые задачи, возникающие при обработке графов. Приводятся алгоритмы, применяемые для решения этих задач, и обсуждаются пути их распараллеливания. Дается теоретическая оценка эффективности рассматриваемых алгоритмов. Анализируются результаты вычислительных экспериментов.
-
Параллельные методы решения дифференциальных уравнений в частных производных
В лекции рассматриваются вопросы организации параллельных вычислений для решения задач, в которых при математическом моделировании используются дифференциальные уравнения в частных производных. Для численного решения подобных задач обычно применяется метод конечных разностей (метод сеток), обладающий высокой вычислительной трудоемкостью. В лекции последовательно разбираются возможные способы распараллеливания сеточных методов на многопроцессорных вычислительных системах с общей и распределенной памятью. При этом большое внимание уделяется проблемам, возникающим при организации параллельных вычислений, анализу причин появления таких проблем и нахождению путей их преодоления. Для наглядной демонстрации излагаемого материала в качестве учебного примера рассматривается проблема численного решения задачи Дирихле для уравнения Пуассона.
-
Параллельные методы многоэкстремальной оптимизации
В лекции рассматриваются задачи минимизации функции, дается обзор методов их решения и программная реализация.
-
Программная система ПараЛаб для изучения и исследования методов параллельных вычислений
В лекции описывается программная система Параллельная Лаборатория (сокращенное наименование – ПараЛаб), которая предназначена для учебного применения студентами и преподавателями вузов в целях исследования и изучения параллельных алгоритмов решения сложных вычислительных задач в рамках лабораторного практикума по различным учебным курсам в области параллельного программирования.
Оглавление
- Введение
- Общая характеристика системы
- Формирование модели вычислительной системы
- Постановка вычислительной задачи и выбор параллельного метода решения
- Определение графических форм наблюдения за процессом параллельных вычислений
- Накопление и анализ результатов экспериментов
- Выполнение вычислительных экспериментов
- Использование результатов экспериментов
- Краткий обзор лекции
- Обзор литературы
-