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