Syllabus

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. There is no text for the course -- readings will be assigned in a variety of texts that will be on reserve in the library. 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:

Assignments

There will be one or two warmup programming assignments and some more substantial programming assignments, along with final project. Programming assignments will include serial performance, MPI, OpenMP, GPU programming. The final project should contain a parallel application. If you work with simulations in your own research, you may propose a project based on those simulation tools. The homeworks and final project may be done individually or in small groups.