Parallel Programming Course (ParaP)

This course is not available anymore


This course gives an overview of parallel programming techniques. In this course you will learn the main concepts using languages  and API such as pThreads, OpenMP, MPI, OpenCL, Cuda. This course includes a project where you write a drone auto-pilot based on Cuda (using the platform).

This course is part of the Esir Cuda Training Center. The GPGPU part of this course is available here.

This course is implemented as a flipped classroom using the ScalableLearning platform.

The codes used in the context of this course are available at:

Related Books and Links

  • Georg Hager, Gerhard Wellein, “Introduction to High Performance Computing for Scientists and Engineers”, Chapman & Hall/CRC, 2011.
  • Steven S. Muchnick, “Advanced compiler design and implementation”, Morgan Kaufman, 1997
  • Multicore Programming Practices, Multicore association, 2013:
  • OpenMP
  • OpenACC
  • OpenCL
  • B. Gaster, L. Howes, D. Kaeli, P. Mistry, D. Schaa, “Heterogeneous Computing with OpenCL”, Morgan Kaufman, 2012
  • Write Once Deploy Many-(Cores), Manuel ARENAZ,  Stéphane BIHAN,  François BODIN, Sunita CHANDRASEKARAN, Barbara CHAPMAN, Gilles CIVARIO, Michael BROWNE, Guillaume COLIN de VERDIERE, Romain DOLBEAU, Khaled IBRAHIM, James Lin, HMPP Competence Centers, 2012
  • Introduction to Parallel Computing
  • Optimizing Compilers for Modern Architectures: A Dependence-based Approach, Randy Allen & Ken Kennedy, Morgan Kaufmann Publishers Inc. San Francisco, CA, USA, 2002
  • Supercompilers for Parallel and Vector, Hans Zima, Barbara Chapman, ACM, 1991
  • C. Lin, L. Snyder, “Principles of Parallel Computing”, Pearson, 2008
  • T. Mattson, B. Sanders, B. Massingill, “Patterns for Parallel Programming”, Pearson, 2005
  • Calin Cascaval, “Parallel Programming for Mobile Devices”, PACT 2013 Keynote,

Leave a Reply