Both sides previous revisionPrevious revisionNext revision | Previous revision |
mag:pp [2024/04/17 18:54] – [Лекции по порядку] eugeneai | mag:pp [2024/04/17 19:35] (current) – [Варианты заданий] eugeneai |
---|
==== Высокопроизводительные вычисления ==== | ==== Высокопроизводительные вычисления ==== |
| |
| Лекции лекториума [[https://www.youtube.com/playlist?list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy|Курс: Параллельные вычисления с использованием стандартов MPI, OpenMP, OpenACC]] 10 лекций 8-) |
| |
| ==== Лекции по порядку ==== |
| |
| - [[https://www.youtube.com/watch?v=cNz3PlR8SyA&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=1&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC | Что такое параллельные вычисления ]], Книга по [[https://hpc.icc.ru/documentation/unn/gergel.pdf|теории параллельного программирования]] |
| - [[https://www.youtube.com/watch?v=pEBWTq90p5s&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=2&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC | Архитектуры вычислительных средств, программ, структур данных]] |
| - [[https://www.youtube.com/watch?v=XwN0__nCd8M&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=3&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC|Введение в Message Passing Interface (MPI)]], Учебник по [[https://hpc.icc.ru/documentation/unn/grishagin.pdf|MPI]]. |
| - [[https://www.youtube.com/watch?v=cAys5U8Xoh8&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=4&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC|MPI, коллективный обмен данными (коллективные операции)]] |
| - [[https://www.youtube.com/watch?v=vwicTmEtV-k&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=5&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC|MPI, Передача данных без блокировки]] |
| - [[https://www.youtube.com/watch?v=WMS0sTHvT6U&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=6&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC|Введение в OpenMP]]. Учебник по [[https://hpc.icc.ru/documentation/msu/OpenMP.pdf|OpenMPI]] |
| - [[https://www.youtube.com/watch?v=2pmkbiG6yRc&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=7&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC|OpenMP(продолжение) специальные pragmы]] |
| - [[https://www.youtube.com/watch?v=xur7kSjjM54&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=8&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC|Введение OpenACC - технология переноса вычислений с CPU на акселераторы (GPU)]] |
| - [[https://www.youtube.com/watch?v=mPYLhsyP2pU&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=9&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC|OpenACC, практика, рассмотрение продвинутых техник программирования]] |
| - [[https://www.youtube.com/watch?v=dvRlob1Gf8E&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=10&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC|OpenACC, продвинутые техники (продолжение), инструменты сбора и анализа метрик]] |
| |
| Литература по параллельному программированию - [[https://hpc.icc.ru/foruser/library.html|здесь]] |
| |
| |
| ==== Дополнительные разделы ==== |
| |
- Обзор методов повышения производительности вычислительных систем | - Обзор методов повышения производительности вычислительных систем |
- Экстенсивные методы, параллельное и высокопроизводительные вычисления (HPC) | - Экстенсивные методы, параллельное и высокопроизводительные вычисления (HPC) |
- Модели параллельных схем алгоритмов, сильная и слабая связность ветвей алгоритмов | - Модели параллельных схем алгоритмов, сильная и слабая связность ветвей алгоритмов |
| - Библиотека ScaLAPACK для разработки параллельных схем алгоритмов, основанных на манипуляции с матрицами. |
- Сети Петри, Графовое представление вычислительного процесса | - Сети Петри, Графовое представление вычислительного процесса |
- Построение параллельных схем средствами операционной системы (IPC). | - Построение параллельных схем средствами операционной системы (IPC). |
- Технология OpenMP, | |
- Message passing interface (MPI), | |
- Языки Erlang/Elixir. | - Языки Erlang/Elixir. |
- Распределение потока данных между вычислительными узлами, очереди сообщений | - Распределение потока данных между вычислительными узлами, очереди сообщений RabbitMQ. |
| |
| ===== Варианты заданий ===== |
| |
Лекции лекториума [[https://www.youtube.com/playlist?list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy|Курс: Параллельные вычисления с использованием стандартов MPI, OpenMP, OpenACC]] 10 лекций 8-) | вариант использования технологии: |
| |
| - MPI |
| - OpenMP |
| - OpenACC |
| - CUDA |
| - Threading building blocks |
| - ScaLAPACK |
| - Erlang/Elixir |
| - Hskell |
| |
| Вариант практической задачи (нас интересуют больше слабосвязанные ветви алгоритмов) |
| |
| - Метод ветвей и границ |
| - MiniMax с отсечением (вариант метода ветвей и границ) |
| - Уравнение теплопроводности на сетке |
| - Реализация схемы Map-Reduce |
| - Алгоритм неиерархической кластеризации с использованием нечеткой логики |
| - Выполнение кластерного анализа на большой объеме данных с использованием беггинга |
| - Свой согласованный вариант. |
| |
| Архив методичек "среднего качества" {{pp:parprog.7z|Здесь}}. Из них можно брать задания (они только примитивные очень). **Замечание**: В методичке по MPI не указывается явно, что между вычислителями следует пересылать не весь массив данных, а только необходимую долю. |
| |
==== Лекции по порядку ==== | |
| |
- [[https://www.youtube.com/watch?v=cNz3PlR8SyA&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=1&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC | Что такое параллельные вычисления ]] | |
- [[https://www.youtube.com/watch?v=pEBWTq90p5s&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=2&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC | Архитектуры вычислительных средств, программ, структур данных]] | |
- [[https://www.youtube.com/watch?v=XwN0__nCd8M&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=3&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC|Введение в Message Passing Interface (MPI)]] | |
- [[https://www.youtube.com/watch?v=cAys5U8Xoh8&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=4&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC|MPI, коллективный обмен данными (коллективные операции)]] | |
- [[https://www.youtube.com/watch?v=vwicTmEtV-k&list=PL-_cKNuVAYAWPC1WfK7_6v-gFOm4i7RKy&index=5&ab_channel=%D0%9B%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D1%83%D0%BC|MPI, Передача данных без блокировки]] | |
- [[|]] | |
| |