Parallel Programming (3:1)

The objective of this course is to give you some level of confidence in parallel programming techniques, algorithms and tools. At the end of the course, you would (we hope) be in a position to deal with real-life parallel  problems and to explore new avenues of research in the area of parallel programming.

Class

  1. Aditya Acharya
  2. Pavan Badarla
  3. Geetha Venkatesh
  4. Jayasimha Talur
  5. Aniruddha Acharya
  6. Aakriti Gupta
  7. Aashish Viswakarma
  8. Pavan Akulakrishna
  9. Jagvir Singh

 

Instructor

Sathish Vadhiyar

Reading Materials

Additional Reading

Meeting Hours

  11:30-13:00;   Tuesday, Thursday; Room 202, SERC

Grading System

Syllabus

    1. Prerequisites - Introduction, MPI, OpenMP, CUDA-basics
    2. Parallel Programming tools/languages/models - 1
      1. MPI - collective communication implementations, communicator groups, process topologies
    3. Parallel Algorithms
      1. List Ranking and Parallel Prefix ppt
      2. Sorting ppt
      3. Graph ppt
      4. FFT ppt
    4. Matrix computations
      1. Dense matrix computations ppt
      2. Sparse matrix computations ppt
    5. Advanced Parallel Programming Constructs and Optimizations
      1. MPI-2 ppt
      2. Parallel I/O optimizations ppt
      3. GPU programming - CUDA Optimizations ppt, Advanced CUDA Slides
      4. OpenCL - class ppt, lecture 5 from open university kit
      5. Charm++ ppt
    6. Scientific Applications
      1. Molecular Dynamics ppt
      2. Population evolution or Game of Life ppt
      3. Cosmology/n-nody simulations ppt
      4. Mesh applications ppt
    7. Parallel System Software
      1. Scheduling in Parallel Systems ppt
      2. Checkpointing and Fault tolerance for large systems ppt

Reading Material

Assignments

  1. Parallel Prefix

  2. Sparse Matrix-vector Multiplication

  3. Loadbalancing BFS

  4. Sparse matrix triangular solve

Final Project

The final project has to clearly demonstrate the uniqueness of your work over existing work and show adequate performance improvements. It can be in

 

Notes - contains important information on assignment deadlines, policies on plagiarism.

Platform for Assignments and Project- Tyrone, Tesla

Parallel Profilers