Спеціальні методи програмування та моделювання у фізиці

Лекційних годин: 17

Годин практичних занять: 34

Годин самостійної роботи: 130

1 курс магистров (2 семестр)
Программа курса: 

 Вступ. Паралельні та векторні обчислення. Загальні уявлення про побудову розподілених обчислювальних систем. Багатопроцесорні системи, кластери. Ефективність обчислень. Закон Амдала.

Засоби програмування багатопроцесорних систем. Протокол MPI. Ініціалізація MPI програми та вихід. Загальна структура MPI-програми.

Взаємодія процесів MPI. Парна та колективна взаємодія процесів. Передача повідомлень. Класифікація процедур передачі повідомлень.

Передача та отримання повідомлень із блокуванням. Процедура отримання MPI_Send та її модифікації. Процедура отримання MPI_Recv. Перевірка статусу отриманого повідомлення. Процедура очікування прийому MPI_Probe.

Передача та отримання повідомлень без блокуванням. Процедура отримання MPI_Isend та її модифікації. Процедура отримання MPI_Irecv. Процедура очікування прийому MPI_Iprobe. Сімейство процедур очікування передачі та прийому MPI_Test та MPI_Wait.

Процедури колективної взаємодії процесів. Синхронізація MPI_Barrier. Розсилання повідомлення MPI_Bcast. Сімейство функцій MPI_Scatter розподілу даних. Сімейство функцій MPI_Gather збирання даних. Розсилання даних від усіх процесів усім MPI_Alltoall. Глобальна редукція даних MPI_Reduce та MPI_Scan.

Відсилання повідомлень з даними різного типу. Пакування і розпаковування даних MPI_Pack та MPI_Unpack. Комбіновані типа даних, характер зберігання, створення та знищення. Неперервний, векторний, індексний та структурний способи конструювання.

Операції з групами та комунікаторами. Створення та знищення нових об'єктів.

Контроль знаний: 

Іспит (2 модулі за модульно-рейтинговою системою)

Литература: 

Основна

  1. Антонов А.С. Технологии параллельного программирования MPI и OpenMP: Учеб. пособие. - М.: Издательство Московского университета, 2012.-344 с.
  2. А.С.Антонов Введение в параллельные вычисления (методическое пособие), изд-во Физического факультета МГУ, 2002, 70 стр.
  3. А.С.Антонов Параллельное программирование с использованием технологии MPI: Учебное пособие. -М.: Изд-во МГУ, 2004.-71 с.
  4. А.А. Букатов, В.Н. Дацюк, А.И. Жегуло. Программирование многопроцессорных вычислительных систем. Ростов-на-Дону. Издательство ООО "ЦВВР", 2003, 208с.
  5. В.Д.Корнеев "Параллельное программирование в MPI", изд-во СО РАН, Новосибирск, 2000, 213 стр.
     

Додаткова

  1. В.В.Воеводин, Вл.В.Воеводин "Параллельные вычисления"-СПб.: БХВ-Петербург, 2002.-608 с.
  2. Воеводин Вл.В., Жуматий С.А. "Вычислительное дело и кластерные системы".-М.: Изд-во МГУ, 2007. - 150 с

 

Дополнительные сведения: 

1) Паралельні та векторні обчислення. Протокол MPI (pdf)

2) Структура програми MPI(pdf)

3) Взаємодія процесів, передача повідомлень (pdf)

4) Колективна взаємодія процесів (pdf)

5) Типи даних MPI (pdf)

6) Групи та комунікатори (pdf)