Course topics

We will spend the first eight or nine weeks of the class on general ideas in high performance parallel program design, with examples drawn from scientific computing. We will loosely follow the book Parallel Programming by Wilkinson and Allen. Topics include:

For the rest of the class, we will discuss more examples from scientific computing and additional programming topics. The exact selection will depend in part on student background and interests, but may include:


There will be three programming assignments and a final project, respectively emphasizing serial performance, MPI, OpenMP, and an application. If you work with simulations in your own research, you may propose a project based on those simulation tools. The final projects may be done individually or in small groups.