Параллельные вычислительные технологии (ПВТ)
Осенний семестр 2024
17 лекций, 17 лабораторных работ, курсовой проект, экзамен
Экзамен
Курсовой проект
- Темы курсовых проектов
- Шаблон отчета
- Защита курсовой [16.12.2024 – 20.12.2024]
Материалы лекций
- Лекция 1. Вводная лекция: вычислительные системы с распределенной памятью
- Лекция 2. Стандарт MPI. Двусторонние обмены
- Лекция 3. Стандарт MPI. Коллективные операции
- Лекция 4. Параллельное численное интегрирование
- Лекция 5. Матричные вычисления
- Лекция 6. Стандарт MPI. Производные типы данных
- Лекция 7. Параллельное решение СЛАУ
- Лекция 8. Параллельные сеточные вычисления
- Лекция 9. Параллельные методы решения задачи N-тел
Практические работы
Лабораторные работы выполняются в операционной системе GNU/Linux на языках программирования C/C++.
- Работа 1. Основные схемы обмена сообщениями // deadline 25.10.2024
- Работа 2. Параллельное численное интегрирование // deadline 15.11.2024
- Работа 3. Параллельное умножение матрицы на вектор (SGEMV) // deadline 29.11.2024
- Работа 4. Параллельное решение стационарного двумерного уравнения Лапласа. Двумерная декомпозиция расчетной области // deadline 13.12.2024
Материалы по курсу
Параллельные вычисления
- Эндрюс Г. Основы многопоточного, параллельного и распределенного программирования. - М.: Вильямс, 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
MPI
- MPI 4.0 Standard, 2021
- Supalov A. Inside MPI, 2020
- Антонов А.С. Параллельное программирование с использованием технологии MPI. - М.: МГУ, 2004
- Pavan Balaji, Torsten Hoefler. MPI for Dummies // ACM Symposium on Principles and Practice of Parallel Programming, 2013
- Pavan Balaji, Torsten Hoefler. Advanced Parallel Programming with MPI-1, MPI-2, and MPI-3 // ACM Symposium on Principles and Practice of Parallel Programming, 2013
- Rolf Rabenseifner, Georg Hager, Gabriele Jost. Hybrid MPI and OpenMP Parallel Programming // Day-long tutorial on Hybrid MPI and OpenMP Parallel Programming from SC13, 2013
Архитектура вычислительных систем
- Хорошевский В.Г. Архитектура вычислительных систем. - М.: МГТУ им. Н. Э. Баумана, 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