Магистратура
2019/2020
Суперкомпьютерное атомистическое моделирование
Статус:
Курс обязательный (Математические методы моделирования и компьютерные технологии)
Направление:
01.04.02. Прикладная математика и информатика
Кто читает:
Департамент прикладной математики
Когда читается:
1-й курс, 3, 4 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Быстрый Роман Григорьевич
Прогр. обучения:
Математические методы моделирования и компьютерные технологии
Язык:
русский
Кредиты:
6
Контактные часы:
84
Программа дисциплины
Аннотация
Целями освоения дисциплины является ознакомление студентов с методами атомистического моделирования в физике, химии и биологии, а также получение навыка использования современных суперкомпьютеров для проведения численных экспериментов с применением указанных методов.
Цель освоения дисциплины
- ознакомление студентов с методами атомистического моделирования в физике, химии и биологии
- получение навыка использования современных суперкомпьютеров для проведения численных экспериментов с применением указанных методов
Планируемые результаты обучения
- постановки численного эксперимента с использованием методов атомистического моделирования для прикладных и фундаментальных исследований в естественных науках
- создания программ молекулярно-динамического моделирования, а также использования готовых пакетов программ
- работы на суперкомпьютерных вычислительных системах в качестве пользователя
- разработки параллельных программ для систем с общей и распределенной памятью
Содержание учебной дисциплины
- Методы атомистического моделирования в физике.История и направление развития методов атомистического моделирования. Примеры применения методов молекулярной динамики для задач физики плазмы и конденсированного вещества. Многомасштабная модель. Сферы применения суперкомпьютеров, необходимость их применения в задачах атомистического моделирования. Обзор высокопроизводительных систем в России и за рубежом. Обсуждение последних редакций рейтингов Top-500 и Top-50. Основы метода молекулярной динамики. Потенциал Леннарда-Джонса. Решение уравнений движения частиц. Ошибки интегрирования и ошибки округления. Точность сохранения энергии в МД системе. Выбор оптимального шага по времени. Граничные условия при интегрировании уравнений движенияв методе молекулярной динамики. Метод ближайшего образа. Структура программ МД моделирования, простейшая программа для Леннард-Джонсоновского потенциала. Начальные условия, способы расстановки частиц. Применение термостатов Берендсена и Нозе-Хувера. Расчет давления и использование баростатов. Метод Монте-Карло для моделирования систем многих частиц. История и обоснование метода. Алгоритм Метрополиса. Выбор амплитуды случайных источников. Расчет корреляционных функций и равновесных функций распределения. Стохастические свойства динамических систем. Моделирование неравновесных процессов. Иерархия потенциалов взаимодействия частиц для различной степени детализации моделируемой системы. Модели взаимодействия нейтральных атомов и молекул, силовые поля для биологических систем, многочастичные потенциалы для металлов.
- Многоядерные процессоры. Параллельное программирование для систем с общей памятью.Качественный переход от последовательных к массивно-параллельным архитектурам и алгоритмам. Классификация вычислительных систем. Внутренний параллелизм современных процессоров, скалярная и суперскалярная архитекутры, конвейер команд. Многоядерные процессоры. Модели взаимодействия с памятью UMA и NUMA. Перспективы наращивания числа ядер, проблема когерентности кэша. Особенности создания параллельных программ для систем с общей памятью. Поддержка параллелизма на уровне операционной системы. Процессы (process) и потоки (threads). Создание многопоточных программ с использованием базовых средств операционных систем. Синхронизация потоков и детерминированность результатов работы программы. Локальные и общие переменные потоков, безопасный доступ к общим переменным. Побочные эффекты, реентерабельность процедур. Избыточная синхронизации потоков, тупики. Распараллеливание программ с использованием технологии OpenMP. Параллелизм по задачам и по данным. Использование высокоуровневых библиотек и параллельных языков программирования. Отладка параллельных программ. Теоретические основы параллельных алгоритмов. Понятия загруженности, производительности и ускорения. Информационная зависимость операций, графы исполнения. Достаточные условия Бернстайна. Распараллеливание циклов с информационными зависимостями.
- Оптимизация и распараллеливание в задачах атомистического моделирования.Оптимизация расчета взаимодействия частиц,списки Верле,связанные списки. Параллельные алгоритмы: декомпозиция по частицам и по пространству. Эффективность распараллеливания. Оптимизация для дальнодействующих потенциалов. Применение графических ускорителей (ГУ)для вычислений, не связанных с обработкой графических изображений. Архитектура ГУ,организация памяти и избежание задержек, связанных с обращением к памяти. Средства разработки программ для ГУ. Кластеры на основе гибридных систем, включающих ГУ.Эффективность применения ГУ для задач атомистического моделирования. Обзор пакетов молекулярно-динамического моделирования.Классическая и квантовая молекулярная динамика.
- Архитектура суперкомпьютеров. Параллельное программирование для систем с распределеннойпамятьюТехнологические проблемы повышения быстродействия компьютеров, путь к экзафлопсной производительности. Проблемы энергопотребления и надежности суперкомпьютеров.Архитектура и программное обеспечение типичного суперкомпьютерного кластера. Системы управления очередями задач (PBS, SLURM).Технология MPI. Классификация функций MPI и основные понятия. Компиляция и запуск программ. Функции двухточечного обмена сообщениями. Функции коллективного обмена сообщениями. Односторонняя и двухсторонняя модели обмена сообщениями. Дополнительные возможности стандарта MPI-2.
Элементы контроля
- Домашняя работа
- Работа студентов на практических занятиях
- ЭкзаменНа экзамене студент может получить дополнительный вопрос (или дополнительную задачу), ответ на который оценивается в 1 балл.
- Контрольная работа
Промежуточная аттестация
- Промежуточная аттестация (4 модуль)0.4 * Домашняя работа + 0.4 * Работа студентов на практических занятиях + 0.2 * Экзамен
Список литературы
Рекомендуемая основная литература
- Chapman, Barbara. Using OpenMP : Portable Shared Memory Parallel Programming/ Barbara Chapman, Gabriele Jost, Ruud van der Pas, William Gropp, Ewing Lusk.. – MIT Press, 2007
- Технология CUDA в примерах : введение в программирование графических процессоров, Сандерс, Дж., 2011
Рекомендуемая дополнительная литература
- Gropp, William. Using MPI: Portable Parallel Programming with the Message-Passing Interface / William Gropp, Ewing Lusk, Anthony Skjellum. – MIT Press, 2014