Lecture Schedule

 
Course overview

Computational science algorithms: parallelism and locality

Graph algorithms: parallelism and locality

Measurement: execution time and hardware counters

DAG scheduling

Cache models

MMM and ATLAS

Vectorization (courtesy Professor David Padua, UIUC)

Cache-coherent shared-memory multiprocessors

Shared-memory programming: pThreads and OpenMP

Memory consistency(I)
Memory consistency (II)

GPU programming
CUDA

Message-passing and MPI