• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Магистратура 2020/2021

Суперкомпьютерное атомистическое моделирование

Статус: Курс обязательный (Математические методы моделирования и компьютерные технологии)
Направление: 01.04.02. Прикладная математика и информатика
Когда читается: 1-й курс, 3, 4 модуль
Формат изучения: без онлайн-курса
Преподаватели: Быстрый Роман Григорьевич
Прогр. обучения: Математические методы моделирования и компьютерные технологии
Язык: русский
Кредиты: 6
Контактные часы: 84

Программа дисциплины

Аннотация

Целями освоения дисциплины является ознакомление студентов с методами атомистического моделирования в физике, химии и биологии, а также получение навыка использования современных суперкомпьютеров для проведения численных экспериментов с применением указанных методов.
Цель освоения дисциплины

Цель освоения дисциплины

  • ознакомление студентов с методами атомистического моделирования в физике, химии и биологии
  • получение навыка использования современных суперкомпьютеров для проведения численных экспериментов с применением указанных методов
Планируемые результаты обучения

Планируемые результаты обучения

  • постановки численного эксперимента с использованием методов атомистического моделирования для прикладных и фундаментальных исследований в естественных науках
  • создания программ молекулярно-динамического моделирования, а также использования готовых пакетов программ
  • работы на суперкомпьютерных вычислительных системах в качестве пользователя
  • разработки параллельных программ для систем с общей и распределенной памятью
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Методы атомистического моделирования в физике.
    История и направление развития методов атомистического моделирования. Примеры применения методов молекулярной динамики для задач физики плазмы и конденсированного вещества. Многомасштабная модель. Сферы применения суперкомпьютеров, необходимость их применения в задачах атомистического моделирования. Обзор высокопроизводительных систем в России и за рубежом. Обсуждение последних редакций рейтингов Top-500 и Top-50. Основы метода молекулярной динамики. Потенциал Леннарда-Джонса. Решение уравнений движения частиц. Ошибки интегрирования и ошибки округления. Точность сохранения энергии в МД системе. Выбор оптимального шага по времени. Граничные условия при интегрировании уравнений движенияв методе молекулярной динамики. Метод ближайшего образа. Структура программ МД моделирования, простейшая программа для Леннард-Джонсоновского потенциала. Начальные условия, способы расстановки частиц. Применение термостатов Берендсена и Нозе-Хувера. Расчет давления и использование баростатов. Метод Монте-Карло для моделирования систем многих частиц. История и обоснование метода. Алгоритм Метрополиса. Выбор амплитуды случайных источников. Расчет корреляционных функций и равновесных функций распределения. Стохастические свойства динамических систем. Моделирование неравновесных процессов. Иерархия потенциалов взаимодействия частиц для различной степени детализации моделируемой системы. Модели взаимодействия нейтральных атомов и молекул, силовые поля для биологических систем, многочастичные потенциалы для металлов.
  • Многоядерные процессоры. Параллельное программирование для систем с общей памятью.
    Качественный переход от последовательных к массивно-параллельным архитектурам и алгоритмам. Классификация вычислительных систем. Внутренний параллелизм современных процессоров, скалярная и суперскалярная архитекутры, конвейер команд. Многоядерные процессоры. Модели взаимодействия с памятью UMA и NUMA. Перспективы наращивания числа ядер, проблема когерентности кэша. Особенности создания параллельных программ для систем с общей памятью. Поддержка параллелизма на уровне операционной системы. Процессы (process) и потоки (threads). Создание многопоточных программ с использованием базовых средств операционных систем. Синхронизация потоков и детерминированность результатов работы программы. Локальные и общие переменные потоков, безопасный доступ к общим переменным. Побочные эффекты, реентерабельность процедур. Избыточная синхронизации потоков, тупики. Распараллеливание программ с использованием технологии OpenMP. Параллелизм по задачам и по данным. Использование высокоуровневых библиотек и параллельных языков программирования. Отладка параллельных программ. Теоретические основы параллельных алгоритмов. Понятия загруженности, производительности и ускорения. Информационная зависимость операций, графы исполнения. Достаточные условия Бернстайна. Распараллеливание циклов с информационными зависимостями.
  • Оптимизация и распараллеливание в задачах атомистического моделирования.
    Оптимизация расчета взаимодействия частиц,списки Верле,связанные списки. Параллельные алгоритмы: декомпозиция по частицам и по пространству. Эффективность распараллеливания. Оптимизация для дальнодействующих потенциалов. Применение графических ускорителей (ГУ)для вычислений, не связанных с обработкой графических изображений. Архитектура ГУ,организация памяти и избежание задержек, связанных с обращением к памяти. Средства разработки программ для ГУ. Кластеры на основе гибридных систем, включающих ГУ.Эффективность применения ГУ для задач атомистического моделирования. Обзор пакетов молекулярно-динамического моделирования.Классическая и квантовая молекулярная динамика.
  • Архитектура суперкомпьютеров. Параллельное программирование для систем с распределеннойпамятью
    Технологические проблемы повышения быстродействия компьютеров, путь к экзафлопсной производительности. Проблемы энергопотребления и надежности суперкомпьютеров.Архитектура и программное обеспечение типичного суперкомпьютерного кластера. Системы управления очередями задач (PBS, SLURM).Технология MPI. Классификация функций MPI и основные понятия. Компиляция и запуск программ. Функции двухточечного обмена сообщениями. Функции коллективного обмена сообщениями. Односторонняя и двухсторонняя модели обмена сообщениями. Дополнительные возможности стандарта MPI-2.
Элементы контроля

Элементы контроля

  • неблокирующий Домашняя работа
  • неблокирующий Работа студентов на практических занятиях
  • неблокирующий Экзамен
    На экзамене студент может получить дополнительный вопрос (или дополнительную задачу), ответ на который оценивается в 1 балл.
  • неблокирующий Контрольная работа
  • неблокирующий Домашняя работа
  • неблокирующий Работа студентов на практических занятиях
  • неблокирующий Экзамен
    На экзамене студент может получить дополнительный вопрос (или дополнительную задачу), ответ на который оценивается в 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