Week Date Topic Files
1 1/25 Introduction; why parallel computing? Notes
1/27 Single processor architecture and memory Notes, Slides
2 2/1 Matrix multiply; tiling; serial tuning Slides
2/3 Introduction to parallel machines and models Slides
3 2/8 Parallel machines and models; shared memory programming Slides
2/10 Monte Carlo case study; OpenMP Slides, Pthreads code, OpenMP code, RNG link
4 2/15 Distributed memory; intro to MPI Slides
2/17 MPI programming Slides
5 2/22 Locality and parallelism in simulation Slides
2/24 Locality and parallelism in simulation II Slides
6 3/1 Locality and parallelism in simulation III Slides
3/3 Dense linear algebra I Slides
7 3/8 Dense linear algebra II Slides
3/10 Sparse linear algebra I Slides
8 3/15 Sparse linear algebra II Slides
3/17 Sparse direct solvers Slides
9 3/22 Spring break
3/24 Spring break
10 3/29 Scripting and steering Slides, Monte Carlo example, Poisson code, Notes from setup
3/31 Unified Parallel C Slides, UPC demo code
11 4/5 Graph partitioning Slides
4/7 Multigrid Slides
12 4/12 Tree codes Slides
4/14 Load balancing Slides
13 4/19 Bone modeling Slides
4/21 FFTs (guest lecture: Charlie Van Loan) Slides
14 4/26 Impact of floating point Slides
4/28 GPU programming Slides, vec add, reduction, Makefile
15 5/3 Tools, trends, concluding thoughts Slides
5/5 Short project presentations