• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 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). — Режим доступа: для авториз. пользователей.