Lecture
Schedule
August
23
Course overview
25/30
Basics
of computer architecture: pipelined and OOO execution
processors
Another
useful set of slides on OOO processors
Lectures
from the ECE architecture course
September
1
Measurements: timing and PAPI counters
6/8
x86 ISA
and compilers
13/15/20
Sources of parallelism and
locality in important algorithms (3 lectures):
Graph algorithms
Additional reading: The TAO of
Parallelism in Programs, Pingali et al, PLDI 2011.
Computational science
algorithms
Video of Miss Marple
solving differential equations
22
Cache architecture
and memory hierarchy
27/29 Locality, loop and data
transformations
October
4/6
Case study of locality
enhancement: GEMM and ATLAS
11
Intel VTune (I) profiler for performance
analysis
13
Shared-memory
architectures: cache-coherence
18/20/25
pThreads programs (3 lectures)
27
Memory
consistency
November
1/3
OpenMP
Parallel-prefix
8/10
Vectorization (2 lectures)
(UIUC
slides)
15/17
MPI (3 lectures)
22/24 Thanksgiving break
29
GPUs
December
1 GPUs