Методы и алгоритмы параллельного программирования

ТРУДОЕМКОСТЬ ДИСЦИПЛИНЫ
Общая трудоемкость дисциплины составляет 6 ЗЕТ (216 час.).

ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ
Цель дисциплины состоит в изучении математических моделей, методов и технологий параллельного программирования для (МВС) в объеме, достаточном для успешного начала работ в области параллельного программирования. Излагаемый набор знаний и умений составляет теоретическую основу для методов разработки сложных программ и включают такие темы, как цели и задачи параллельной обработки данных, принципы построения параллельных вычислительных систем, моделирование и анализ параллельных вычислений, принципы разработки параллельных алгоритмов и программ, технологии и системы разработки параллельных программ, параллельные численные алгоритмы для решения типовых задач вычислительной математики. Изучение курса поддерживается расширенным лабораторным практикумом. Основной задачей изучения дисциплины является формирование у студентов теоретических знаний и практических навыков разработки алгоритмов и программ и их реализации на (МВС) (суперкомпьютерах).

МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП
Дисциплина «Методы и алгоритмы параллельного программирования» (МАПП) относится к числу дисциплин профессионального цикла (базовой части). Успешное овладение дисциплиной предполагает предварительные знания вычислительных методов, архитектуры вычислительных систем и операционных систем в объеме, предусмотренном бакалавриатом «Прикладная математика и информатика», а также навыков программирования на языках высокого уровня.

ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ ДИСЦИПЛИНЫ
Процесс изучения дисциплины «Методы и алгоритмы параллельного программирования» направлен на формирование следующих общекультурных (ОК) и профессиональных компетенций (ПК):

  1. способность использовать углубленные теоретические и практические знания в области прикладной математики и информатики (ОК-3);
  2. способность самостоятельно приобретать с помощью информационных технологий и использовать в практической деятельности новые знания и умения, расширять и углублять свое научное мировоззрение (ОК4);
  3. способностью порождать новые идеи и демонстрировать навыки самостоятельной научно-исследовательской работы и работы в научном коллективе (ОК-5);
  4. способностью разрабатывать концептуальные и теоретические модели решаемых научных проблем и задач (ПК-2);
  5. способностью углубленного анализа проблем, постановки и обоснования задач научной и проектно-технологической деятельности (ПК-3).
В результате изучения дисциплины студент должен:

Знать:
  1. Методы параллельных вычислений для задач вычислительной математики (матричные вычисления, решение систем линейных уравнений, сортировка, обработка графов, уравнения в частных производных, многоэкстремальная оптимизация).
  2. Основные подходы к разработке параллельных программ.
Уметь:
  1. Строить модель выполнения параллельных программ.
  2. Оценивать эффективности параллельных вычислений.
  3. Анализировать сложность вычислений и возможность распараллеливания разрабатываемых алгоритмов.
  4. Применять общие схемы разработки параллельных программ для реализаций собственных алгоритмов.
  5. Оценивать основные параметры получаемых параллельных программ, таких как ускорение, эффективность и масштабируемость.
Владеть: основами разработки параллельных программ для МВС с применением технологий MPI, OpenMP, CUDA.

СОДЕРЖАНИЕ ДИСЦИПЛИНЫ. ОСНОВНЫЕ РАЗДЕЛЫ

  1. Тема 1. Состояние и проблемы параллельных вычислений.
  2. Тема 2. Моделирование и анализ параллельных алгоритмов. Показатели качества.
  3. Тема 3. Этапы разработки параллельных методов. Средства разработки параллельных программ.
  4. Тема 4. Интерфейс передачи сообщений MPI.
  5. Тема 5. Технология программирования OpenMP.
  6. Тема 6. Технология параллельного программирования CUDA.
  7. Тема 7. Параллельные численные алгоритмы для решения типовых задач вычислительной математики.

ВИДЫ УЧЕБНОЙ РАБОТЫ
Лекции, лабораторные работы.

ФОРМА АТТЕСТАЦИИ ПО ДИСЦИПЛИНЕ
Изучение дисциплины заканчивается экзаменом.

Методические материалы:

  1. Фефелов Н.П. Методы и алгоритмы параллельного программирования. Учебно-методическое пособие по лабораторным работам для направления 010400 – Прикладная математика и информатика (магистры) / Томск: ТУСУР, 2011. – 16 с.
  2. Фефелов Н.П. Методы и алгоритмы параллельного программирования: Методические указания по самостоятельной работе студентов для направления 010400 – Прикладная математика и информатика (магистры) / Томск, ТУСУР, 2011. – 8 с.