Магистратура
2022/2023
Высокоуровневое и имитационное моделирование цифровых систем
Статус:
Курс обязательный (Системный анализ и математические технологии)
Направление:
01.04.02. Прикладная математика и информатика
Кто читает:
Департамент прикладной математики
Когда читается:
1-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Преподаватели:
Никольский Всеволод Павлович,
Писарев Василий Вячеславович,
Семенов Александр Сергеевич,
Смирнов Григорий Сергеевич,
Стегайлов Владимир Владимирович,
Сучков Егор Петрович,
Тимофеев Алексей Владимирович,
Федоров Илья Дмитриевич,
Чой Е Рем
Прогр. обучения:
Системный анализ и математические технологии
Язык:
русский
Кредиты:
6
Контактные часы:
60
Программа дисциплины
Аннотация
Современные научные исследования и инженерные разработки невозможны без вычислений. С одной стороны, высокая скорость и/или большой объем вычислений во многих случаях критически важны для решения конкретных задач. С другой стороны, современные компьютеры и суперкомпьютеры являются мощным инструментом для проведения соответствующих высокопроизводительных вычислений. При этом практическое использование суперкомпьютерных систем невозможно без глубокого понимания иерархии технологий, начиная с устройства элементной базы и заканчивая абстракциями параллельного программирования. В курсе будут рассказано о ключевых современных вычислительных технологиях и принципах эффективного использования современных высокопроизводительных систем. Для проведения практических занятий студентам предоставляется доступ к Суперкомпьютеру «Харизма» НИУ ВШЭ, входящему в Топ10 по России и странам СНГ.
Цель освоения дисциплины
- Изучение принципов работы современных процессоров, графических ускорителей, высокоскоростных коммуникационных сетей и суперкомпьютерных систем.
- Изучение принципов параллельного программирования и средств коллективной разработки программного обеспечения.
- Изучение принципов хранения и высокоскоростной обработки данных, в том числе методами машинного обучения.
- Получение навыков практической работы с инфраструктурой современного суперкомпьютерного комплекса.
Планируемые результаты обучения
- Анализирует возможные факторы, затрудняющие масштабирование параллельных задач.
- Анализирует применимость модульного тестирования, статического и динамического анализа кода.
- Анализирует требования к системе хранения данных с точки зрения функционирования параллельной файловой системы.
- Анализирует устройство высокоскоростной коммуникационной сети суперкомпьютера.
- Анализирует устройство суперкомпьютеров и их возможные области применимости.
- Выбирает оптимальный вариант математической библиотеки для заданного типа задачи и типа аппаратного обеспечения.
- Знает принципы программирования графических ускорителей для ускорения вычислений.
- Знает принципы работы популярных программных пакетов для машинного обучения и основные особенности их использования на суперкомпьютерах.
- Различает распределенные и централизованные системы контроля версий.
- Разрабатывает параллельные программы с использованием технологии MPI.
- Сравнивает устройство графических ускорителей и процессоров общего назначения.
- Сравнивает устройство различных типов процессоров.
- Сравнивает характерные времена задержки и скорость чтения/записи для памяти различных типов.
- Умеет использовать при разработке программ математические библиотеки для ускорения вычислений стандартных алгоритмов.
- Умеет использовать современные платформы для совместной разработки.
- Умеет использовать технологии многопоточных вычислений для систем с общей памятью для ускорения вычислений.
- Умеет сравнить основные алгоритмы машинного обучения и соотносит характерные задачи и подходящие алгоритмы.
Содержание учебной дисциплины
- Архитектура современных суперкомпьютеров
- Архитектуры современных процессоров и технологии многопоточных вычислений в системах с общей памятью
- Архитектуры графических ускорителей и технологии их программирования
- Математические библиотеки для высокопроизводительных вычислений
- Высокоскоростные коммуникационные сети и параллельное программирование на основе технологии MPI
- Системы хранения данных и параллельные файловые системы
- Системы совместной разработки программного обеспечения для высокопроизводительных вычислений
- Технологии машинного обучения
Элементы контроля
- Домашнее задание 1
- Домашнее задание 2
- Домашнее задание 3
- Тест по первой части курса
- Тест по второй части курса
- Экзамен.
Промежуточная аттестация
- 2022/2023 учебный год 2 модуль0.1 * Тест по второй части курса + 0.1 * Тест по первой части курса + 0.15 * Домашнее задание 3 + 0.1 * Домашнее задание 1 + 0.15 * Домашнее задание 2 + 0.4 * Экзамен
Список литературы
Рекомендуемая основная литература
- Abramson, D., Jin, C., Luong, J., & Carroll, J. (2020). A BeeGFS-Based Caching File System for Data-Intensive Parallel Computing. Springer International Publishing. https://doi.org/10.1007/978-3-030-48842-0_1
- Achilleas Pipinellis. (2018). GitHub Essentials : Unleash the Power of Collaborative Development Workflows Using GitHub, 2nd Edition: Vol. Second edition. Packt Publishing.
- Braam, P. (2019). The Lustre Storage Architecture.
- Chowdhury, F., Zhu, Y., Heer, T., Paredes, S., Moody, A., Goldstone, R., Mohror, K., & Yu, W. (2019). I/O Characterization and Performance Evaluation of BeeGFS for Deep Learning. Proceedings of the 48th International Conference on Parallel Processing ; ISBN 9781450362955. https://doi.org/10.1145/3337821.3337902
- Lockwood, G., Lozinskiy, K., Gerhardt, L., Cheema, R., Hazen, D., & Wright, N. (2019). A Quantitative Approach to Architecting All-Flash Lustre File Systems.
- Turner, A., Sloan-Murphy, D., Sivalingam, K., Richardson, H., & Kunkel, J. (2019). Analysis of parallel I/O use on the UK national supercomputing service, ARCHER using Cray LASSi and EPCC SAFE.
- Антонов, А. С. Параллельное программирование с использованием технологии MPI : учебное пособие / А. С. Антонов. — 2-е изд. — Москва : ИНТУИТ, 2016. — 83 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100359 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Воеводин В., Воеводин Вл. - Параллельные вычисления - 5-94157-160-7 - Санкт-Петербург: БХВ-Петербург - 2015 - 18522 - https://ibooks.ru/bookshelf/18522/reading - iBOOKS
- Жуматий, С. А. Вычислительное дело и кластерные системы : учебное пособие / С. А. Жуматий, В. В. Воеводин. — 2-е изд. — Москва : ИНТУИТ, 2016. — 138 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100723 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Крупномасштабное машинное обучение вместе с Python : учитесь быстро создавать мощные модели машинного обучения и развертывать крупномасштабные приложения прогнозирования, Шарден, Б., 2018
- Параллельные вычисления на GPU : архитектура и программная модель CUDA: учеб. пособие для вузов, Боресков, А. В., 2012
- Современные языки и технологии параллельного программирования : учебник для вузов, Гергель, В. П., 2012
Рекомендуемая дополнительная литература
- Ayguade, E., Chapman, B., Addison, C., Ren, Y., & van Waveren, M. (2003). OpenMP issues arising in the development of parallel BLAS and LAPACK libraries. Scientific Programming, 11(2), 95.
- Gao, J., Zheng, F., Qi, F., Ding, Y., Li, H., Lu, H., He, W., Wei, H., Jin, L., Liu, X., Gong, D., Wang, F., Zheng, Y., Sun, H., Zhou, Z., Liu, Y., & You, H. (2021). Sunway supercomputer architecture towards exascale computing: analysis and practice. Science China Information Sciences ; Volume 64, Issue 4 ; ISSN 1674-733X 1869-1919. https://doi.org/10.1007/s11432-020-3104-7
- Jha, S., Patke, A., Brandt, J., Gentile, A., Showerman, M., Roman, E., Kalbarczyk, Z. T., Kramer, W. T., & Iyer, R. K. (2019). A Study of Network Congestion in Two Supercomputing High-Speed Interconnects.
- Li, A., Song, S. L., Chen, J., Li, J., Liu, X., Tallent, N., & Barker, K. (2019). Evaluating Modern GPU Interconnect: PCIe, NVLink, NV-SLI, NVSwitch and GPUDirect. https://doi.org/10.1109/TPDS.2019.2928289
- Martin Köhler, & Jens Saak. (2020). FlexiBLAS - A BLAS and LAPACK wrapper library with runtime exchangeable backends. https://doi.org/10.5281/zenodo.3909214
- Nikitenko, D., Shvets, P., & Voevodin, V. (2020). Why do users need to take care of their HPC applications efficiency? Lobachevskii Journal of Mathematics; Том 41, № 8 (2020): Special Issue “Supercomputing Applications, Algorithms and Software Tools.”
- Pippig, M. (2012). PFFT - An Extension of FFTW to Massively Parallel Architectures.
- Sarah Guthals, & Phil Haack. (2019). GitHub For Dummies. For Dummies.
- Skibba, R. (2021). Japan’s Fugaku Supercomputer Crushes Competition, But Likely Not for Long. Engineering ; Volume 7, Issue 1, Page 6-7 ; ISSN 2095-8099. https://doi.org/10.1016/j.eng.2020.12.003