Код: 258596Назва:
Багатозадачне та паралельне програмування
Анотація: Метою курсу є ознайомлення студентів з основними поняттями паралельних обчислювальних систем, а також методами паралельного програмування.
Проектування послідовних програм спирається на узагальнену архітектуру фон Неймана. Для паралельних програм не існує єдиної архітектури, більше того, такі архітектури постійно змінюються. Тому проектування та дослідження паралельних програм можна виконувати тільки спираючись на деяку архітектуру паралельного комп'ютера. Можна виділити три основні моделі програмування, пов'язані з певною архітектурою паралельних обчислень:
1. Синхронізація для систем зі спільною пам'яттю (POSIX Thread" та OpenMP).
2. Обмін повідомленнями на системах з розподіленою пам'яттю (MPI).
3. Асинхронне виконання на прискорювачі ("kernel offload"). Приклад - використання графічних прискорювачів (GPU) та інструментів CUDA та OpenCL.