Rice University
COMP 422
Parallel Computing
Spring 2008
Lecture Notes and Handouts


  1. Lecture 1 (01/08/08): Introduction (Chapter 1)
  2. Lecture 2 (01/10/08): Parallel Computing Platforms and Memory System Performance (Section 2.2 & 2.3)
  3. Lecture 3 (01/15/08): Interconnection Networks, Cache Coherence, Communication Costs (Section 2.4 & 2.5)
  4. Lecture 4 (01/17/08):Decomposition Techniques for Parallel Algorithms (Sections 2.1 & 3.2)
  5. Lecture 5 (01/22/08): Thread Basics, Introduction to Cilk (Sections 7.1 - 7.4, additional material on Cilk)
  6. Lecture 6 (01/24/08): Advanced Cilk (Sections 2.6 -2.9 & 5.1 -5.4 of Cilk Reference Manual)
  7. Lecture 7 (01/29/08): OpenMP (Section 7.10)
  8. Lecture 8 (1/31/08): Memory Consistency Models and Advanced OpenMP
  9. Lecture 9 (2/05/08): OpenMP 3.0 tasks, Intel Thread Building Blocks
  10. Lecture 10 (2/07/08): Intel Thread Building Blocks (contd)
  11. Lecture 11 (2/12/08): Java Concurrency
  12. Lecture 12 (2/14/08): Single-place Programming in X10
  13. Lecture 13 (2/19/08): Single-place X10 (contd), .NET Parallel Extensions
  14. Lecture 14 (2/21/08): Guest Lecture: High Performance Fortran (Chuck Koelbel)
  15. Lecture 15 (2/26/08): Mid-term Review
  16. Lecture 16 (3/11/08): Programming Using the Message Passing Paradigm, Introduction to MPI (Chapter 6)
  17. Lecture 17 (3/13/08): Basic Communication Operations (Chapter 4)
  18. Lecture 18 (3/18/08): Advanced MPI
  19. Lecture 19 (3/20/08): Guest Lecture --- Mutual Exclusion: Locks & Atomic Primitives (Bill Scherer)
  20. Lecture 20 (3/25/08): Parallel Computation Mode
  21. Lecture 21 (3/27/08): Introduction to Unified Parallel C (UPC)
  22. Lecture 22 (4/01/08): Unified Parallel C (contd)
  23. Lecture 23 (4/08/08): Guest Lecture --- Programming Models for Scientific Computing on Leadership Computing Platforms: The Evolution of Coarray Fortran (John Mellor-Crummey)
  24. Lecture 24 (4/10/08): Parallel Graph Algorithms
  25. Lecture 26 (4/17/08): Course Wrap-Up