Министерство науки и высшего образования РФ
Федеральное государственное автономное образовательное учреждение
высшего образования
«СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ (МОДУЛЯ)
Б1.В.05 Параллельное программирование
наименование дисциплины (модуля) в соответствии с учебным планом
Направление подготовки / специальность
01.03.04 Прикладная математика
Направленность (профиль)
01.03.04 Прикладная математика
Форма обучения очная
Год набора 2023
ДОКУМЕНТПОДПИСАН
Э_
_____________________ЛЕ
__К
_Т
_РОН
__ Н
__ ОЙ
__ П
___ОД
_ П_
___ИС
__ЬЮ___________
__
Сертификат: 0082d105bb4b144bee62e009ea3e4216d8
Красноярск 2023
Владелец: ФГАОУВО "СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ"
Действителен: с14июля2023гпо06октября2024г
.
РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ (МОДУЛЯ)
Программу составили
канд.техн.наук, доцент, Ю.В. Удалова
должность, инициалы, фамилия
2
1 Цели и задачи изучения дисциплины
1.1 Цель преподавания дисциплины
Дисциплина предназначена для изучения общих методов параллельного
программирования и конкретных программных систем для разработки
параллельных программ: многопотоковых, распределенных и
многопроцессных, а также предназначенных для выполнения на графическом
ускорителе. Знания, полученные при изучении дисциплины, предоставляют
студенту набор практических методов распараллеливания программ с целью
понижения времени вычисления практических задач, а также набор
теоретических подходов, позволяющих самостоятельно осваивать другие
программные системы для разработки параллельных программ.
1.2 Задачи изучения дисциплины
Студент должен знать:
- классы параллельных аппаратных систем;
- классы параллельных программных систем.
Студент должен уметь:
- выбирать средства распараллелеливания задачи;
- использовать средства распараллелеливания задачи, разрабатывать
параллельные программы.
Студент должен владеть:
- средствами разработки многопотоковых параллельных программ;
- средствами разработки распределенных и многопроцессных
параллельных программ;
- средствами разработки параллельных программ, предназначенных для
выполнения на графическом ускорителе.
1.3 Перечень планируемых результатов обучения по дисциплине
(модулю), соотнесенных с планируемыми результатами освоения
образовательной программы
Код и наименование индикатора Запланированные результаты обучения по дисциплине
достижения компетенции
ПК-1: Способен к постижению основ математических моделей реального
объекта или процесса, готов применять моделирование для построения
объектов и процессов, определения или предсказания их свойств.
ПК-1.1: Знать основы
применения математических
моделей при исследовании
процессов и систем.
ПК-1.2: Уметь использовать
современный аппарат
математического
моделирования при решении
прикладных научных и
производственных задач
3
ПК-1.3: Владеть методами
проверки на адекватность и
проведения анализа
результатов моделирования.
1.4 Особенности реализации дисциплины
Язык реализации дисциплины: Русский.
Дисциплина (модуль) реализуется с применением ЭО и ДОТ
URL-адрес и название электронного обучающего курса: [Link]
[Link]/course/[Link]?id=198.
4
С
2. Объем дисциплины (модуля) е
м
е
Всего, с
зачетных т
Вид учебной работы
единиц р1
(акад.час)
Контактная работа с
1,5 (54)
преподавателем:
занятия лекционного типа 0,5 (18)
практические занятия 1 (36)
Самостоятельная работа
1,5 (54)
обучающихся:
курсовое проектирование
Нет
(КП)
курсовая работа (КР) Нет
Промежуточная аттестация 1 (36)
(Экзамен)
5
3 Содержание дисциплины (модуля)
3.1 Разделы дисциплины и виды занятий (тематический план занятий)
Контактная работа, ак. час.
Занятия семинарского типа
Занятия
Самостоятельная
лекционного
№ Семинары и/или Лабораторные работа, ак. час.
Модули, темы (разделы) дисциплины типа
п/п Практические работы и/или
занятия Практикумы
В том В том В том В том
Всего числе в Всего числе в Всего числе в Всего числе в
ЭИОС ЭИОС ЭИОС ЭИОС
1. Параллельное программирование
1. Классификация параллельных аппаратных и
2
программных систем
2. Многопотоковые параллельные программы.
2
Библиотека Pthread
3. Критические секции, мьютексы, семафоры 2
4. Блокировки 2
5. Условные переменные 2
6. Барьеры 2
7. Многопроцессные распределенные параллельные
2
программы. Библиотека MPI
8. Параллельные программы для графических
2
процессоров. Библиотека CUDA
9. Тупики 2
10. Простое многопотоковое приложение 2
6
11. Многопотоковое приложение 4
12. Двоичные семафоры 2
13. Семафоры 2
14. Защита критических секций 4
15. Условные переменные 4
16. Блокировки 4
17. Барьеры 4
18. Многопроцессные распределенные программы 6
19. Параллельные программы для графического
4
процессора
20. Изучение теоретического курса 18
21. Подготовка к лабораторным работам 36
22. Экзамен
Всего 18 36 54
7
4 Учебно-методическое обеспечение дисциплины
4.1 Печатные и электронные издания:
1. Гергель В. П. Современные языки и технологии параллельного
программирования: учебник для студентов вузов, обуч. по направлениям
010400 "Прикладная математика и информатика" и 010300
"Фундаментальная информатика и информационные
технологии"(Москва: Издательство Московского университета).
2. Антонов А. С. Технологии параллельного программирования MPI и
OpenMP: учебное пособие для студентов вузов, обучающихся по напр.
010400 "Прикладная математика и информатика", 010300
"Фундаментальная информатика и информационные
технологии"(Москва: Изд-во Московского университета).
3. Малышкин В. Э., Корнеев В. Д. Параллельное программирование
мультикомпьютеров: [учебник для вузов](Новосибирск: Издательство
НГТУ).
4. Удалова Ю. В., Кузьмин Д. А. Параллельное программирование:
учебное пособие [для напр. 231300.62 "Прикладная математика",
090301.65 "Компьютерная безопасность"](Красноярск: СФУ).
5. Удалова Ю. В., Кузьмин Д. А. Параллельное программирование.:
лабораторный практикум [для напр. 231300.62 "Прикладная
математика", 090301.65 "Компьютерная безопасность"](Красноярск:
СФУ).
4.2 Лицензионное и свободно распространяемое программное
обеспечение, в том числе отечественного производства (программное
обеспечение, на которое университет имеет лицензию, а также свободно
распространяемое программное обеспечение):
1. ОС Windows и/или ОС Linux (возможен запуск OC Linux под
виртуальной машиной VMWare, VirtualBox и т.п.)
2. Библиотека разработки многопотоковых параллельных программ Pthread
(встроена по умолчанию в ОС Linux)
3. Библиотека разработки многопроцессных распределенных параллельных
программ MPI (пакет MPICH входит в любой дистрибутив Linux)
4. Библиотека разработки параллельных программ для графического
процессора CUDA ([Link]
4.3 Интернет-ресурсы, включая профессиональные базы данных
и информационные справочные системы:
1. Электронные обучающие курсы СФУ [Link]
2. Библиотечный комплекс СФУ [Link]
5 Фонд оценочных средств
Оценочные средства находятся в приложении к рабочим программам
дисциплин.
8
6 Материально-техническая база, необходимая для осуществления
образовательного процесса по дисциплине (модулю)
Класс персональных компьютеров с ОС Windows и/или ОС Linux (возможен
запуск OC Linux под виртуальной машиной VMWare, VirtualBox и т.п.).