First lecture: Overview of the course & a crash course on C programming
Chapter 1: Modern processors & chosen topics on C programming
Chapter 2: Basic optimization techniques for serial code
Chapter 3: Data access optimization
Chapter 4: Parallel computers
Chapter 5: Basics of parallelization
Chapter 6: Shared-memory parallel programming with OpenMP
Chapter 7: Efficient OpenMP programming
Chapter 8: Locality optimizations on ccNUMA architectures
Chapter 9: Distributed-memory parallel programming with MPI
Chapter 10: Efficient MPI programming
Chapter 11: Hybrid parallelization with MPI and OpenMP
Parallel computing with dense matrices
GPU computing
Summary