Параллельные вычислительные технологии (ПВТ)
Весенний семестр 2026
17 лекций, 17 практических занятий, зачет
Зачет
Материалы лекций
- Лекция 1. Многопроцессорные вычислительные системы
- Лекция 2. Оптимизация работы с кеш-памятью процессора
- Лекция 3. Оптимизация ветвлений и размещения кода
- Лекция 4. Многопоточное программирование POSIX Threads
- Лекция 5. Стандарт OpenMP: умножение матрицы на вектор
- Лекция 6. Стандарт OpenMP: численное интегрирование
- Лекция 7. Стандарт OpenMP: решение СЛАУ
- Лекция 8. Стандарт OpenMP: параллельные сеточные вычисления
- Лекция 9. Стандарт OpenMP: гравитационная задача N тел
Практические работы
Лабораторные работы выполняются в операционной системе GNU/Linux на языках программирования C/C++.
- Задание 1. Оптимизация доступа к памяти, циклов и ветвлений, (src: pct-spring-lab1.tar.gz) Deadline: 15.03.2026
- Задание 2. Распараллеливание умножения матрицы на вектор (DGEMV), Deadline: 05.04.2026
- Задание 3. Параллельное численное интегрирование, Deadline: 26.04.2026
- Задание 4. Гравитационная задача n-тел (n-body), Deadline: 10.05.2026
- Задание 5. Параллелизм задач, Deadline: до зачетной недели
Материалы по курсу
Параллельные вычисления
- Эндрюс Г. Основы многопоточного, параллельного и распределенного программирования. - М.: Вильямс, 2003.
- Лацис А. Параллельная обработка данных. - М.: Академия, 2010.
- Расс Миллер, Лоренс Боксер. Последовательные и параллельные алгоритмы. - М.: Бином, 2009
- Ian Foster. Designing and Building Parallel Programs
Многопоточное программирование
- Уильямс Э. Параллельное программирование на С++ в действии. Практика разработки многопоточных программ. - М.: ДМК Пресс, 2012.
- Шамим Эхтер, Джейсон Робертс. Многоядерное программирование. - СПб.: Питер, 2010.
- Maurice Herlihy, Nir Shavit. The Art of Multiprocessor Programming, Morgan Kaufmann, 2012
- Darryl Gove. Multicore Application Programming: for Windows, Linux, and Oracle Solaris, Addison-Wesley, 2010
- Richard H. Carver, Kuo-Chung Tai. Modern Multithreading : Implementing, Testing, and Debugging Multithreaded Java and C++/Pthreads/Win32 Programs, Wiley-Interscience, 2005
- Gadi Taubenfeld. Synchronization Algorithms And Concurrent Programming, Pearson, 2006
OpenMP
- http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf OpenMP 4.0 Specification
- Антонов А.С. Параллельное программирование с использованием технологии OpenMP. - М.: МГУ, 2009
- Алексей Колосов, Андрей Карпов, Евгений Рыжков. 32 подводных камня OpenMP при программировании на Си++, 2009
- Антонов А.С. Технологии параллельного программирования MPI и OpenMP. - М.: МГУ, 2012
- Tim Mattson. A “Hands-on” Introduction to OpenMP
- Advanced OpenMP Topics // NAS Webinar, 2012
Архитектура вычислительных систем
- Хорошевский В.Г. Архитектура вычислительных систем. - М.: МГТУ им. Н. Э. Баумана, 2008.
- Корнеев В.В. Вычислительные системы. – М.: Гелиос АРВ, 2004. – 512 с.
- Степаненко С.А. Мультипроцессорные среды суперЭВМ. Масштабирование эффективности. – М.: ФИЗМАТЛИТ, 2016. – 312 с.
- Столлингс В. Структурная организация и архитектура компьютерных систем. - М.: Вильямс, 2002
- John L. Hennessy, David A. Patterson. Computer Architecture: A Quantitative Approach, 5 ed., Morgan Kaufmann, 2011
- Randal E. Bryant, David R. O'Hallaron. Computer Systems: A Programmer's Perspective. - Addison-Wesley, 2010
- Denis Bakhvalov. Performance Analysis and Tuning on Modern CPUs: Squeeze the last bit of performance from your application, 2020