Компьютерные науки

Введение в методы параллельного программирования

Программа об основах параллельного программирования. Рассматриваются архитектуры вычислительных систем, математические модели алгоритмов и методы анализа их эффективности.
Студентов 1599 Выпускников 81 Для специалистов
690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.
Темы:
Алгоритмы и сложность, Программирование, Суперкомпьютерные технологии
Объем

36 час.
Длительность

30 дней
Нагрузка в неделю

9 час.
Формат обучения

Дистанционно (самостоятельно)
Описание Учебная программа знакомит с принципами построения высокопроизводительных вычислительных систем и разработкой параллельных алгоритмов. Освоение материала начинается с архитектурных основ многопроцессорных комплексов. Затем фокус смещается на математическое моделирование, методы проектирования параллельных программ и подходы к оценке их выполнения для достижения максимальной эффективности. Теория закрепляется тестами и будет полезна системным программистам и инженерам-вычислителям.
Цели
  • Познакомить с архитектурой и принципами параллельных вычислительных систем.
  • Раскрыть математические модели параллельных алгоритмов.
  • Сформировать навыки анализа производительности многопоточных вычислений.
Чему я научусь?
  • Проектировать алгоритмы для параллельных вычислительных сред.
  • Моделировать и анализировать эффективность многопоточных приложений.
  • Учитывать принципы построения систем при оптимизации вычислений.

Авторы

Гергель Виктор Павлович
Гергель Виктор Павлович
Д.т.н., профессор, декан факультета вычислительной математики и кибернетики Нижегородского государственного университета им. Н.И. Лобачевского.
Чему я научусь?
  • Проектировать алгоритмы для параллельных вычислительных сред.
  • Моделировать и анализировать эффективность многопоточных приложений.
  • Учитывать принципы построения систем при оптимизации вычислений.

Учебный план

Занятия
Экзамен экстерном Внимание! Экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите подтвердить свои знания по данному курсу без его изучения или поверить свои знания по нему. Экзамен экстерном можно сдать только один раз. 90 мин
1 Введение В лекции дается общая информация о курсе. Вводится понятие параллельных вычислений и разъясняется их необходимость. Рассказывается... В лекции дается общая информация о курсе. Вводится понятие параллельных вычислений и разъясняется их необходимость. Рассказывается о сдерживающих факторах развития этой отрасли, а также предоставляется характеристика необходимых знаний и умений для работы в области вычислений ещё
2 Принципы построения параллельных вычислительных систем Лекция посвящена рассмотрению принципов построения параллельных вычислительных систем (ПВС). Дана краткая характеристика способов достижения параллелизма, приведены... Лекция посвящена рассмотрению принципов построения параллельных вычислительных систем (ПВС). Дана краткая характеристика способов достижения параллелизма, приведены примеры ПВС. Приводится классификация параллельных вычислительных систем, рассматриваются типовые топологии сетей передачи данных в ПВС. ещё
Принципы построения параллельных вычислительных систем тест для курса Введение в методы параллельного программирования 30 мин
3 Моделирование и анализ параллельных вычислений "В лекции описывается модель вычислений в виде графа ""операции – операнды"". Приводятся основные показатели качества параллельных... "В лекции описывается модель вычислений в виде графа ""операции – операнды"". Приводятся основные показатели качества параллельных методов — ускорение (speedup), эффективность (efficiency), стоимость (cost) и масштабируемость (scalability) вычислений. Введенные понятия демонстрируются на примере учебной задачи нахождения частных сумм последовательности числовых значений" ещё
Моделирование и анализ параллельных вычислений тест для курса Введение в методы параллельного программирования 30 мин
4 Оценка коммуникационной трудоемкости параллельных алгоритмов Лекция посвящена вопросам анализа информационных потоков, возникающих при выполнении параллельных алгоритмов. Дается общая характеристика механизмов передачи... Лекция посвящена вопросам анализа информационных потоков, возникающих при выполнении параллельных алгоритмов. Дается общая характеристика механизмов передачи данных, проводится анализ трудоемкости основных операций обмена информацией, рассматриваются методы логического представления структуры многопроцессорных вычислительных систем. ещё
Оценка коммуникационной трудоемкости параллельных алгоритмов тест для курса Введение в методы параллельного программирования 35 мин
5 Параллельное программирование на основе MPI В лекции рассматривается стандарт для программирования в системах с распределенной памятью MPI. Дается обзор истории возникновения... В лекции рассматривается стандарт для программирования в системах с распределенной памятью MPI. Дается обзор истории возникновения и развития стандарта, а также перечисляются его основные возможности. Приводятся примеры программ, использующих рассматриваемый стандарт. ещё
6 Операции передачи данных между процессами и производные типы данных в MPI В лекции продолжается рассматриваться параллельное программирование на основе MPI. Рассказывается об операциях передачи данных между процессами... В лекции продолжается рассматриваться параллельное программирование на основе MPI. Рассказывается об операциях передачи данных между процессами и производных типах данных в MPI. ещё
7 Управление группами, виртуальные топологии в MPI Лекция посвящена управлению группами процессов и коммуникаторами, виртуальным топологиям и дополнительным возможностям MPI.
Управление группами, виртуальные топологии в MPI тест для курса Введение в методы параллельного программирования 60 мин
8 Принципы разработки параллельных методов В лекции рассматриваются базовые принципы разработки параллельных алгоритмов. Описываются основные понятия, подробно разбираются все этапы создания... В лекции рассматриваются базовые принципы разработки параллельных алгоритмов. Описываются основные понятия, подробно разбираются все этапы создания и анализа параллельных алгоритмов. Приводится пример применения обсуждаемых методов. ещё
Принципы разработки параллельных методов тест для курса Введение в методы параллельного программирования 30 мин
9 Параллельные методы умножения матрицы на вектор В лекции рассматривается задача умножения матрицы на вектор. Приводится постановка задачи и последовательный алгоритм ее решения.... В лекции рассматривается задача умножения матрицы на вектор. Приводится постановка задачи и последовательный алгоритм ее решения. Описываются методы разделения матрицы между процессорами вычислительной системы, которые необходимы для параллельной реализации матричных операций. Далее излагаются три возможных подхода к параллельной реализации алгоритма умножения матрицы на вектор. ещё
Параллельные методы умножения матрицы на вектор тест для курса Введение в методы параллельного программирования 30 мин
10 Параллельные методы матричного умножения В лекции рассматривается одна из основных задач матричных вычислений— умножение матриц. Приводится постановка задачи и дается... В лекции рассматривается одна из основных задач матричных вычислений— умножение матриц. Приводится постановка задачи и дается последовательный алгоритм ее решения. Далее описываются возможные подходы к параллельной реализации алгоритма и подробно рассматриваются наиболее широко известные алгоритмы: алгоритм, основанный на ленточной схеме разделения данных, алгоритм Фокса (Fox) и алгоритм Кэннона (Cannon). ещё
Параллельные методы матричного умножения тест для курса Введение в методы параллельного программирования 30 мин
11 Параллельные методы решения систем линейных уравнений В лекции рассматривается задача решения систем линейных уравнений. Приводятся необходимые определения и постановка задачи. Описывается последовательный... В лекции рассматривается задача решения систем линейных уравнений. Приводятся необходимые определения и постановка задачи. Описывается последовательный и параллельный варианты одного из прямых методов решения линейных систем общего вида – метода Гаусса. Далее дается описание последовательного и параллельного алгоритмов, реализующих итерационный метод сопряженных градиентов. ещё
Параллельные методы решения систем линейных уравнений тест для курса Введение в методы параллельного программирования 30 мин
12 Параллельные методы сортировки В лекции рассматриваются различные алгоритмы сортировки данных. Излагаются как общие принципы, применяемые при распараллеливании, так и... В лекции рассматриваются различные алгоритмы сортировки данных. Излагаются как общие принципы, применяемые при распараллеливании, так и конкретные алгоритмы. Теоретически оценивается эффективность рассматриваемых алгоритмов. Приводятся и анализируются результаты вычислительных экспериментов. ещё
Параллельные методы сортировки тест для курса Введение в методы параллельного программирования 40 мин
13 Параллельные методы обработки графов В лекции рассматриваются различные типовые задачи, возникающие при обработке графов. Приводятся алгоритмы, применяемые для решения этих... В лекции рассматриваются различные типовые задачи, возникающие при обработке графов. Приводятся алгоритмы, применяемые для решения этих задач, и обсуждаются пути их распараллеливания. Дается теоретическая оценка эффективности рассматриваемых алгоритмов. Анализируются результаты вычислительных экспериментов. ещё
Параллельные методы обработки графов тест для курса Введение в методы параллельного программирования 45 мин
14 Параллельные методы решения дифференциальных уравнений в частных производных В лекции рассматриваются вопросы организации параллельных вычислений для решения задач, в которых при математическом моделировании используются... В лекции рассматриваются вопросы организации параллельных вычислений для решения задач, в которых при математическом моделировании используются дифференциальные уравнения в частных производных. Для численного решения подобных задач обычно применяется метод конечных разностей (метод сеток), обладающий высокой вычислительной трудоемкостью. В лекции последовательно разбираются возможные способы распараллеливания сеточных методов на многопроцессорных вычислительных системах с общей и распределенной памятью. При этом большое внимание уделяется проблемам, возникающим при организации параллельных вычислений, анализу причин появления таких проблем и нахождению путей их преодоления. Для наглядной демонстрации излагаемого материала в качестве учебного примера рассматривается проблема численного решения задачи Дирихле для уравнения Пуассона. ещё
Параллельные методы решения дифференциальных уравнений в частных производных тест для курса Введение в методы параллельного программирования 30 мин
15 Параллельные методы многоэкстремальной оптимизации В лекции рассматриваются задачи минимизации функции, дается обзор методов их решения и программная реализация.
16 Программная система ПараЛаб для изучения и исследования методов параллельных вычислений В лекции описывается программная система Параллельная Лаборатория (сокращенное наименование – ПараЛаб), которая предназначена для учебного применения... В лекции описывается программная система Параллельная Лаборатория (сокращенное наименование – ПараЛаб), которая предназначена для учебного применения студентами и преподавателями вузов в целях исследования и изучения параллельных алгоритмов решения сложных вычислительных задач в рамках лабораторного практикума по различным учебным курсам в области параллельного программирования. ещё
Программная система ПараЛаб для изучения и исследования методов параллельных вычислений тест для курса Введение в методы параллельного программирования 30 мин
Тренировочный экзамен Внимание! Тренировочный экзамен экстерном не обязательный для сдачи. При желании вы можете его пройти, если хотите проверить свои знания курса перед сдачей экзамена. Тренировочный экзамен можно сдавать сколько угодно один раз. 90 мин
Экзамен 60 мин

Какой документ я получу?

Сертификат

Выдаётся автоматически после успешного завершения программы.

Удостоверение о повышении квалификации

Выдается при наличии среднего специального или высшего образования (необходимые документы).

Стоимость программы

690 ₽ 1 200 ₽
или любая сумма на ваше усмотрение
Вы можете оплатить любую сумму, чтобы поддержать наш проект и авторов программы. Объем услуг не зависит от размера вашей оплаты.