NPTEL Syllabus
Parallel Computing - Video course
 COURSE OUTLINE
 This is a first course in parallel programming and does not require any previous parallel
 computing experience. Data structures and Operating Systems are required. L-T-P: 3-0-2.
 With the growing number of cores on a chip, programming them efficiently has become an
 indispensable knowledge for the future. Modern Parallel Programming is a hands-on            NPTEL
 course involving significant parallel programming on compute-clusters, multi-core CPUs
 and massive-core GPUs.
                                                                                             http://nptel.iitm.ac.in
 COURSE DETAIL                                                                                 Computer
                                                                                              Science and
  Module/Lecture Details                                Topics
                                                                                              Engineering
                             Module 1: Parallel Computing
                                                                                              Coordinators:
                                                                                              Dr. Subodh Kumar
  Lecture 1                  Introduction                                                     Department of Computer
                                                                                              Science & EngineeringIIT
                                                                                              Delhi
  Lecture 2                  Parallel Programming Paradigms
  Lecture 3                  Parallel Architecture
  Lecture 4                  Parallel Architecture (case studies)
  Lecture 5                  Open MP
  Lecture 6                  Open MP(Contd.)
  Lecture 7                  Open MP(Contd..)
  Lecture 8                  Open MP&PRAM Model of Computation
  Lecture 9                  PRAM
  Lecture 10                 Models of Parallel Computation, Complexity
  Lecture 11                 Memory Consistency
Lecture 12   Memory Consistency & Performance Issues
Lecture 13   Parallel Program Design
Lecture 14   Shared Memory & Message Passing
Lecture 15   MPI
Lecture 16   MPI(Contd.)
Lecture 17   MPI(Contd..)
Lecture 18   Algorithmic Techniques
Lecture 19   Algorithmic Techniques(Contd.)
Lecture 20   Algorithmic Techniques(Contd..)
Lecture 21   CUDA
Lecture 22   CUDA(Contd.)
Lecture 23   CUDA(Contd..)
Lecture 24   CUDA(Contd...)
Lecture 25   CUDA(Contd....)
Lecture 26   CUDA(Contd.....)
Lecture 27   CUDA(Contd......)
Lecture 28   Algorithms,Merging & Sorting
Lecture 29   Algorithms,Merging & Sorting(Contd.)
Lecture 30   Algorithms,Merging & Sorting(Contd..)
Lecture 31   Algorithms,Merging & Sorting(Contd...)
  Lecture 32                     Algorithms,Merging & Sorting(Contd....)
  Lecture 33                     Lower Bounds Lock Free Synchronization,Load Stealing
  Lecture 34                     Lock Free Synchronization,Graph Algorithms
 References:
    1. Parallel Programming in C with MPI and OpenMP by M J Quinn
    2. Introduction to Parallel Computing by Ananth Grama, George Karypis, Vipin Kumar,
       and Anshul Gupta.
    3. Programming Massively Parallel Processors by D. Kirk and W. Hwu
A joint venture by IISc and IITs, funded by MHRD, Govt of India                           http://nptel.iitm.ac.in