2022/2023
Введение в суперкомпьютерное моделирование
Статус:
Дисциплина общефакультетского пула
Кто читает:
Департамент прикладной математики
Когда читается:
1, 2 модуль
Охват аудитории:
для всех кампусов НИУ ВШЭ
Преподаватели:
Логунов Михаил Александрович,
Никольский Всеволод Павлович,
Писарев Василий Вячеславович,
Смирнов Григорий Сергеевич
Язык:
русский
Кредиты:
8
Контактные часы:
60
Программа дисциплины
Аннотация
Целями освоения дисциплины является ознакомление студентов с архитектурой и принципами работы современных суперкомпьютеров, технологиями параллельного программирования для систем с общей и распределенной памятью, особенностями использования суперкомпьютеров для решения широкого круга задач физики, химии и биологии методами атомистического моделирования.
Цель освоения дисциплины
- Ознакомление студентов с архитектурами суперкомпьютерных систем
- Ознакомление студентов с основами работы с суперкомпьютерами.
- Ознакомление студентов с основами написания программ для параллельных и распределенных вычислительных систем.
- Ознакомление с методами параллелизации простейших вычислительных задач.
Планируемые результаты обучения
- Знает ключи оптимизации для компилятора языка Си GCC. Знает понятия SIMD инструкций. Может объяснить разницу в производительности программ с регулярным и случайным доступом к памяти. Знает базовые концепции OpenMP. Умеет компилировать и запускать программу, написанную с применением OpenMP. Умеет писать простейшие параллельные циклы с OpenMP.
- Знает основные понятия: задержка и пропускная способность программы, эффективность распараллеливания и масштабируемость программы, законы Амдала и Густафсона-Барсиса. Умеет вычислять эффективную пропускную способность программы. Понимает отличия понятий CPU-bound и bandwidth-bound программ.
- Понимает отличия системы с распределенной памятью и общей памятью. Умеет применять библиотеку MPI в программах на языке Си. Умеет распараллеливать простейшие численные алгоритмы.
Содержание учебной дисциплины
- Общие концепции производительности и параллельной эффективности вычислительных систем
- Параллельное выполнение инструкций в компьютерах с общей памятью: конвейер, SIMD инструкции, многопоточность с OpenMP
- Гетерогенные вычислительные системы. Программирование систем с распределенной памятью. Стандарт MPI.
Элементы контроля
- Задание № 1Задание по написанию последовательных программ для решения вычислительных задач, анализу производительности и возможности ускорения путем алгоритмических оптимизаций таких программ, запуску задач на удаленной вычислительной системе через менеджер SLURM.
- Задание № 2Задание по написанию программ с распараллеливанием на несколько потоков для решения вычислительных задач, анализу производительности программ и анализу масштабируемости с ростом числа потоков, анализу возможных узких мест в многопоточных программах, запуску параллельных задач на удаленной вычислительной системе через менеджер SLURM.
- Задание №3Задание по написанию программ с распараллеливанием на несколько процессов для решения вычислительных задач, анализу производительности программ и анализу масштабируемости с ростом числа процессов, анализу возможных узких мест в распределенных программах, запуску распределенных задач на удаленной вычислительной системе через менеджер SLURM.
- Экзамен
Промежуточная аттестация
- 2022/2023 учебный год 2 модуль0.25 * Задание № 1 + 0.25 * Задание № 2 + 0.25 * Экзамен + 0.25 * Задание №3
Список литературы
Рекомендуемая основная литература
- Язык программирования Си, Керниган, Б., 2001
Рекомендуемая дополнительная литература
- Левин, М. П. Параллельное программирование с использованием OpenMP : учебное пособие / М. П. Левин. — 2-е изд. — Москва : ИНТУИТ, 2016. — 133 с. — ISBN 978-5-94774-857-4. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100358 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Малявко, А. А. Параллельное программирование на основе технологий OpenMP, MPI, CUDA : учебное пособие для академического бакалавриата / А. А. Малявко. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2019. — 129 с. — (Высшее образование). — ISBN 978-5-534-11827-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/446247 (дата обращения: 28.08.2023).
- Модели параллельного программирования: Практическое пособие / Федотов И.Е. - М.:СОЛОН-Пр., 2017. - 392 с.: 60x88 1/8. - (Библиотека профессионала) ISBN 978-5-91359-222-4