Lecture
Schedule
January
19
Course overview
21/26 Basics of computer
architecture: pipelined and OOO execution processors
Another
useful set of slides on OOO processors
Lectures
from the ECE architecture course
28
Measurements: timing and PAPI counters
February
2/4
x86 ISA
and compilers
9/11/16
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
18
Cache architecture
and memory hierarchy
23/25 Locality, loop and data
transformations
March
2/4 Case study of locality enhancement:
GEMM and ATLAS
9
Intel
VTune (I) profiler for performance analysis
11
Shared-memory
architectures: cache-coherence
16/18 Spring break
23/25 Case study of
vectorization and Intel icc compiler
30
pThreads
programs (3 lectures)
Recorded Lecture
April
1/6
Recorded Lecture (4/2)
Recorded Lecture (4/7)
8 Memory consistency
Recorded Lecture
13/15 OpenMP (2 lectures)
Recorded Lecture (4/14)
Recorded Lecture (4/16)
20 Case
study of shared-memory parallelization
22/27/29
MPI (3 lectures)
May
4
Vectorization (2
lectures)
6