34
НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМ. Н.И. ЛОБАЧЕВСКОГО НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МАТЕМАТИКИ И МЕХАНИКИ КУРС «ПАРАЛЛЕЛЬНЫЕ ЧИСЛЕННЫЕ МЕТОДЫ» ДЛЯ БУДУЩИХ УЧЕНЫХ И ИНЖЕНЕРОВ И.Б. МЕЕРОВ, С.И. БАСТРАКОВ, К.А. БАРКАЛОВ , А.В. СЫСОЕВ, В.П. ГЕРГЕЛЬ

G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИМ. Н.И. ЛОБАЧЕВСКОГО

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ

ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МАТЕМАТИКИ И МЕХАНИКИ

КУРС «ПАРАЛЛЕЛЬНЫЕ ЧИСЛЕННЫЕ МЕТОДЫ»

ДЛЯ БУДУЩИХ УЧЕНЫХ И ИНЖЕНЕРОВ

И.Б. МЕЕРОВ, С.И. БАСТРАКОВ, К.А. БАРКАЛОВ, А.В. СЫСОЕВ, В.П. ГЕРГЕЛЬ

Page 2: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

2 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

План

• Актуальность курса

• Описание курса

• Структура курса

• Преподавание курса

– Проведение лекций

– Лабораторный практикум

– Проверка знаний

• Выводы и планы на будущее

Page 3: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

3 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Институт ИТММ ННГУ, Математические дисциплины:

– Математический анализ

– Геометрия и алгебра

– Дискретная математика

– Дифференциальные уравнения

– Методы оптимизации

– Функциональный анализ*

– Уравнения математической физики*

– Численные методы

* В зависимости от направления подготовки

Знания студентов по итогам бакалавриата (1)

Page 4: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

4 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Институт ИТММ ННГУ, Компьютерные дисциплины:

– Языки и методы программирования

– Алгоритмы и структуры данных

– Архитектура ЭВМ

– Операционные системы и сети

– Базы данных

– Компьютерная графика

– Параллельное программирование

– Курсы по выбору

Знания студентов по итогам бакалавриата (2)

Page 5: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

5 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Параллельные численные методы и технологии:

– Первое впечатление: все базовые сведения по рассматриваемой теме

даются в бакалавриате

– Анализ показывает:

1. Не все направления подготовки охвачены

2. Теоретический уклон при изучении численных

методов

3. Параллельные технологии изучаются

в большей степени на модельных задачах

– Итог: нужен курс, объединяющий теорию и практику с примерами

из разных областей науки и индустрии

Знания студентов по итогам бакалавриата (3)

Page 6: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

6 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Освоение широкого спектра технологий параллельного

программирования

• Изучение, конструирование и анализ параллельных

алгоритмов

• Приобретение навыков разработки параллельных программ

и анализа их результатов

Все это востребовано в сфере высшего образования,

науки и индустрии

Нужен ли курс студентам?

Page 7: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

7 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Потребность в квалифицированных кадрах,

– владеющих технологиями параллельных вычислений,

– имеющих навыки разработки параллельных алгоритмов,

– владеющих навыками анализа результатов экспериментов.

Возможные работодатели: университеты и НИИ, инженерные

центры и КБ, высокотехнологичный бизнес

Нужен ли курс работодателю?

Page 8: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

8 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Институт ИТММ ННГУ: 2 семестр магистратуры

• Научные школы для молодых ученых: возможны разные

форматы в зависимости от длительности

• Программы повышения квалификации ППС

Место курса в учебном плане

Page 9: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

9 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Университетские курсы

– по численным методам (например, ВМК МГУ,

https://vm.cs.msu.ru/node/198 )

– по параллельному программированию (например, ВМК МГУ,

http://sqi.cs.msu.su/learning)

• Интернет-университет информационных технологий

http://www.intuit.ru

– Математика, численные методы

– Суперкомпьютерные технологии

Аналогичные курсы (российские)

Page 10: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

10 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• University of California at Berkeley

– James Demmel. Matrix Computations / Numerical Linear Algebra

https://people.eecs.berkeley.edu/~demmel/

• University of Minnesota

– Yousef Saad. Computational Aspects of Matrix Theory, Sparse

Matrix Computations

http://www-users.cs.umn.edu/~saad/

• University of Tennessee

– Jack Dongarra. Scientific Computing for Engineers.

http://www.netlib.org/utk/people/JackDongarra/

Аналогичные курсы (зарубежные)

Page 11: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

11 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Технологии программирования (OpenMP, Cilk Plus, TBB,…)

не рассматриваются:

– Частично рассмотрены ранее (бакалавриат)

– Изучаются в магистратуре в рамках смежного курса

«Технологии параллельных вычислений»

• Считается, что теоретические основы численных методов

изучены ранее (бакалавриат). Повторяются основные

положения (без доказательства); ориентация на

параллельность в алгоритмах.

Основные положения (1)

Page 12: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

12 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Обширный лабораторный практикум

• Расширенные описания лекций и ЛР

• Библиотека кодов программ к лабораторным работам

• Любая ЛР м. б. проведена в режиме мастер-класса

• Примеры из разных предметный областей

• Проработанная система контроля (тесты, индивидуальные

задания)

• Материалы в сети Интернет: http://www.hpcc.unn.ru/?doc=491

https://software.intel.com/ru-ru/articles/courseware_parallel_computation_numerical_methods

Основные положения (2)

Page 13: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

13 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Программа курса

• Лекции (презентации, текстовые материалы)

• Лабораторные работы/мастер-классы (презентации,

текстовые материалы, коды программ)

• Задания для студентов

• Тесты

Комплект материалов

Page 14: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

14 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Гергель В.П.

• Баркалов К.А.

• Бастраков С.И.

• Боголепов Д.К.

• Донченко Р.В.

• Козинов Е.А.

• Кустикова В.Д.

• Мееров И.Б.

• Пирова А.Ю.

• Сафонова Я.Ю.

• Сиднев А.А.

• Сысоев А.В.

• Кривоносов М.И.

Разработка курса

Page 15: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

15 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Победитель VII Общероссийского

конкурса для высших учебных заведений

«Университетская книга–2015»

(номинация «Лучшее издание по

математике, информатике и

вычислительной технике»)

Учебник

• В.П. Гергель, К.А. Баркалов, И.Б. Мееров и др.

Параллельные вычисления: технологии и численные

методы: учебное пособие в 4-х томах. – Нижний Новгород:

Издательство Нижегородского госуниверситета, 2013.

Page 16: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

16 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Модульная структура (классический раздел численных

методов = модуль)

• Наличие раздела по вычислениям с плавающей запятой

• Небольшое число лекций, внимание на параллельные

алгоритмы

• Лабораторные работы и мастер-классы

• Подробные материалы по лекциям и практике

Структура курса (1)

Page 17: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

17 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Раздел 1. Практикум «Введение в технологии ПП в

системах с общей памятью. Инструменты пакета Intel

Parallel Studio XE»

– ЛР. Вычисление определенного интеграла методом

прямоугольников. Отладка, оптимизация, параллелизм

– ЛР. Вычисление простых чисел. Параллельная отладка,

оптимизация, балансировка нагрузки

– ЛР. Алгоритмы на графах в задаче поиска кратчайших путей.

Потокобезопасные структуры данных. Использование

механизма логических задач.

Структура курса (2)

Page 18: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

18 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Раздел 2. Элементы компьютерной арифметики

• Лекции

– Работа с числами в ЭВМ. Анализ погрешностей

– Примеры алгоритмов выполнения типичных операций

– Особенности реализаций

• Практика

– Лабораторная работа. Элементарные расчетные алгоритмы.

Проблемы, ошибки, пути их устранения

– Лабораторная работа. Параллельная сортировка

вещественных чисел за линейное время

– Лабораторная работа. Уменьшение погрешности

вычисления сумм чисел с плавающей запятой

Структура курса (3)

Page 19: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

19 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Раздел 3. Прямые методы решения СЛАУ

• Лекции

– Метод прогонки для систем с ленточной матрицей

– Метод редукции для систем с ленточной матрицей

– Метод Гаусса для решения систем общего вида

– Метод Холецкого для систем с симметричной положительно

определенной матрицей

– Методы решения систем с разреженной матрицей

Структура курса (5)

Page 20: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

20 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Раздел 3. Прямые методы решения СЛАУ

• Практика – Лабораторная работа. Умножение разреженной матрицы на

плотный вектор. Распараллеливание циклов

– Лабораторная работа. Алгоритмическая оптимизация в

задачах алгебры разреженных матриц на примере матричного

умножения

– Лабораторная работа. Решение разреженных СЛАУ

прямыми методами в задаче распространения тепла в

пластине. Использование MKL PARDISO

– Лабораторная работа. Применение методов прогонки и

редукции для решения СЛАУ с ленточной матрицей на

примере задачи вычисления цены составного опциона

Структура курса (6)

Page 21: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

21 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Раздел 4. Итерационные методы решения СЛАУ

• Лекции

– Базовые итерационные методы

– Предобуславливание

– Методы крыловского типа

• Практика

– Лабораторная работа. Решение разреженных СЛАУ

в задаче распространения тепла в пластине

– Лабораторная работа. Решение симметричных разреженных

СЛАУ методом верхней релаксации с чебышевским

ускорением

– Лабораторная работа. Решение симметричных разреженных

СЛАУ методом сопряженных градиентов c

предобуславливанием

Структура курса (7)

Page 22: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

22 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Раздел 4. Итерационные методы решения СЛАУ

• Практика

– Лабораторная работа. Решение разреженных СЛАУ методом

обобщенных минимальных невязок с предобуславливанием

– Лабораторная работа. Решение невырожденных СЛАУ

методом бисопряженных градиентов c предобуславливанием

– Лабораторная работа. Неполное LU-разложение

Структура курса (9)

Page 23: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

23 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Раздел 5. Методы решения систем обыкновенных

дифференциальных уравнений

• Лекция

• Практика

– Лабораторная работа. Интегрирование стохастического

дифференциального уравнения в задаче вычисления

справедливой цены опциона европейского типа

– Лабораторная работа. Интегрирование системы

дифференциальных уравнений в задаче моделирования

процессов в нейронной сети (моделирование мозга)

Структура курса (10)

Page 24: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

24 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Раздел 6. Методы решения дифференциальных уравнений в

частных производных

• Лекции

– Решение волнового уравнения

– Решение задачи теплопроводности

– Решение задачи Дирихле для уравнения Пуассона

– Решение уравнения Пуассона с использованием БПФ

Структура курса (11)

Page 25: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

25 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Раздел 6. Методы решения дифференциальных уравнений в

частных производных

• Практика

– Лабораторная работа. Решение дифференциальных

уравнений в частных производных на примере задачи

вычисления справедливой цены составного опциона

– Лабораторная работа. Разработка, оптимизация и

распараллеливание быстрого преобразования Фурье в

приложении к задаче фильтрации видео

– Лабораторная работа. Использование быстрого

преобразования Фурье для решения задачи распространения

тепла в пластине

Структура курса (12)

Page 26: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

26 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Раздел 7. Методы Монте-Карло

• Лекции

– Вычисление определенного интеграла

– Способы уменьшения дисперсии

– Генераторы псевдослучайных чисел

– Подходы к распараллеливанию методов Монте-Карло

• Практика

– Лабораторная работа. Параллельные методы Монте-Карло в

задаче вычисления справедливой цены опциона европейского

типа

Структура курса (13)

Page 27: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

27 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• 2 часа в неделю (лекция)

• Традиционные лекции с использованием компьютерных

презентаций + контроль результата в конце лекции (тест)

Преподавание курса: лекции

Page 28: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

28 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Лабораторные работы проводятся для тех, кто затрудняется

с самостоятельным выполнением. Преимущественно

ориентировано на тех, кто ранее не изучал технологии и

численные методы

• Избранные лабораторные работы (не менее одной для

каждого раздела) проводятся в режиме мастер-класса

• Оставшиеся работы – для самостоятельного выполнения

студентами при наличии подробных описаний

Преподавание курса: практика

Page 29: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

29 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Текущий контроль на лекциях

• Тестирование по технологиям

• Тестирование по теоретическим основам параллельных

алгоритмов - Используется система «Сигма» (НИВЦ МГУ)

http://sigma.parallel.ru/BankTest/Start/index.php

• Набор заданий для студентов (задачи на разработку и

применение параллельных алгоритмов) - Дистанционная проверка разработанных программ с

использованием система SoftGrader (ИТММ ННГУ)

http://softgrader.itmm.unn.ru

Преподавание курса: проверка знаний (1)

Page 30: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

30 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

Преподавание курса: проверка знаний (2)

Page 31: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

31 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

Преподавание курса: проверка знаний (3)

Page 32: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

32 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

Преподавание курса: проверка знаний (4)

Page 33: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

33 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

• Подготовлен модульный комплект материалов

– Технологии и алгоритмы

– Практические примеры

– Материалы в сети Интернет

– Гибкая система использования

– Дистанционное тестирование

• Сложности

– Мотивация студентов

– Необходимость постоянного обновления материалов

• Планы

– Разработка дополнительных лабораторных работ (сокращение

лекций в пользу практики)

Заключение

Page 34: G GЫ M G B < ? J K B L ? L B F . G.. E - russianscdays.orgrussianscdays.org/files/talks17/edu1/02_Barkalov.pdf · – Методы оптимизации – Функциональный

34 из 34 Курс «Параллельные численные методы»

для будущих ученых и инженеров

RSD

2017

Спасибо за внимание

Курс «Параллельные численные методы»

http://www.hpcc.unn.ru/?doc=491