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