• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2024/2025

Высокопроизводительные вычисления

Язык: русский
Кредиты: 6

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

Аннотация

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

Авторы

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