НаУКМА

Інформаційний пакет ЄКТС

<< повернутись

Код: 317595

Назва:

Паралельне програмування



Анотація: Основне завдання курсу – опанування різних технік створення паралельних програм, використовуючи методи синхронізації передачі повідомлень між процесорами та уникати можливих блокувань програми. Студенти ознайомляться з доступним інструментарієм в мові програмування Java, для розробки та покращення додатків для суперкомп’ютера. Буде надано повний опис важливих команд MPI для створення паралельних систем для багатопроцесорних суперкомп’ютерів з розподіленою пам’яттю. Важливим аспектом курсу є формування навичок написання звіту за отриманими дослідженнями виконаної роботи, групове виконання завдань та презентація самостійно опрацьованих тем.

Тип дисципліни: нормативна

Рік навчання: 1

Семестр: осінній

Кількість кредитів: 3,0 (загальна кількість годин - 90 год.; лекції - 10 год.; практичні заняття - 20год.; самостійна робота - 60 год.)

Форма контролю: залік

Викладач(і): Малашонок Г.І.,докт.ф.м.н.,проф.

Результати навчання: знати: основні підходи до створення паралельних систем для розподіленої пам’ятті; проблеми, які виникають під час побудови паралельних програм; підходи до створення паралельних програм з використанням комунікаторів; поняття блоково-рекурсивних алгоритмів; методи реалізації блоково-рекурсивних алгоритмів; підходи до реалізації паралельних програм з використанням специфікаціїї OpenMPI, поняття прискорення програми, ефективності паралельної програми, масштабування паралельної програми; проблематику відлагодження паралельних програм, реалізованих за допомогою OpenMPI.
-вміти: будувати граф блоково-рекурсивного алгоритму; розрізняти підходи статичного та динамічного паралельного програмування; вчитися і оволодівати сучасними знаннями; застосовувати набуті знання в практичних ситуаціях; вибирати потрібний метод вирішення задачі; вибирати і обґрунтовувати метод представлення задачі та підхід, необхідний для вирішення конкретної проблеми; розробляти паралельні програми для розподіленої пам’ятті, використовуючи специфікації MPI; реалізовувати блоково-рекурсивні алгоритми, використовувати бібліотеку для роботи з матрицями MathPartner; порівнювати різні реалізації алгоритмів; досліджувати реалізовані алгоритми; представляти та захищати отримані результати дослідження; оформлювати отримані результати у вигляді звіту.


Необхідні обовязкові попередні й супутні модулі: Дисципліна "Паралельне програмування" є базовою нормативною дисципліною

Зміст дисципліни: Основне завдання курсу – опанування різних технік створення паралельних програм, використовуючи методи синхронізації передачі повідомлень між процесорами та уникати можливих блокувань програми. Студенти ознайомляться з доступним інструментарієм в мові програмування Java, для розробки та покращення додатків для суперкомп’ютера. Буде надано повний опис важливих команд MPI для створення паралельних систем для багатопроцесорних суперкомп’ютерів з розподіленою пам’яттю. Важливим аспектом курсу є формування навичок написання звіту за отриманими дослідженнями виконаної роботи, групове виконання завдань та презентація самостійно опрацьованих тем.


Рекомендована література: 1. Малашонок Г. І., Сідько А. А. Паралельні обчислення на розподіленій пам’яті: OpenMpi,
Java, Math Partner. Навчальний підручник, 2020. 266 с.
2. MATH PARTNER. URL: http://mathpar.ukma.edu.ua
3. MPI: The Message Passing Interface. URL: http://www2.sscc.ru/Links/Litera/tech/mpi.html
4. Open MPI: Open Source High Performance Computing. URL: ttp://www.open-
mpi.org/software/ompi/v1.7/downloads/ openmpi-1.7.4.tar.bz2
5. The HPJava Project. URL: http://www.hpjava.org



Форми та методи навчання: лекції, практичні заняття, самостійна робота

Методи й критерії оцінювання: рейтингове оцінювання за 100-бальною системою: поточний контроль - 60 балів (опитування, практичні заняття, індивідуальне письмове завдання); підсумковий контроль - 40 балів (екзамен).

Мова навчання: українська