Параллельные вычислительные технологии (ПВТ)

Осенний семестр 2020

17 лекций, 17 лабораторных работ, курсовой проект, экзамен
Группы: ИВ-721, ИВ-722, ИС-741, ИС-742 (3-й курс)

Экзамен: Вопросы к экзамену (TBD)

Курсовой проект

Материалы лекций

Практические работы

Лабораторные работы выполняются в операционной системе GNU/Linux на языках программирования C, C++. Исходные тексты программ должно быть оформлены в соответствии со стилем K&R или согласно альтернативным стилям: Google C++ Style Guide, Linux kernel coding style.

Материалы по курсу

Параллельные вычисления

  • Эндрюс Г. Основы многопоточного, параллельного и распределенного программирования. - М.: Вильямс, 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 3.0 Standard
  • Антонов А.С. Параллельное программирование с использованием технологии 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