Basic material
--------------------
(1) Course overview
Parallel architectures, parallel algorithms, parallel data
structures
Slides: intro.pdf
Readings:
(1) Moore's Law paper, Electronics, 1965.
(2) Static Power Model for
Architects, Butts and Sohi, Micro 2000.
(3) Introduction to the Cell processor,
Kahle et al, IBM J.Res&Dev, July 2005
(4) The TAO of
Parallelism in Algorithms, Pingali et al., 2011
(2) Sources of Parallelism and Locality in Regular and Irregular
Algorithms
Ordinary
differential equations (ode's), finite-differences,
finite-elements, n-body methods, graph analytics
Slides: Some
computational science algorithms Graph algorithms
MachineLearning1
MachineLearning2
Readings:
(1) Mathematica
tutorial on numerical methods for solving pde's
(2) Delta-stepping: A
Parallel Single-Source Shortest Path Algorithm Meyer and
Sanders (ESA'98)
(3) The anatomy of a large-scale hypertextual web search engine Brin
and Page, Computer Networks and ISDN Systems, April 1998.
(3) Locality(I): Temporal and spatial locality, caches, blocked algorithms
Slides: Cache
models for locality
Readings:
(1) Anatomy of high-performance matrix multiplication, Goto et al, ACM TOMS, May 2008.
(4) Locality(II): Cache-oblivious algorithms
Slides: Cache-oblivious
Programs
Readings:
(1) Cache-oblivious
algorithms, Frigo et al, FOCS 99
(2) An
experimental comparison of cache-oblivious and cache-conscious
programs, Yotov et al, SPAA 2007
(5) Vectorization
Slides:
(6) Optimization for Performance
Slides: Memory Optimization
Graph partitioning
(7) Synthesis of parallel programs
Slides: