Бакалавриат
2023/2024
Параллельные вычисления
Статус:
Курс обязательный (Компьютерные науки и анализ данных)
Направление:
01.03.02. Прикладная математика и информатика
Где читается:
Факультет компьютерных наук
Когда читается:
3-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
6
Контактные часы:
80
Программа дисциплины
Аннотация
Настоящая дисциплина относится к циклу дисциплин математических и естественно-научных и блоку дисциплин, обеспечивающих подготовку специалиста. Для этой специализации настоящая дисциплина является базовой. Для освоения учебной дисциплины, студенты должны владеть следующими знаниями и компетенциями: • Языки программирования, • Аппаратные средства вычислительной техники, • Методы программирования, • Операционные системы, • Сети и системы передачи информации, • Математическая логика и теория алгоритмов. Дисциплина реализуется в он-лайн формате
Цель освоения дисциплины
- Формирование представления об основных технологиях параллельных вычислений.
- Ознакомление с методами и принципа создания параллельных алгоритмов.
- Освоение технологий параллельного программирования для дальнейшего использования при решении ресурсоёмких вычислительных задач математического анализа, компьютерной безопасности, защиты информации и других направлений.
- Формирования базовых знаний в области оптимизации и ускорения ресурсоёмких компьютерных вычислений.
Планируемые результаты обучения
- Пишет простые программы с использованием технологии MPI для запуска на кластере. Может оценить вычислительную мощность суперкомпьютера.
- Создаёт параллельный код с использованием CUDA, OpenACC.
- Создаёт параллельный код с использованием MPI для часто используемых алгоритмов. Проводит анализ эффективности параллельных алгоритмов.
- Создаёт параллельный код с использованием OpenMP, PosixThreads, автоматического распараллеливания.
Содержание учебной дисциплины
- Обзор суперкомпьютерных технологий. Введение в Linux, bash, работу на суперкомпьютере. Основы MPI. Двухточечные и коллективные обмены.
- Теоретические и практические основы параллельных алгоритмов.
- Основы параллелизации с помощью технологий OpenMP, PosixThreads, автоматического распараллеливания.
- Основы использования графических ускорителей с помощью технологий CUDA, OpenACC и др.
Элементы контроля
- Работа с технологиями параллельного программирования
- Основы MPI
- Распараллеливание программы на GPU и CPU
Промежуточная аттестация
- 2023/2024 учебный год 4 модуль0.4 * Основы MPI + 0.2 * Работа с технологиями параллельного программирования + 0.4 * Распараллеливание программы на GPU и CPU
Список литературы
Рекомендуемая основная литература
- Антонов, А. С. Параллельное программирование с использованием технологии MPI : учебное пособие / А. С. Антонов. — 2-е изд. — Москва : ИНТУИТ, 2016. — 83 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100359 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Малявко, А. А. Параллельное программирование на основе технологий OpenMP, MPI, CUDA : учебное пособие для академического бакалавриата / А. А. Малявко. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2019. — 129 с. — (Высшее образование). — ISBN 978-5-534-11827-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/446247 (дата обращения: 28.08.2023).
Рекомендуемая дополнительная литература
- Гергель, В. П. Теория и практика параллельных вычислений : учебное пособие / В. П. Гергель. — 2-е изд. — Москва : ИНТУИТ, 2016. — 500 с. — ISBN 978-5-94774-645-7. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100527 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Левин, М. П. Параллельное программирование с использованием OpenMP : учебное пособие / М. П. Левин. — 2-е изд. — Москва : ИНТУИТ, 2016. — 133 с. — ISBN 978-5-94774-857-4. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100358 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Модели параллельного программирования: Практическое пособие / Федотов И.Е. - М.:СОЛОН-Пр., 2017. - 392 с.: 60x88 1/8. - (Библиотека профессионала) ISBN 978-5-91359-222-4
- Туральчук, К. А. Параллельное программирование с помощью языка C# : учебное пособие / К. А. Туральчук. — 2-е изд. — Москва : ИНТУИТ, 2016. — 189 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100360 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Энтони, У. Параллельное программирование на C++ в действии. Практика разработки многопоточных программ : учебное пособие / У. Энтони , перевод с английского А. А. Слинкин. — Москва : ДМК Пресс, 2012. — 672 с. — ISBN 978-5-94074-448-1. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/4813 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.