Правительство Российской Федерации Санкт-Петербургский государственный университет РАБОЧАЯ ПРОГРАММА УЧЕБНОЙ ДИСЦИПЛИНЫ Параллельные алгоритмы метода конечных элементов для краевых задач математической физики Parallel algorithms of finite element method for boundary value problems of mathematical physics Язык(и) обучения___________русский___________________________________ Трудоёмкость_2_зачётных единицы Регистрационный номер рабочей программы________________ Санкт-Петербург 2014 Раздел 1. Характеристики, структура и содержание учебных занятий. 1.1. Цели и результаты учебных занятий. Освоение основных приемов создания быстрых параллельных алгоритмов численного решения уравнений в частных производных и их реализации в программах для массово параллельных компьютеров. Знакомство с наиболее крупными проектами численного решения на суперкомпьютерах краевых задач возникающих в инженерных приложениях и научных исследованиях. Вычислительная наука как третья компонента познания. Знакомство с наиболее распространенными архитектурами параллельных компьютеров, их характеристиками и их влиянием на быстродействие алгоритмов. Формирование системного, аналитического и алгоритмического мышления и соответствующих навыков для создания и реализации параллельных алгоритмов и компьютерных программ для решения научных и практических задач, включая этапы постановки и решения задачи или проекта, выбора технических средств. Формирование соответствующих компетенций, в том числе навыков работы в коллективе. Поставленные цели будут достигнуты путём изучения основных концепций, понятий и базисных модулей сеточных методов решения краевых задач механики и физики и основных программных средств их распараллеливания, знакомства с наиболее значимыми примерами реализации параллельных алгоритмов для решения крупных задач. 1.2. Требования к подготовленности обучающегося к освоению содержания учебных занятий (пререквизиты). Общие курсы, читаемые на математико-механическом факультете на 1-3 годах обучения по методам вычислений, линейной алгебре, программированию, сеточным методам решения уравнений в частных производных, математической физике и функциональному анализу. Дисциплина “Параллельные алгоритмы метода конечных элементов для краевых задач математической физики” является базовым курсом по профилю “Параллельное программирование” в подготовке по направлению “Математическое обеспечение и администрирование информационных систем”. 1.3. Перечень результатов обучения (learning outcomes) В процессе изучения дисциплины “Параллельные алгоритмы метода конечных элементов для краевых задач математической физики” обучаемые приобретают следующие знания направлений развития компьютеров с традиционной архитектурой; тенденций развития функций и архитектур проблемно-ориентированных программных систем и комплексов; методов проектирования и производства программного продукта; принципов построения, структуры и приемов работы с инструментальными средствами, поддерживающими создание программного обеспечения (ПО). умения строго доказать математическое утверждение; выделять структуру в доказательствах; понимать корректность постановок задач; понимать, что фундаментальное математическое знание является главной движущей силой компьютерных наук; извлекать актуальную научно-техническую информацию из электронных библиотек, научных сайтов и форумов в сети Интернет, реферативных журналов. навыки разработки моделирующих алгоритмов и реализации их на базе языков и пакетов прикладных программ; выбора архитектуры и комплексирования современных компьютеров, систем, комплексов и сетей системного администрирования; выбора, проектирования, реализации, оценки качества и анализа эффективности программного обеспечения для решения задач в различных предметных областях; самостоятельно строить алгоритмы и анализировать его; приверженности этическим ценностям и здоровому образу жизни; исследователя и способность учиться. Знать содержание дисциплины “Параллельные алгоритмы метода конечных элементов для краевых задач математической физики”, в частности, иметь представления о способах аппроксимаций краевых задач математической физики и членных методах решения сеточных систем уравнений, возможностях распараллеливания методов решения в программных реализациях для ЭВМ. Знание этих вопросов должно быть достаточным для возможности успешного применения параллельных численных методов для наиболее распространенных в приложениях классов уравнений в частных производных. Освоить приемы распараллеливания наиболее эффективных многоуровневых/многосеточных алгоритмов и алгоритмов метода декомпозиции области с перекрытием и без перекрытия областей. Уметь разработать проект эффективного алгоритма для сложных краевых задач, блок-схему программы, схему распараллеливания и оценить арифметическую сложность, время выполнения и эффективность распараллеливания применительно к компьютерной системе заданной архитектуры. Уметь оценить сложность и временные затраты разработки программы. 1.4 Перечень и объём активных и интерактивных форм учебных занятий: В качестве основных интерактивных форм (общее количество 45 часов) предполагается лекции (45 ч.) и домашние задания; углубленное рассмотрение параллельных алгоритмов и обсуждение результатов выполнения домашних заданий. Домашние задания: Распараллеливание (максимального однородного) алгоритма численного решения двухточечной задачи для ОДУ 2-го порядка. Компьютерная реализация. Программа формирования матрицы жесткости метода конечных элементов для уравнения Пуассона и матрично-векторных умножений. Компьютерная реализация. Программа, реализующая параллельный алгоритм численного решения уравнения Пуассона в L-образной области методом декомпозиции области с перекрытием областей. Компьютерная реализация. Раздел 2. Организация, структура и содержание учебных занятий 2.1.1. Основной курс. Трудоёмкость итоговая аттестация (сам. раб.) промежуточная аттестация (сам. раб.) текущий контроль (сам. раб.) в присутствии преподавателя под руководством преподавателя итоговая аттестация промежуточная аттестация текущий контроль коллоквиумы контрольные работы лабораторные работы практические занятия консультации семинары лекции Период обучения (модуль) сам. раб. с использованием методических материалов Самостоятельная работа Контактная работа обучающегося с преподавателем Объём активных и интерактивных форм учебных занятий Трудоёмкость, объёмы учебной работы и наполняемость групп обучающихся 10 2 ОСНОВНАЯ ТРАЕКТОРИЯ очная форма обучения Семестр 7 45 15 Формы текущего контроля успеваемости, виды промежуточной и итоговой аттестации Период обучения (модуль) Формы текущего контроля успеваемости Виды промежуточной аттестации Виды итоговой аттестации (только для программ итоговой аттестации и дополнительных образовательных программ) ОСНОВНАЯ ТРАЕКТОРИЯ очная форма обучения экзамен Семестр 7 2.2. Структура и содержание учебных занятий Базовый курс Основная траектория Очная форма обучения Период обучения: Семестр 7 № п.п. 1 2 3 4 Наименование темы (раздела, части) Тема 1. Введение Тема 2. Общие приемы и характеристики распараллеливания Тема 3. Метод конечных элементов и распараллеливание его алгоритмов Тема 4. Основные алгоритмы метода конечных элементов в параллельном режиме 5 Тема 5. Классические методы решения 6 Тема 6. Многосеточный метод и метод декомпозиции области Вид учебных занятий лекции по методическим материалам лекции по методическим материалам лекции по методическим материалам лекции по методическим материалам лекции по методическим материалам лекции по методическим материалам Кол-во часов 7 2 8 2 13 2 2 1 5 1 10 2 Тема 1. Введение Лекция 1. Быстрые алгоритмы, почему необходимо распараллеливание вычислений? Вычисления в режиме реального времени. Можно ли рассчитать динамику газа вокруг самолета без распараллеливания? Мегавычисления и супервычисления. Научные супервычисления как третий компонент познания. Уравнение Пуассона и его конечно-разностная аппроксимация. Прямые методы решения конечно-разностных уравнений: LUфакторизация, метод Холецкого. Заполнение в процессе факторизации ленточных и редкозаполненных матриц, гиперлинейный рост сложности. Лекция 2. Итерационные методы решения. Классификация: двухслойные, многослойные, линейные и двухслойных методов: методы Ричардсона, Якоби, Гаусса-Зейделя, верхней релаксации (SOR), симметричной последовательной верхней релаксации (SSOR), неявный метод переменных направлений. Следствия плохой обусловленности. Свойство сглаживания и основные идеи быстрых двухсеточных и многосеточных методов. Лекция 3. Оптимальные порядки исключения (метод наименьшей степени, метод ячеистого рассечения А. Джорджа). Распараллеливание посредством введения подструктур и исключения на первом шаге внутренних степеней свободы и точный МДО (метод декомпозиции области). Алгоритм 1. Лекция 4. Конечно-разностные аппроксимации уравнений в частных производных. Другие методы дискретизации краевых задач. Метод Галеркина и МКЭ (метод конечных элементов). Тема 2. Общие приемы и характеристики распараллеливания Лекция 5. Классификация Флинна параллельных компьютеров: определения потоков инструкций SISD, MISD=пусто, SIMD, MIMD. Лекция 6. Классификация по способам разделения памяти. Коллективная и распределенная память. Равномерный и неравномерный доступ к общей памяти, кэш память. Особенности программирования для компьютеров с распределенной памятью. Структура распределения памяти в современных компьютерах (IBM, SUN, SGI, HP, NEC, FUJITSY). Пример: Origin 3000. Топологии обмена информацией (определения связи, физической и логической топологий и диаметра топологии). Лекция 7. О специфических свойствах параллельных алгоритмов: синхронизация, передача сообщений, взаимоблокировка (зависание), когерентность (непротиворечивость) данных. Лекция 8. Основные глобальные операции: Send(nwords, data, ProcNo), Recv(nwords, data, ProcNo), Exchange(ProcNo, nWords, Senddata, ecvData), Gather(root, RecvData, MyData), Scatter(root, SendData, MyData), Broadcast(root, nWords, MData). Reduce и reduceall операции, синхронизация посредством барьеров. Лекция 9. Оценка эффективности параллельных алгоритмов: scalability, granularity, speedup, эффективность распараллеливания (Parallel Efficiency). Теорема Амдаля, баланс нагрузки, стоимость обменов (Communication Expenditure). Тема 3. Метод конечных элементов и распараллеливания его алгоритмов Лекция 10. Вариационные формулировки эллиптических краевых задач. Лекция 11. Метод Галеркина. МКЭ как метод Галеркина для двухточечной задачи для обыкновенного дифференциального уравнения второго порядка. Лекция 12. МКЭ для уравнения Пуассона в прямоугольнике. Произвольная достаточно гладкая область двух измерений и ее триангуляция. Квазиоднородные триангуляции и триангуляции специальной структуры. Лекция 13. МКЭ с элементами 1-го порядка для уравнения Пуассона в произвольной области. Пространство МКЭ, МКЭ как метод Галеркина. СЛАУ МКЭ в рамках метода Галеркина. Лекция 14. Зачем нужны конечные элементы? Матрицы жесткости и векторы нагрузок конечных элементов, их вычисление. Процедура сборки в компьютере СЛАУ МКЭ из матриц жесткости и векторов нагрузок конечных элементов. Лекция 15. Сведение оценок погрешности к оценкам аппроксимации. Общая схема получения оценок аппроксимации. Масштабирование. Основные факторы, влияющие на погрешность решений МКЭ. Лекция 16. Двухслойные итерационные методы решения СЛАУ и скорость их сходимости. Сходимость в случае СЛАУ МКЭ. Лекция 17. Двухслойные итерационные методы решения СЛАУ с с.п.о. матрицами и скорость их сходимости. Сходимость в случае СЛАУ МКЭ. Тема 4. Основные алгоритмы метода конечных элементов в параллельном режиме Лекция 18. Хранение разреженных матриц. Декомпозиция области непересекающимися элементами и четыре способа распределения данных: взаимно налегающие элементы, взаимно налегающие узлы, непересекающиеся элементы, непересекающиеся узлы. Операции умножения вектор-вектор и матрица-вектор. Тема 5. Классические методы решения Лекция 19. Прямые методы: LU-факторизация, параллельный вариант, ILU-факторизация, параллельный вариант, сравнение LU и ILU алгоритмов, ILU-факторизация в специальных случаях. Лекция 20. Сглаживатели: метод Якоби, метод Гаусса-Зейделя, его красно-черный и параллельный варианты, метод переменных направлений. Лекция 21. Огрубители: параллельный метод сопряженных градиентов, обобщенный метод сопряженных невязок (GMRES), метод квазиминимальных невязок (QMR), стабилизированный метод бисопряженных градиентов (BICSTAB). Предобусловливание. Тема 6. Многосеточный метод и метод декомпозиции области Лекция 22. Общий алгоритм многосеточного метода. Лекция 23. Компоненты параллельного алгоритма многосеточного метода. Лекция 24. Аддитивный МДО c перекрытием подобластей декомпозиции. Зависимость скорости сходимости и объема обмена информацией между процессорами от величины перекрытия. МДО как предобусловливание. Лекция 25. Структура предобусловливателя МДО без перекрытия подобластей декомпозиции. Связь с методом подструктур. Лекция 26. Предобусловливание посредством неточных солверов. Предобусловливатель-солвер для матрицы дополнения Шура. Лекция 27. Трудоемкость алгоритма в зависимости от качества предобусловливания компонент. Предвидение без действия -- мечта. Действие без предвидения -- кошмар. Японская поговорка. Раздел 3. Организация, структура и содержание учебных занятий 3.1. Методическое обеспечение 3.1.1. Методическое обеспечение аудиторной работы При изучении курса в ряде случаев предполагается использовать портативный компьютер и медиапроектор 3.1.2. Методическое обеспечение самостоятельной работы СРС направлена на закрепление и углубление освоения учебного материала, развитие практических умений. СРС включает следующие виды самостоятельной работы студентов: – работа с материалом, с рекомендованной учебной литературой; – изучение разделов, вынесенных на самостоятельную проработку; – выполнение домашних заданий, домашних контрольных работ заданных преподавателем; – подготовка к практическим занятиям; – подготовка к контрольным заданиям, экзамену. Примерный краткий перечень вопросов к экзамену. Тема 1. ПРОСТЕЙШИЕ ПРИМЕРЫ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ 1. Конечно-разностная аппроксимация уравнения Лапласа и распараллеливание прямых методов ее решения. 2. Классификация итерационных алгоритмов и их арифметическая сложность. 3. Оптимальные порядки исключения в прямых методах решения СЛАУ и метод подструктур и проблемы их распараллеливания. 4. Свойство сглаживания, двухсеточные и многосеточные методы решения. 5. Основные модули метода конечных элементов, приемы построения триангуляций сложных областей. 6. Сборка систем алгебраических уравнений метода конечных элементов, многосеточный параллельный метод ее решения. Тема 2. ОБЩИЕ ПРИЕМЫ И ХАРАКТЕРИСТИКИ РАСПАРАЛЛЕЛИВА- НИЯ 7. Классификация Флинна параллельных компьютеров: определения потоков инструкций SISD, MISD, SIMD, MIMD. 8. Классификация по способам разделения памяти. Структура распределения памяти в современных компьютерах (IBM, SUN, SGI, HP, NEC, FUJITSY). Топологии обмена информацией 9. Специфические свойства параллельных алгоритмов: синхронизация, передача сообщений, взаимоблокировка (зависание), когерентность (непротиворечивость) данных. 10. Основные глобальные операции. 11. Оценка эффективности параллельных алгоритмов. Тема 3. МЕТОД КОНЕЧНЫХ ЭЛЕМЕНТОВ И РАСПАРАЛЛЕЛИВАНИЕ ЕГО АЛГОРИТМОВ 12. Обобщенные/вариационные формулировки эллиптических краевых задач. 13. Метод конечных элементов как метод Галеркина (на примере двухточечной задачи для ОДУ второго порядка). 14. МКЭ для уравнения Пуассона в прямоугольнике и в произвольной д.г. двумерной области. 15. Триангуляции произвольных д.г. (достаточно гладких) областей. Квазиоднородные, неоднородные, структурированные, топологически эквивалентные триангуляции. 16. Простейшие алгоритмы триангуляции и их распараллеливание. 17. Матрицы жесткости и векторы нагрузок конечных элементов, их вычисление. Процедура сборки в компьютере СЛАУ МКЭ. 18. Сведение оценок погрешности к оценкам аппроксимации и способы их получения. Основные факторы, влияющие на погрешность МКЭ. 19. Двухслойные итерационные методы решения СЛАУ с с.п.о. матрицами и скорость их сходимости. Сходимость в случае СЛАУ МКЭ. Тема 4. ОСНОВНЫЕ АЛГОРИТМЫ МЕТОДА КОНЕЧНЫХ ЭЛЕМЕТОВ В ПАРАЛЛЕЛЬНЫХ РЕЖИМАХ 20. Хранение разреженных матриц. Декомпозиция области непересекающимися подобластями и четыре способа распределения данных. Тема 5. КЛАССИЧЕСКИЕ МЕТОДЫ РЕШЕНИЯ СЛАУ 21. Параллельные варианты прямых методов: LU и ILU факторизации, их сравнение. ILU-факторизация в специальных случаях. 20. Сглаживатели (smoothers): метод Якоби, метод Гаусса-Зейделя, его красно-черный и паралельный варианты, метод переменных направлений. 21. Огрубители (roughers): параллельный метод сопряженных градиентов.. 22. Огрубители (roughers): метод квазиминимальных невязок (QMR), стабилизированный метод бисопряженных градиентов (BICSTAB), предобусловливание. Тема 6. МНОГОСЕТОЧНЫЙ МЕТОД, МЕТОД ДЕКОМПОЗИЦИИОБЛАСТИ И ДР. 23. Общий алгоритм многосеточного метода. 24. Компоненты параллельного алгоритма многосеточного метода. 25. Аддитивный МДД c перекрытием подобластей декомпозиции. Зависимость скорости сходимости и объема обмена информацией между процессорами от величины перекрытия. МДД как предобусловливание. 26. Структура предобусловливателя МДО без перекрытия подобластей декомпозиции. Связь с точным методом подструктур. 27. Предобусловливание посредством неточных солверов. Предобусловливатель-солвер для матрицы дополнения Шура для интервэйсной границы между подобластсями декомпозиции. аа 3.1.3. Методика проведения текущего контроля успеваемости, промежуточной аттестации и критерия оценивания 3.1.4. Методические материалы для проведения текущего контроля успеваемости и промежуточной аттестации (контрольно-измерительные материалы) 3.2. Кадровое обеспечение 3.2.1. Требования к образованию и (или) квалификации штатных преподавателей и иных лиц, допущенных к преподаванию дисциплины 3.2.2. Требования к обеспеченности учебно-вспомогательным и (или) иным персоналом 3.2.3. Методические материалы для оценки обучающимися содержания и качества учебного процесса 3.3. Материально-техническое обеспечение 3.3.1. Требования к аудиториям (помещениям, местам) для проведения занятий 3.3.2. Требования к аудиторному оборудованию, в том числе к неспециализированному компьютерному оборудованию и программному обеспечению общего пользования При изучении курса в ряде случаев предполагается использовать портативный компьютер и медиапроектор 3.3.3. Требования к специализированному оборудованию 3.3.4. Требования к специализированному программному обеспечению 3.3.5. Требования к перечню и объёму расходных материалов 3.4. Информационное обеспечение 3.4.1. Список обязательной литературы: 1. В.В. Воеводин. Вычислительная математика и структура алгоритмов. Издательство МГУ, 2010, 163 с. 2. И.Г. Бурова, Ю.К. Демьянович, Т.О. Евдокимова, О.Н. Иванцова, И.Д. Мирошниченко Параллельные алгоритмы. Разработка и реализация. Учебное пособие. М., Национальный открытый университет Интуит-Бином. Лаборатория знаний. 2012, 343с. 3.4.2. Список дополнительной литературы 1. C. C. Douglas, G. Haase, U. Langer. A Tutorial on Elliptic PDE Solvers and their Parallelization, SIAM, Philadelphia, 2002. 2. M. Bruaset, a. Tveito, eds. Numerical solution of differential equations on parallel computers. Lecture notes in science and engineering, v.51, Shpringer, 2006. 3. Э. Митчелл, Р. Уэйт. Метод конечных элементов для уравнений с частными производными. Москва, «Мир», 1981. 4. О. Зенкевич. Метод конечных элементов в технике. Москва, «Мир», 1975. 5. Р.З. Даутов, М.М. Карчевский. Введение в теорию метода конечных элементов. Казань. Казанский государственный университет. 2004 6. Ю.С. Васильев, В.Г. Корнеев В.Г. Третий компонент познания - научные компьютерные супервычисления. Ученые записки Казанского государственного университета. Казань: Казанский государственный университет, Т. 149, кн. 4, 2007. 7. V. Korneev and Langer U.Domain Decomposition Methods and Preconditioning. In: Encyclopedia of Computational Mechanics,V.1. E. Stein, R. de Borst and Th.J.R. Hudges eds. — 2004 John Wiley & Sons, Ltd. 617-647., 2004. 3.4.3. Перечень иных информационных источников Разработчик рабочей программы: профессор мат-мех факультета СПбГУ Корнеев Вадим Глебович, [email protected]