Handouts, notes from lectures etc. will be accessible from this web page as they are produced by the lecturers.
GPU Algorithms I: The Early Years Lecture, 1 by Suresh Venkatasubramanian
GPU Algorithms II: Models and CUDA, Lecture 2 by Suresh Venkatasubramanian
GPU Algorithms III & IV: Computing with CUDA, Lecture 3 & 4 by Suresh Venkatasubramanian
Distributed Data Streams: All lectures by Graham Cormode
Multi-core Computing: Lecture 1 by Phillip B. Gibbons
Multi-core Computing: Lecture 2 by Phillip B. Gibbons
Multi-core Computing: Lecture 3 by Phillip B. Gibbons
MapReduce Algorithms I, Intro and Model: Lecture 1 by Sergei Vassilvitskii
MapReduce Algorithms II, Graphs: Lecture 2 by Sergei Vassilvitskii
MapReduce Algorithms III, Machine Learning: Lecture 3 by Sergei Vassilvitskii
Leslie G. Valianta: A Bridging Model for Multi-Core Computing, 2010.
Guy E. Blelloch, Jeremy T. Fineman, Phillip B. Gibbons, and Julian Shun: Internally Deterministic Parallel Algorithms Can Be Fast, 2012.
Guy E. Blelloch and Phillip B. Gibbons: Effectively Sharing a Cache Among Threads, 2004.
Guy E. Blelloch, Jeremy T. Fineman, and Phillip B. Gibbons: Scheduling Irregular Parallel Computations on Hierarchical Caches, 2011.
Matteo Frigo, Pablo Halpern, Charles E. Leiserson, and Stephen Lewin-Berlin: Reducers and Other Cilk++ Hyperobjects, 2009.
Guy E. Blelloch, Phillip B. Gibbons, and Yossi Matias: Provably Efficient Scheduling for Languages with Fine-Grained Parallelism, 1999.
Robert D. Blumofe and Charles E. Leiserson: Scheduling Multithreaded Computations by Work
Stealing, 1999.