Правительство Российской Федерации Санкт-Петербургский государственный университет РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ Стандарты параллельного программирования Parallel Programming Standards Язык(и) обучения___________русский___________________________________ Трудоёмкость_3_зачётных единицы Регистрационный номер рабочей программы________________ Санкт-Петербург 2014 Раздел 1. Характеристики, структура и содержание учебных занятий. 1.1. Цели и результаты учебных занятий. Cформировать у слушателей общее представление о параллельном программировании как на многопроцессорных компьютерах с однородным по времени доступом к памяти, так и на распределенных системах (кластерах).. Обеспечить формирование навыков параллельного программирования в соответствии с современным состоянием технологии распараллеливания решения вычислительных задач большого объема. Поставленные цели достигаются путём решения следующих задач курса: изучение современных версий стандартов параллельного программирования: OpenMP для симметричных мультипроцессоров и MPI для кластеров. 1.2. Требования к подготовленности обучающегося к освоению содержания учебных занятий (пререквизиты). Знание языка программирования C в объеме курса «Программирование», преподаваемого на первых двух курсах математических факультетов университетов, а также курса «Архитектура ЭВМ». Дисциплина “Стандарты параллельного программирования” является базовым основным курсом в подготовке профессионального математика-программиста в области практического применения параллельных вычислений. 1.3. Перечень результатов обучения (learning outcomes) В процессе изучения дисциплины “Стандарты параллельного программирования” обучаемые приобретают следующие знания методов распараллеливания решения практических вычислительных задач в рамках симметричного мультипроцессора; API MPI для распараллеливания программ для систем, построенных с использованием передачи сообщений. умения писать параллельные программы с использованием средств, предоставляемых стандартом OpenMP, на многопроцессорных системах; использовать средства MPI для написания программ на распределенных системах, ориентированных на передачу сообщений. навыки создания эффективных параллельных программ в стандартах OpenMP и MPI. Знать содержание дисциплины "Стандарты параллельного программирования", в частности, иметь базовые представления о методах распараллеливания программ для архитектур симметричных мультипроцессоров или кластеров. Уметь решать практические задачи по распараллеливанию программ, чтобы достичь оптимального использования имеющегося в распоряжении оборудования. 1.4 Перечень и объём активных и интерактивных форм учебных занятий: В качестве основных интерактивных форм (общее количество 28 часов) предполагается проведение семинарских занятий, которые представляют изучение материала по соответствующим темам дисциплины. К каждому семинарскому занятию студенты готовят доклады на изучаемую тему, на семинаре обсуждают их и отвечают на вопросы преподавателя. Предполагается, что самостоятельную работу в предлагаемом курсе студенты выполняют с обязательным использованием компьютера. Раздел 2. Организация, структура и содержание учебных занятий Трудоёмкость итоговая аттестация (сам. раб.) промежуточная аттестация (сам. раб.) текущий контроль (сам. раб.) в присутствии преподавателя под руководством преподавателя итоговая аттестация промежуточная аттестация текущий контроль коллоквиумы контрольные работы лабораторные работы практические занятия консультации семинары лекции Период обучения (модуль) сам. раб. с использованием методических материалов Самостоятельная работа Контактная работа обучающегося с преподавателем Объём активных и интерактивных форм учебных занятий Трудоёмкость, объёмы учебной работы и наполняемость групп обучающихся 20 3 ОСНОВНАЯ ТРАЕКТОРИЯ очная форма обучения Семестр 8 28 15 2.1.1. Основной курс. Формы текущего контроля успеваемости, виды промежуточной и итоговой аттестации Период обучения (модуль) Формы текущего контроля успеваемости Виды промежуточной аттестации Виды итоговой аттестации (только для программ итоговой аттестации и дополнительных образовательных программ) ОСНОВНАЯ ТРАЕКТОРИЯ очная форма обучения зачет Семестр 8 2.2. Структура и содержание учебных занятий Базовый курс Основная траектория Очная форма обучения Период обучения: Семестр 8 № п.п. Наименование темы (раздела, части) 1 Тема 1. Стандарт OpenMP 2 Тема 2. Стандарт MPI Вид учебных занятий семинары по методическим материалам семинары по методическим материалам Кол-во часов 10 5 18 10 Тема 1. Стандарт OpenMP. Введение в OpenMP, директивы для распараллеливания и синхронизации, директивы для обслуживания отдельных частей задачи (tasking), вспомогательные функции времени выполнения программы. Тема 2. Стандарт MPI. Введение в MPI, обмен информацией типа точка-точка. Типы данных. Обмен информацией для нескольких процессов, группы и коммуникаторы. Топологии процессов. Управление средой. Объект Info. Создание и управление процессами. Внешние интерфейсы. Ввод-вывод. Лабораторный практикум Учебным планом не предусмотрен. Раздел 3. Обеспечение учебной дисциплины 3.1. Методическое обеспечение 3.1.1. Методические указания по освоению дисциплины Успешное освоение дисциплины возможно благодаря участию в подготовке докладов и их обсуждению, а также самостоятельной работе, включающей в себя чтение специальной литературы по разделам темы, подготовка презентаций по тематике курса. 3.1.2. Методическое обеспечение самостоятельной работы: Самостоятельная работа студентов в рамках данной дисциплины является важным компонентом обучения, предусмотренным компетентностно-ориентированным учебным планом и рабочей программой учебной дисциплины. Настоящей программой предусмотрены формы самостоятельной работы с использованием методических материалов. Одна из форм самостоятельной работы – это подготовка докладов по тематике курса и источникам, указанным в обязательной, дополнительной литературе и интернетисточниках, указанных в данной программе. 3.1.3. Методика проведения текущего контроля успеваемости и промежуточной аттестации и критерии оценивания: Общая аттестация складывается из следующих компонентов: Итоги текущего контроля (сообщения и презентации по темам). Итог зачетного опроса (ответы на вопросы). 3.1.4. Методические успеваемости и материалы промежуточной для проведения аттестации текущего контроля (контрольно-измерительные материалы): Примерный краткий перечень вопросов к зачету. 1. OpenMP как стандарт параллельного программирования. 2. Директивы для распараллеливания. 3. Директивы синхронизации. 4. Директивы управления заданиями. 5. Вспомогательные функции OpenMP. 6. Введение в MPI. 7. Обмен информацией типа точка-точка. 8. Типы данных MPI. 9. Обмен информацией для нескольких процессов, группы и коммуникаторы. 10. Топологии процессов. 11. Управление средой. 12. Объект Info. 13. Создание и управление процессами. 14. Внешние интерфейсы. 15. Ввод-вывод. 3.1.5. Методические материалы для оценки обучающимися содержания и качества учебного процесса. Для оценки содержания и качества учебного процесса может применяться анкетирование или опрос в соответствии с методикой и графиком, утверждаемым в установленном порядке. 3.2. Кадровое обеспечение 3.2.1. Образование и (или) квалификация штатных преподавателей и иных лиц, допущенных к проведению учебных занятий: К чтению лекций привлекаются преподаватели, имеющие базовое образование и/или ученую степень соответствующую профилю преподаваемой дисциплины. 3.2.2. Обеспечение учебно-вспомогательным и (или) иным персоналом не требуется. 3.3. Материально-техническое обеспечение 3.3.1. Характеристика аудиторий (помещений, мест) для проведения занятий: Стандартно оборудованные лекционные аудитории для проведения интерактивных лекций: видеопроектор, экран, др. оборудование. 3.3.2. Характеристика аудиторного оборудования, в том числе неспециализированного компьютерного оборудования и программного обеспечения общего пользования: Нет 3.3.3. Характеристика специализированного оборудования: Рабочие места преподавателя и студентов должны быть оснащены оборудованием не ниже: Core 22600/ОЗУ-4 Гб / Video-256 Мб / HDD 500 Гб / DVD-RW / Network adapter – 10/100/ Мбс / SVGA – 19”. 3.3.4. Характеристика специализированного программного обеспечения: При использовании электронных документов каждый обучающийся во время занятий и самостоятельной подготовки должен быть обеспечен рабочим местом в компьютерном классе с выходом в Интернет и корпоративную сеть факультета. На компьютерах должно быть установлено программное обеспечение, поддерживающее OpenMP (компилятор языка C с поддержкой OpenMP), а также компилятор и библиотеки поддержки MPI. 3.3.5. Перечень и объёмы требуемых расходных материалов: Фломастеры цветные, губки, канцелярские товары в объеме, необходимом для организации и проведения занятий по заявкам преподавателей, подаваемым в установленные сроки, доступ преподавателя и студентов к в компьютерные классы. 3.4. Информационное обеспечение 3.4.1. Список обязательной литературы: 1. Левин М. П. Параллельное программирование с использованием OpenMP : учебное пособие . - М. : Интернет-Университет Информационных Технологий ; М. : БИНОМ. Лаборатория знаний, 2008. 2. Антонов, А. С. Технологии параллельного программирования MPI и OpenMP - М. : Издательство Московского университета, 2012. 3.4.2. Список дополнительной литературы 1. Старченко, А. В.; Данилкин, Е. А.; Лаева, В. И.; Проханов, С. А. Практикум по методам параллельных вычислений : учебник - М. : Издательство Московского университета, 2010. 3.4.3. Перечень иных информационных источников 1. http://openmp.org/mp-documents/OpenMP_Examples_4.0.1.pdf 2. http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf 3. http://www.mpi-forum.org/docs/mpi-3.0/mpi30-report.pdf Разработчик рабочей программы: доцент мат-мех факультета СПбГУ Лебединский Дмитрий Михайлович d.lebedinsky@spbu.ru