Современные персональные комьютеры и смартфоны построены на основе многоядерных CPU и обладают мощностями суперкомпьютеров конца 90х годов ХХ века. Для эффективного использования таких вычислительных мощностей и создания разработчик должен иметь представление о параллельном программировании. В рамках данного курса дается начальное представление о принципах построения параллельных алгоритмов, рассматриваются примеры параллелизации последовательного кода, разбираются различные типы параллельных архитектур. Слушатели курса узнают об основых узких местах параллелизации и базовых методах оптимизации параллельных алгоритмов. Рассматриваются примеры разработки параллельных программ под многопроцессорные и многоядерные системы с использованием технологий OpenMP и MPI. Показывается, каким образом можно использовать быстродействие приложения как конкурентное преимущество. Методы и подходы изучаемые в рамках данного курса будут интересны широкому кругу разработчиков прикладного, системного и научного программного обеспечения.
Date and time | Class|Name | Venue|short | Materials |
---|---|---|---|
25 April 11:50–13:20 |
Введение в параллельное программирование, Lecture | 2-й учебный корпус К(П)ФУ, ауд. 1011 | No |
25 April 15:20–16:50 |
Введение в технологию OpenMP, Lecture | 2-й учебный корпус К(П)ФУ, ауд. 1011 | No |
26 April 15:20–16:50 |
Синхронизация в OpenMP, Lecture | 2-й учебный корпус К(П)ФУ, ауд. 1011 | No |
27 April 11:50–13:20 |
Оптимизация алгоритмов с использованием OpenMP, Lecture | 2-й учебный корпус К(П)ФУ, ауд. 1011 | No |
27 April 13:35–15:05 |
Введение в технологию MPI, Lecture | 2-й учебный корпус К(П)ФУ, ауд. 1011 | No |
28 April 10:10–11:40 |
Разработка параллельного кода с использованием MPI, Lecture | 2-й учебный корпус К(П)ФУ, ауд. 1011 | No |