Правительство Российской Федерации Санкт-Петербургский государственный университет Математико-механический факультет РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ Теория распараллеливания над общей памятью Theory of Parallel Computing for Shared Memory Systems Для направления 010300 «Фундаментальные информатика и информационные технологии» бакалавриат Язык обучения русский Трудоемкость __3____ зачётных единицы Регистрационный номер рабочей программы: Код года Код факультета утверждения или иного структурного подразделения 2013 / Мат.-мех. факультет Санкт-Петербург - 2013 Порядковый номер или шифр / Раздел 1. Характеристики, структура и содержание учебных занятий 1.1. Цели и результаты учебных занятий: Освоение студентами фундаментальных знаний в области теории параллельных вычислений, параллельных алгоритмов и применения соответствующего математического аппарата при распараллеливании вычислительных процессов. Данная дисциплина формирует практическую подготовку бакалавра в области высокоэффективных вычислений на современных вычислительных системах и представляет собой комплекс знаний, умений и навыков, позволяющих овладеть практическими основами параллельных вычислений на современных многоядерных компьютерах и на гибридных системах. 1.2. Требования к подготовленности обучающегося к освоению содержания учебных занятий (пререквизиты) Для успешного освоения дисциплины студент должен иметь предварительную подготовку по дисциплинам - основы численных методов и программирования в объеме двух курсов и владеть базовыми навыками работы с компьютером. 1.3. Перечень формируемых компетенций (результаты обучения) ПК-4 иметь способность понимать и применять в исследовательской и прикладной деятельности современный математический аппарат, фундаментальные концепции и системные методологии, международные и профессиональные стандарты в области информационных технологий, способность использовать современные инструментальные и вычислительные средства. ПК-17 уметь обеспечивать алгоритмическую поддержку аналитических методов, формировать реализующие их вычислительные схемы и программно реализовывать их с применением компьютерных технологий. 1.4. Знания, умения, навыки, осваиваемые обучающимся: Курс включает в себя следующие аспекты: особенности распараллеливания на системах с общей памятью; арифметическая и вычислительная надежность; особенности распараллеливания на гибридных системах. Выпускник должен знать содержание дисциплины «Теория распараллеливания над общей памятью» и иметь представление о возможностях применения методик и технологий, изложенных в разделах курса, в различных прикладных областях науки и техники. Курс «Теория распараллеливания над общей памятью» синтезирует методы информатики, программирования и численных методы в решении широкого круга задач, возникающих в современных прикладных областях науки и техники. 1.5. Перечень и объём активных и интерактивных форм учебных занятий: По данной дисциплине возможно использование различных компьютерных программ, которые наглядно демонстрируют распараллеливание в OpenMP. По желанию, при рассмотрении части тем, применяется мультимедиа–проектор для проведения презентаций и демонстрации других материалов занятий. Курс «Теория распараллеливания над общей памятью» дает бакалавру представление о распараллеливании в OpenMP, позволяющее изучать более подробно и предметно другие понятия информатики и программирования. Дисциплина «Теория распараллеливания над общей памятью» является специальным семинаром в подготовке бакалавров по направлению «Фундаментальные информатика и информационные технологии». Аудиторная учебная работа: практические занятия в объеме 2 часа в неделю в 6-м учебном семестре. Самостоятельная работа с использованием методических материалов: индивидуальная работа с рекомендованной основной и дополнительной литературой по распараллеливанию в OpenMP. 1.6. Организация учебных занятий 1.6.1. Трудоемкость, объемы учебной работы и наполняемость учебных групп обучающихся: семинары Консультации практические занятия лабораторные работы контрольные работы коллоквиумы текущий контроль промежуточная аттестация под руководством преподавателя в присутствии преподавателя в т.ч. с использованием методических материалов текущий контроль промежуточная аттестация объём активных и интерактивных форм учебных занятий трудоёмкость 1 Самостоятельная работа Лекции Аудиторная учебная работа обучающихся Код модуля в составе дисциплины 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Шестой семестр обучения 30 20 7 7 Итого 30 20 10 3 Всего 30 20 10 3 Б.3 10 3 1.6.2.Виды, формы и сроки текущего контроля успеваемости и промежуточной аттестации Промежуточная аттестация Текущий контроль Код модуля в составе дисциплины Виды Сроки Формы текущего контроля Сроки Б.3 зачет 17-21 недели Опрос, решение задач Ххххххххх 1.7. Структура и содержание учебных занятий Модуль 1. Теория распараллеливания над общей памятью (30 часов практических занятий) Законы Амдала. Ускорение вычислений. Погрешности вычислений и верификация результата. Конвертирование программы на языке Maple в Си. Основные типы суперкомпьютеров. Особенности программирования на системах с общей и распределенной памятью. Гибридные системы. Современные компиляторы программ. Технология программирования OpenMP. Вычисление времени работы. Особенности программирования на СИ и Фортране. Директивы. Переменные окружения. Синхронизация. Параллельные секции и их вложенность. Распределение работы. Программирование на низком уровне. Параллелизм независимых фрагментов. Классы переменных. Критическая секция. Решение задачи Дирихле. Особенности применения алгоритмов Гаусса-Зейделя, Якоби. Различные схемы вычислений (волновая схема), методы решения систем линейных уравнений: Гаусса, циклической редукции, квадратного корня, релаксации. Распараллеливание методов вычисления собственных значений матрицы. Параллельные методы решения задачи Коши. Параллельная реализация метода Рунге-Кутта. Параллельные алгоритмы методов Адамса. Решение задач теплопроводности с помощью явных и неявных разностных схем на системе с общей памятью. Вычисление времени счета. Ускорение. Эффективность. Типы параллелизма. Стена Фокса. Работа с векторами. Работа с матрицами. Способы повышения производительности умножения матриц. Распараллеливание операции умножения матриц. Методы решений линейных уравнений. Раздел 2. Обеспечение учебной дисциплины 2.1. Методическое обеспечение учебной дисциплины 2.1.1. Методическое обеспечение аудиторной работы По курсу «Теория распараллеливания над общей памятью» предусмотрено проведение практических занятий. Все студенты должны быть обеспечены литературой, рекомендованной по курсу. 2.1.2. Методическое обеспечение самостоятельной работы При выполнении самостоятельной работы студенту необходимо знать содержание курса, уметь формулировать определения основных понятий, уметь применять различные методы для решения конкретных задач. При подготовке к самостоятельной работе целесообразно использовать рекомендованную обязательную и дополнительную литературу, а также сведения из сети Интернет. Перечень примерных контрольных вопросов и заданий для самостоятельной работы: Вычислить время выполнения последовательной и параллельной программы. Вычислить ускорение и эффективность. Распараллелить вычисления на несколько потоков. Сравнить результаты и объяснить их. Разработать параллельный алгоритм для предложенного метода. Объяснить причину, если это невозможно. 2.1.3. Методика проведения текущего контроля успеваемости, промежуточной аттестации и критерии оценивания По дисциплине «Теория распараллеливания над общей памятью» в течение учебного года проводятся устные опросы и зачет. В процессе обучения каждый студент снабжается набором задач и вопросов, которые необходимо уметь решать и знать для положительной оценки по аттестации. 2.1.4. Методические материалы для проведения текущего контроля успеваемости и промежуточной аттестации Преподаватели имеют набор контрольных заданий, тестов и вопросов для контроля успеваемости студентов. Примерный перечень вопросов к зачету по всему курсу Законы Амдала. Ускорение вычислений. Погрешности вычислений и верификация результата. Конвертирование программы на языке Maple в Си. Основные типы суперкомпьютеров. Особенности программирования на системах с общей и распределенной памятью. Гибридные системы. Современные компиляторы программ. Технология программирования OpenMP. Директивы. Переменные окружения. Синхронизация. Параллельные секции и их вложенность. Распределение работы. Программирование на низком уровне. Параллелизм независимых фрагментов. Классы переменных. Критическая секция. Решение задачи Дирихле. Особенности применения алгоритмов Гаусса-Зейделя, Якоби. Различные схемы вычислений (волновая схема), методы решения систем линейных уравнений: Гаусса, циклической редукции, квадратного корня, релаксации. Распараллеливание методов вычисления собственных значений матрицы. Параллельные методы решения задачи Коши. Параллельная реализация метода Рунге-Кутта. Параллельные алгоритмы методов Адамса. Решение задач теплопроводности с помощью явных и неявных разностных схем на системе с общей памятью. Вычисление времени счета. Ускорение. Эффективность. Типы параллелизма. Стена Фокса. Работа с векторами. Работа с матрицами. Способы повышения производительности умножения матриц. Распараллеливание операции умножения матриц. Методы решений линейных уравнений. 2.2. Кадровое обеспечение 2.2.1. Требования к образованию и (или) квалификации штатных преподавателей и иных лиц, допущенных к преподаванию дисциплины К преподаванию дисциплины могут быть допущены преподаватели, имеющие диплом о высшем образовании по соответствующему направлению. 2.2.2. Требования к обеспеченности учебно-вспомогательным и (или) иным персоналом Специальных требований нет. 2.2.3. Методические материалы для оценки обучающимися содержания и качества учебного процесса. Специальных требований нет. 2.3. Материально-техническое обеспечение учебной дисциплины 2.3.1. Требования к аудиториям (помещениям, местам) для проведения занятий Для проведения занятий желательно выделение компьютерного класса и/или аудитории для проведения интерактивных семинаров: видеопроектор, экран настенный, др. оборудование. 2.3.2. Требования к аудиторному оборудованию, в том числе неспециализированному компьютерному оборудованию и программному обеспечению общего пользования Программное обеспечение общего пользования должно быть не ниже MS Office 2003 2.3.3. Требования к специализированному оборудованию Рабочие места преподавателя и студентов должны быть оснащены оборудованием не ниже: Core 2 Duo-2GHz/ОЗУ-512 Мб / Video-32 Мб / HDD 80 Гб / DVD±RW / Network adapter – 10/100 Мбс / SVGA – 17”. 2.3.4. Требования к специализированному программному обеспечению При использовании электронных учебных пособий каждый обучающийся во время занятий и самостоятельной подготовки должен быть обеспечен рабочим местом в компьютерном классе с выходом в Интернет и корпоративную сеть факультета. Лаборатории (компьютерные классы) должны быть обеспечены необходимым комплектом лицензионного программного обеспечения. Специализированное программное обеспечение для компьютерных классов: пакет Maple, Visual Studio, Parallel Studio (по возможности). 2.3.5. Требования к перечню и объему расходных материалов Фломастеры цветные, губки, бумага формата А4, канцелярские товары, картриджи принтеров, диски, флеш-накопители и др. в объёме, необходимом для организации и проведения занятий, по заявкам преподавателей, подаваемым в установленные сроки 2.4. Информационное обеспечение 2.4.1. Список обязательной литературы 1. Бурова И.Г., Демьянович Ю.К. Алгоритмы параллельных вычислений. 2010. 2. Воеводин В.В. Математические модели и методы в параллельных процессах. М., 1986. 3. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб., 2002. 4. Корнеев В.В. Параллельные вычислительные системы. М., 1999. 5. Саад Ю. Итерационные методы для разреженных линейных систем. М.: MГУ.2013. 6. Кепнер Дж. Параллельное программирование в среде MATLAB для многоядерных и многоузловых вычислительных машин. М.: MГУ.2013. 2.4.2. Список дополнительной литературы 1. Бурова И.Г., Демьянович Ю.К. Теория минимальных сплайнов. СПб., 2000. 2. Фаддеев Д.К., Фаддеева В.Н. Численные методы линейной алгебры. 3. Завьялов Ю.С., Квасов Б.И., Мирошниченко В.Л. Методы сплайн-функций. М., 1980. 2.4.3. Перечень иных информационных источников Раздел 3. Процедура разработки и утверждение рабочей программы учебной дисциплины Фамилия, имя, отчество Учёная степень Учёное звание Бурова Ирина Герасимовна Доктор ф-м.н. Профессор Должность Контактная информация (служебный адрес электронной почты, служебный телефон) Профессор buovaig@mail.ru кафедры 428-42-12 параллельных алгоритмов В соответствии с порядком организации внутренней и внешней экспертизы образовательных программ, установленных приказом первого проректора по учебной работе от 18.02.2009 № 195/1, проведена двухуровневая экспертиза: первый уровень (оценка качества содержания программы и применяемых педагогических технологий) Наименование кафедры Дата заседания № протокола Кафедра параллельных 21.05.2013 г. Протокол № 77 алгоритмов второй уровень (соответствие целям подготовки и учебному плану образовательной программы) Экспертиза второго уровня Уполномоченный орган (должностное лицо) Учебно-методическая комиссия математико- Дата принятия решения № документа механического факультета Иные документы об оценке качества рабочей программы учебной дисциплины Документ об оценке качества Дата документа № документа Экспертное заключение Утверждение рабочей программы учебной дисциплины Уполномоченный орган (должностное лицо) Дата принятия решения № документа Г.А.Леонов – декан мат.-мех. факультета Внесение изменений в рабочую программу учебной дисциплины Уполномоченный орган (должностное лицо) Дата принятия решения № документа