2026/2027




Высокопроизводительные вычисления
ID 1143438
Статус:
Маго-лего
Кто читает:
Департамент информатики
Где читается:
Школа информатики, физики и технологий
Охват аудитории:
для своего кампуса
Преподаватели:
Ахтямов Павел Ибрагимович
Язык:
русский
Кредиты:
6
Контактные часы:
68
Программа дисциплины
Аннотация
Количество ядер в современных процессорах уже измеряется десятками, в графических ускорителях – тысячами, а в суперкомпьютерах – миллионами. Многоядерные вычислительные системы широко применяются в машинном обучении, науках о материалах, биоинформатике, автоматизации проектирования, вычислительной химии и физике. Эффективно использовать эту значительную вычислительную мощность – непростая задача, требующая применения современных подходов, составляющих основное содержание предлагаемого спецкурса. Курс состоит из шести разделов. Первая вводная часть курса посвящена таким базовым концепциям параллельных вычислений, а также обзору современного устройства процессоров, ускорителей, способов организации оперативной памяти и высокопроизводительных сетей передачи данных. В небольшой второй части курса изучаются векторные устройства микропроцессоров и способам разработки программ для них. Основное внимание уделено архитектуре и программной поддержке технологии AVX. В третьей части рассматриваются средства разработки многопоточных программ. На примере различных алгоритмов изучаются такие инструменты, как POSIX Threads, современные расширения C++ (стандарты 11,14,17,20) для параллельных вычислений. Четвертая часть посвящена архитектуре и средствам разработки программ для графических ускорителей (GPU). Основное внимание уделяется программному стеку CUDA. Современные высокоуровневые средства разработки многопоточных программ для центральных процессоров и ускорителей рассматриваются в пятом разделе. Изучаются инструменты OpenMP, OpenACC и OpenCL. В пятой, заключительной части, рассматриваются технологии разработки программ для наиболее мощных высокопроизводительных систем – вычислительных кластеров. Основное внимание уделено самому распространенному средству разработки программ для таких систем – библиотеке MPI, интеграции MPI и CUDA. Является дисциплиной по выбору.
Цель освоения дисциплины
- Получение студентами знаний в области параллельных и распределенных вычислений, выработка у студентов навыков разработки, отладки и исследования производительности параллельных программ.
Планируемые результаты обучения
- Владеть базовыми средствами многопоточного программирования
- Владеть высокоуровневыми инструментами многопоточного программирования
- Владеть средствами разработки программ для систем с распределенной памятью
- Знать архитектуру, принципы разработки программ и инструменты для программирования графических ускорителей
- Знать определения и уметь вычислять базовые характеристики производительности параллельных алгоритмов
- Знать основные типы высокопроизводительных архитектур
Содержание учебной дисциплины
- Теоретические основы высокопроизводительных вычислений
- Введение в архитектуру микропроцессоров
- Базовые средства многопоточного программирования
- Программирование графических ускорителей
- Высокоуровневые средства многопоточного программирования
- Средства разработки программ для систем с распределенной памятью
Промежуточная аттестация
- 2026/2027 4th module0.25 * Домашнее задание №2 + 0.5 * Экзамен + 0.25 * Домашнее задание №1
Список литературы
Рекомендуемая основная литература
- Petersen, W. P., & Arbenz, P. (2004). Introduction to Parallel Computing. Oxford: Oxford University Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=176951
- Модели параллельного программирования: Практическое пособие / Федотов И.Е. - М.:СОЛОН-Пр., 2017. - 392 с.: 60x88 1/8. - (Библиотека профессионала) ISBN 978-5-91359-222-4
- Параллельные вычисления и многопоточное программирование - Биллиг В.А. - Национальный Открытый Университет "ИНТУИТ" - - - 2016 - русский - https://e.lanbook.com/book/100361 - ЛАНЬ - 100361
Рекомендуемая дополнительная литература
- Основы многопоточного и параллельного программирования: Учебное пособие / Карепова Е.Д. - Краснояр.:СФУ, 2016. - 356 с.: ISBN 978-5-7638-3385-0