Колегов К.С., Золотарев П.А., Есеркепов А.В., Хусаинова Л.Т., Алексеев А.А., Письменская А.А. Суперкомпьютерные технологии в задачах моделирования (онлайн-курс).— Астрахань: АГУ им. В.Н. Татищева, 2023. URL: http://www.kimrt.ru/index/course_stm/0-24
Цель курса: сформировать представление о современных методах моделирования, направленных на решение научных и инженерных задач, с использованием высокопроизводительных вычислительных систем.
Задачи:
- рассмотреть наиболее известные и перспективные методы моделирования на примере конкретных задач из различных областей знаний;
- познакомиться с архитектурой современных суперкомпьютерных систем;
- получить практические навыки по работе с некоторыми существующими библиотеками и прикладными программами, позволяющими выполнять высокопроизводительные вычисления;
- сформировать интерес к научно-исследовательской работе в области моделирования и суперкомпьютерных технологий.
Тема 1. Введение в дисциплину
Лекция 1. Введение
Тест 1
Тема 2. Методы моделирования
Лекция 2. Методы моделирования: Часть 1
Лекция 2. Методы моделирования: Часть 2
Лабораторные работы
- Метод Монте-Карло
- Клеточный автомат Игра «Жизнь»
- Метод конечных разностей
- Построение модели логических операций средствами нейронной сети
Самостоятельные работы
Тест 2
Тема 3. Архитектуры суперкомпьютеров
Видеолекции
Лекция 3. Архитектуры суперкомпьютеров: Часть 1
Лекция 3. Архитектуры суперкомпьютеров: Часть 2
Тест 3
Тема 4. Программы, языки и библиотеки для параллельных вычислений
Видеолекции
Лекция 4. Программы, языки и библиотеки для параллельных вычислений
Лабораторные работы
- Параллельная реализация метода Монте-Карло
- Параллельная реализация игры «Жизнь» средствами OpenMP
- Задача о загрузке судна
- Создание нейронной сети классификации одежды
Самостоятельные работы
- Установка CUDA toolkit
- Создание проекта на языке DPC++
- Подготовка к работе с библиотекой MPI
- Подготовка к работе со стандартом OpenACC
- Настройка OpenMP проекта в Visual Studio
- Основы работы с PyCUDA
- Работа с threading и multiprocessing в Python
- Настройка проекта OpenCL
- Модель параллельного программирования Task в Maple
- Подготовка к работе с AMD HIP
- Установка CUDA под операционной системой Linux Debian 11
- Настройка OpenMP проекта в Code::Blocks под операционной системой Linux Debian 11
- Вычисления на CPU средствами Matlab Parallel Computing Toolbox: параллельный цикл parfor
- Вычисления на GPU средствами Matlab Parallel Computing Toolbox
- Вычисления на CPU средствами Matlab Parallel Computing Toolbox: конструкция spmd
Тест 4
Тема 5. Программы, языки и библиотеки обработки, анализа и визуализации данных
Видеолекции
Лекция 5. Программы, языки и библиотеки обработки, анализа и визуализации данных
Лабораторные работы
- Работа с графами и визуализация
- Визуализация игры жизнь средствами Python
- Обработка и визуализация данных в Python
- Решение задачи N-тел на GPU средствами NVIDIA и визуализация на основе OpenGL
Самостоятельные работы
- Визуализация моделирования в Python
- Библиотека Matplotlib в Python: построение графиков
- Создание OpenGL проекта в Visual Studio
- Визуализация моделирования средствами языка C++ и библиотеки OpenGl на примере клеточного автомата «Игра жизнь»
- Построение графиков с погрешностями в Excel (архив данных - скачать)
- Основы работы с библиотеками SciPy и NumPy
- Создание оконных приложений с помощью Python и Tkinter
- Визуализация данных средствами языка Python, библиотек Tkinter и Matplotlib
- Создание формы с графиком в Visual Studio C++
- Визуализация графов средствами языка Python и библиотеки igraph
- Визуализация игры Жизнь в ParaView
- Визуализация данных средствами языка Asymptote
- Основы работы с Pandas
- 3D визуализация средствами python и matplotlib (архив данных - скачать)
Тест 5
Проект реализуется победителем Конкурса на предоставление грантов преподавателям магистратуры 2020/2021 благотворительной программы «Стипендиальная программа Владимира Потанина» Благотворительного фонда Владимира Потанина.