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 |
|