• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Глава в книге
Neural Networks for Speech Synthesis of Voice Assistants and Singing Machines

Pantiukhin D.

In bk.: Integral Robot Technologies and Speech Behavior. Newcastle upon Tyne: Cambridge Scholars Publishing, 2024. Ch. 9. P. 281-296.

Препринт
DAREL: Data Reduction with Losses for Training Acceleration of Real and Hypercomplex Neural Networks

Demidovskij A., Трутнев А. И., Тугарев А. М. et al.

NeurIPS 2023 Workshop. ZmuLcqwzkl. OpenReview, 2023

Распределенные вычисления

2023/2024
Учебный год
RUS
Обучение ведется на русском языке
6
Кредиты

Преподаватель

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

Аннотация

Курс направлен на формирование у студентов навыков создания параллельных программ, а также умения работы с распределенными вычислительными системами. Первая часть курса посвящена разработке параллельных программ для систем с общей памятью с использованием Pthreads, OpenMP, а также систем с распределенной памятью (MPI) и гетерогенных систем (CUDA). Во второй части курса студенты знакомятся с основными понятиями распределенных вычислений, системой Hadoop и парадигмой MapReduce.
Цель освоения дисциплины

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

  • Формирование навыков создания паралелльных программ для систем с общей и распределенной памятью с использованием API pthreads, OpenMP, CUDA и MPI
  • Получение практических навыков работы с файловой системов HDFS и создания программ в парадигме MapReduce
Планируемые результаты обучения

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

  • Классифицировать параллельные системы по используемой памяти и по количеству потоков инструкций и команд
  • Описывать аппаратную архитектуру параллельных систем
  • Оценивать производительность параллельных программ (ускорение, эффективность), характеризовать основные закономерности (закон Амдаля, масштабируемость)
  • Разрабатывать параллельные программы для систем с общей памятью с использованием pthreads и OpenMP
  • Использовать мьютексы и семафоры
  • Синхронизировать работу потоков с помощью семафоров и условных переменных
  • Выявлять false sharing, определять его влияние на производительность параллельных программ
  • Использовать блокировки чтения-записи
  • Писать потокобезопасный код
  • Использовать средства индивидуальной и коллективной коммуникации в MPI
  • Использовать производные типы данных в MPI-программах
  • Разрабатывать программы для графических процессоров с использованиеим CUDA
  • Использовать общую память и warp shuffle в CUDA-приложениях
  • Описывать модель распределенных вычислений
  • Называть основные принципы построения логических часов (время Лэмпорта, векторное время)
  • Реализовывать алгоритмы взаимного исключения в распределенных системах
  • Описывать устройство файловой системы HDFS
  • Разрабатывать приложения с использованием парадигмы MapReduce
  • Использовать фреймворк Spark
Содержание учебной дисциплины

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

  • Общие сведения о параллельных и распределенных вычислительных системах
  • Средства разработки программ для многоядерных систем с общей памятью
  • Средства разработки программ для систем с распределенной памятью
  • Средства разработки гетерогенных систем
  • Теоретические основы распределенных вычислений
  • Распределенная обработка больших данных
Элементы контроля

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

  • неблокирующий Численное решение дифференциальных уравнений
  • неблокирующий Умножение векторов и матриц
  • неблокирующий Прямые и итерационные методы решения СЛАУ
  • неблокирующий Итоговый тест
Промежуточная аттестация

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

  • 2023/2024 учебный год 2 модуль
    0.3 * Итоговый тест + 0.233 * Прямые и итерационные методы решения СЛАУ + 0.233 * Умножение векторов и матриц + 0.234 * Численное решение дифференциальных уравнений
Список литературы

Список литературы

Рекомендуемая основная литература

  • Архитектура компьютера, Таненбаум, Э., 2014
  • Параллельное программирование на современном C++ : что каждый профессионал должен знать о параллельном программировании, Гримм, Р., 2022
  • Параллельное программирование с использованием OpenMP : учеб. пособие для вузов, Левин, М. П., 2012
  • Параллельные вычисления на GPU : архитектура и программная модель CUDA: учеб. пособие для вузов, Боресков, А. В., 2012
  • Программирование GPU при помощи Python и CUDA : исследуйте высокопроизводительные параллельные вычисления с помощью CUDA, Тоуманен, Б., 2020
  • Распределенные вычислительные системы, Лорин, Г., 1984
  • Распределенные данные : алгоритмы работы современных систем хранения информации, Петров, А., 2022
  • Распределенные системы : принципы и парадигмы, 877 с., Таненбаум, Э., Стеен, М., 2003
  • Современные языки и технологии параллельного программирования : учебник для вузов, Гергель, В. П., 2012
  • Современные языки и технологии параллельного программирования : учебник, Гергель В.П., Садовничий В.А., 2012
  • Теория и практика параллельных вычислений : учебное пособие, Гергель, В. П., 2007
  • Технологии параллельного программирования MPI и OpenMP : учеб. пособие для вузов, Антонов, А. С., 2012
  • Технология CUDA в примерах : введение в программирование графических процессоров, Сандерс, Дж., 2011

Рекомендуемая дополнительная литература

  • Операционные системы. Т.2: Распределенные системы, сети, безопасность, Дейтел, Х. М., 2007
  • Распределенные алгоритмы : интуитивный подход, Фоккинк, У., 2017