CO471 - Parallel Programming, Jan-May, 2017

Welcome to the C0471 - Parallel Programming course page.

Course Objectives

  • Provide systematic and comprehensive treatment of present day concepts in shared and distributed parallel programming.

Course Syllabus

  • Programming Paradigms: Pthreads, OpenMP, MPI, CUDA, OpenCL, XeonPhi programming.
  • Important publications from literature.

Reference Materials

Important Course Materials

Other Reference Books/Textbooks

  • Grama, et. al. Introduction to Parallel Computing. Pearson Ed.
  • Culler, Singh and Gupta. Parallel Computer Architecture. MK.
  • Herlihy and Shavit, The Art of Multiprocessor Programming. MK.

Apart from the above material, each programming assignment PDF lists relevant references.

Programming Assignments

Submit input, code, screenshots, in an archive. Email to

Title Documents/Demo ExamplesSubmission Date
0 Pthreads A0 - Pthreads Programming Assignment.. Jan 2, 5PM.
1 OpenMP A1 - OpenMP Programming Assignment., Molecular Dynamics Serial code., CDAC's OpenMP demo examples.. Jan 9, 5PM.
2 MPI A2 - MPI Programming Assignment.. Jan 16, 5PM.
3 CUDA A3 - CUDA Programming Assignment. Feb 03, 5PM.

Class Schedule

Week Class details
1 Class Zero
Parallel programming case studies..
Reading Assignment: Chapters 1 and 2. Culler, Singh and Gupta. Parallel Computer Architecture. MK.
Pthreads Programming
A0 - Pthreads Programming Assignment is out.
2 OpenMP
A1 - OpenMP Programming Assignment is out.
Pthreads Programming Test.
3 Message Passing Interface
A2 - MPI Programming Assignment is out.
OpenMP Programming Test.
Programming assignment A3 (CUDA) out.