Проект Templet

акторный фреймворк для запуска задач
на множестве ядер, кластерах и в облаках
templet.ssau.ru

Инструменты пользователя

Инструменты сайта


presentations:лекции_по_курсу_параллельное_программирование

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
presentations:лекции_по_курсу_параллельное_программирование [2024/09/21 18:44] vostokinpresentations:лекции_по_курсу_параллельное_программирование [2025/03/30 16:51] (текущий) vostokin
Строка 1: Строка 1:
 ===== Параллельное программирование ===== ===== Параллельное программирование =====
  
-==== Объявления !!!  ==== +[[https://ssau.ru/rasp?staffId=60085001|Расписание занятий на весенний семестр 2024/25 уч.года.]]
-  * **23.09.2024** Практические занятия у группы 6401 перенесены. +
-  * **24.09.2024** Лекция по Параллельному программированию замещаются лекцией по Теории информации (преподаватель Филиппов Г.А.)[[https://ssau.ru/rasp?staffId=60085001]]. +
- +
-[[https://ssau.ru/rasp?staffId=60085001|Расписание занятий на осенний семестр 2024/25 уч.года.]]+
  
 [[https://bbb.ssau.ru/b/tqv-dvf-gny|Видеоконференция BBB]] [[https://bbb.ssau.ru/b/tqv-dvf-gny|Видеоконференция BBB]]
Строка 20: Строка 16:
   - Распараллеливание итеративных программ: как работает конструкция #pragma omp parallel for {{presentations:OpenMP for.pdf|pdf}}    - Распараллеливание итеративных программ: как работает конструкция #pragma omp parallel for {{presentations:OpenMP for.pdf|pdf}} 
   - Программирование в распределённой памяти: интерфейс передачи сообщений MPI {{:presentations:распределённая память MPI.pdf|pdf}}   - Программирование в распределённой памяти: интерфейс передачи сообщений MPI {{:presentations:распределённая память MPI.pdf|pdf}}
 +  - Лекция Т.Маттсона "Практическое руководство по OpenMP" [[https://www.openmp.org/wp-content/uploads/Intro_To_OpenMP_Mattson.pdf|pdf]]
   - Моделирование параллельных и распределённых вычислений{{presentations:моделирование распределённых вычислений.pdf|pdf}}   - Моделирование параллельных и распределённых вычислений{{presentations:моделирование распределённых вычислений.pdf|pdf}}
  
Строка 34: Строка 31:
   * [[https://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%BD%D0%BE%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C|SMT]]   * [[https://ru.wikipedia.org/wiki/%D0%9E%D0%B4%D0%BD%D0%BE%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C|SMT]]
   * [[https://ru.wikipedia.org/wiki/GPGPU | GPGPU - неспециализированные вычисления на графических процессорах ]]   * [[https://ru.wikipedia.org/wiki/GPGPU | GPGPU - неспециализированные вычисления на графических процессорах ]]
 +  * [[https://en.wikipedia.org/wiki/ROCm | ROCm ]] [[https://en.wikipedia.org/wiki/CUDA| CUDA]]
   * [[https://en.wikipedia.org/wiki/Computer_cluster|Вычислительный кластер]]   * [[https://en.wikipedia.org/wiki/Computer_cluster|Вычислительный кластер]]
   * [[https://boinc.berkeley.edu/|ГРИД BOINC]]   * [[https://boinc.berkeley.edu/|ГРИД BOINC]]
Строка 40: Строка 38:
   * [[https://en.wikipedia.org/wiki/Algorithmic_skeleton|Алгоритмические скелеты]]   * [[https://en.wikipedia.org/wiki/Algorithmic_skeleton|Алгоритмические скелеты]]
   * [[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B2%D0%B5%D1%82%D0%B2%D0%B5%D0%B9_%D0%B8_%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86|Метод ветвей и границ]][[https://en.wikipedia.org/wiki/Branch_and_bound|Метод ветвей и границ (Eng.)]]   * [[https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%B2%D0%B5%D1%82%D0%B2%D0%B5%D0%B9_%D0%B8_%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%86|Метод ветвей и границ]][[https://en.wikipedia.org/wiki/Branch_and_bound|Метод ветвей и границ (Eng.)]]
 +  * [[https://en.wikipedia.org/wiki/Weak_consistency|Модель слабой согласованности]]
 +  * [[https://www.mcs.anl.gov/~itf/dbpp/text/node15.html|Модель процесса разработки параллельных программ. Ян Фостер - Designing and Building Parallel Programs]]
  
 Лабораторные задания по курсу "параллельное программирование" {{:presentations:задания_к_лабораторным_пп.pdf|pdf}} Лабораторные задания по курсу "параллельное программирование" {{:presentations:задания_к_лабораторным_пп.pdf|pdf}}
 +
 +Отчет по лабораторному практикуму должен содержать ответы, подкрепленные результатами экспериментов, на следующие на вопросы:
 +  * Для какой размерности имеет смысл распараллеливание алгоритма? 
 +  * Какое предельное значение ускорения достижимо на используемых вами типах компьютеров?
 +  * Какой компьютер из используемых в экспериментах имеет большую производительность в режиме последовательного счета, в режиме параллельного счета?
 +  * На сколько отличаются по производительности реализации алгоритмов, использующие OpenMP и реализованные без использования OpenMP? Удалось ли получить сравнимые с OpenMP показатели скорости параллельного счета?  
 +
 Пример реализации алгоритмического скелета Bag of tasks {{:other:task-bag.zip|zip}} Пример реализации алгоритмического скелета Bag of tasks {{:other:task-bag.zip|zip}}
  
Строка 48: Строка 55:
 Грегори Эндрюс [[http://www.studmed.ru/endryus-gr-osnovy-mnogopotochnogo-parallelnogo-i-raspredelennogo-programmirovaniya_813e51c9633.html|Основы многопоточного, параллельного и распределенного программирования]] Грегори Эндрюс [[http://www.studmed.ru/endryus-gr-osnovy-mnogopotochnogo-parallelnogo-i-raspredelennogo-programmirovaniya_813e51c9633.html|Основы многопоточного, параллельного и распределенного программирования]]
  
-** Группы осеннего семестра 2024 года** +** Группы весеннего семестра 2025 года** 
-  * [[https://docs.google.com/spreadsheets/d/15VM_NWMd4g6PN0KJWJ9Lo0rhmKTcPYcOMrRRi40C48E/edit?usp=sharing|Группа 6401-020302D]] +  * [[https://docs.google.com/spreadsheets/d/1qqDBynVX7WSc8fuCd5pp40WdR-srgQ6zb6cA-OedNGc/edit?usp=sharing|Группа 6401-090301D]] 
-  * [[https://docs.google.com/spreadsheets/d/17I1K16ykZZCqsY81tIen6N83xHlJu-39JqriKjXXHfA/edit?usp=sharing|Группа 6402-020302D]] +  * [[https://docs.google.com/spreadsheets/d/1PrS7olRhmlt9buZQ3z7BQxrv2MK8CuNL_NqpNAMrs6M/edit?usp=sharing|Группа 6402-090301D]] 
-  * [[https://docs.google.com/spreadsheets/d/1PSZBUm5M3puyk2AMP7LrewBo2CMgeUCIh9plO3TEY1s/edit?usp=sharing|Группа 6403-020302D]] +  * [[https://docs.google.com/spreadsheets/d/12II7PlbCgUP_ZpTQUizYw72tS7yHMn9NIsfY5AydzUE/edit?usp=sharing|Группа 6403-090301D]] 
-  +  * [[https://docs.google.com/spreadsheets/d/1jjC2lgF44jquvr7jOTunbKBjlPQq_cwA7pcma3Jwz8g/edit?usp=sharing|Группа 6404-090301D]] 
presentations/лекции_по_курсу_параллельное_программирование.1726944260.txt.gz · Последнее изменение: 2024/09/21 18:44 — vostokin