We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

High Performance Computing

2024/2025
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Course type:
Compulsory course
When:
1 year, 1, 2 module

Instructors

Программа дисциплины

Аннотация

Современные научные исследования и инженерные разработки невозможны без вычислений. С одной стороны, высокая скорость и/или большой объем вычислений во многих случаях критически важны для решения конкретных задач. С другой стороны, современные компьютеры и суперкомпьютеры являются мощным инструментом для проведения соответствующих высокопроизводительных вычислений. При этом практическое использование суперкомпьютерных систем невозможно без глубокого понимания иерархии технологий, начиная с устройства элементной базы и заканчивая абстракциями параллельного программирования. В курсе будут рассказано о ключевых современных вычислительных технологиях и принципах эффективного использования современных высокопроизводительных систем. Для проведения практических занятий студентам предоставляется доступ к Суперкомпьютеру «Харизма» НИУ ВШЭ, входящему в Топ10 по России и странам СНГ.
Цель освоения дисциплины

Цель освоения дисциплины

  • Изучение принципов работы современных процессоров, графических ускорителей, высокоскоростных коммуникационных сетей и суперкомпьютерных систем.
  • Изучение принципов параллельного программирования и средств коллективной разработки программного обеспечения.
  • Изучение принципов хранения и высокоскоростной обработки данных, в том числе методами машинного обучения.
  • Получение навыков практической работы с инфраструктурой современного суперкомпьютерного комплекса.
Планируемые результаты обучения

Планируемые результаты обучения

  • Анализирует возможные факторы, затрудняющие масштабирование параллельных задач.
  • Анализирует применимость модульного тестирования, статического и динамического анализа кода.
  • Анализирует требования к системе хранения данных с точки зрения функционирования параллельной файловой системы.
  • Анализирует устройство высокоскоростной коммуникационной сети суперкомпьютера.
  • Анализирует устройство суперкомпьютеров и их возможные области применимости.
  • Выбирает оптимальный вариант математической библиотеки для заданного типа задачи и типа аппаратного обеспечения.
  • Знает принципы программирования графических ускорителей для ускорения вычислений.
  • Знает принципы работы популярных программных пакетов для машинного обучения и основные особенности их использования на суперкомпьютерах.
  • Разрабатывает параллельные программы с использованием технологии MPI.
  • Сравнивает устройство графических ускорителей и процессоров общего назначения.
  • Сравнивает устройство различных типов процессоров.
  • Сравнивает характерные времена задержки и скорость чтения/записи для памяти различных типов.
  • Умеет использовать при разработке программ математические библиотеки для ускорения вычислений стандартных алгоритмов.
  • Умеет использовать технологии многопоточных вычислений для систем с общей памятью для ускорения вычислений.
  • Умеет сравнить основные алгоритмы машинного обучения и соотносит характерные задачи и подходящие алгоритмы.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Архитектура современных суперкомпьютеров
  • Архитектуры современных процессоров и технологии многопоточных вычислений в системах с общей памятью
  • Архитектуры графических ускорителей и технологии их программирования
  • Математические библиотеки для высокопроизводительных вычислений
  • Высокоскоростные коммуникационные сети и параллельное программирование на основе технологии MPI
  • Системы хранения данных и параллельные файловые системы
  • Использование python в высокопроизводительных вычислениях
  • Технологии машинного обучения
Элементы контроля

Элементы контроля

  • неблокирующий Домашнее задание 1
  • неблокирующий Домашнее задание 2
  • неблокирующий Домашнее задание 3
  • неблокирующий Тест по первой части курса
  • неблокирующий Тест по второй части курса
  • неблокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 2nd module
    0.14 * Домашнее задание 3 + 0.12 * Домашнее задание 1 + 0.14 * Домашнее задание 2 + 0.1 * Тест по второй части курса + 0.1 * Тест по первой части курса + 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). — Режим доступа: для авториз. пользователей.
  • Жуматий, С. А. Вычислительное дело и кластерные системы : учебное пособие / С. А. Жуматий, В. В. Воеводин. — 2-е изд. — Москва : ИНТУИТ, 2016. — 138 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100723 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Крупномасштабное машинное обучение вместе с Python : учитесь быстро создавать мощные модели машинного обучения и развертывать крупномасштабные приложения прогнозирования, Шарден, Б., 2018
  • Параллельные вычисления - 5-94157-160-7 - Воеводин В., Воеводин Вл. - 2015 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/bookshelf/18522 - 18522 - iBOOKS
  • Параллельные вычисления на 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

Авторы

  • Тимофеев Алексей Владимирович
  • Стегайлов Владимир Владимирович