Lecture
Schedule
January
18
Course overview
23
Basics of computer
architecture: Areg Melik-Adamyan (Intel)
25
Measurements: timing and PAPI
counters
30
Basics of modern compilers:
Areg Melik-Adamyan (Intel)
February
1
Sources of parallelism and locality in important algorithms (4
lectures):
Graph
algorithms
Additional reading: The TAO of
Parallelism in Programs, Pingali et al, PLDI 2011.
6
8
Computational science
algorithms
13
Video of Miss Marple solving
differential equations
15
Dependences, dependence graphs, work/span, scheduling
20
Cache architecture
and memory hierarchy: Areg Melik-Adamyan (Intel)
22
Locality, loop and data
transformations
27
Case study of locality
enhancement: GEMM and ATLAS
March
1
Intel VTune (I) for
cache performance analysis: Jackson Marusarz (Intel)
6
Vectorization (2
lectures): Mike Voss (Intel)
8
13
Spring break
15
20
Shared-memory architectures:
cache-coherence
22
pThreads programs (2 lectures)
27
29 Case study of
vectorization and Intel icc compiler: Mike Voss (Intel)
April
3 Memory consistency
5
OpenMP (2 lectures): Mike Voss (Intel)
10
12
Intel Threading Building Blocks: Mike Voss (Intel)
17
Intel Advisor: Jackson Marusarz (Intel)
19 Intel
VTune(II): Jackson Marusarz (Intel)
24
Case
study of shared-memory parallelization: Jackson Marusarz (Intel)
26
MPI(I): Wesley Bland
(Intel)
May
1 MPI(II): Wesley Bland (Intel)
3
Final Exam