This schedule should be considered tentative and subject to change, at least until it actually takes place!

Week Day Date Notes and readings HW
1 Tue, Aug 22 Introduction
Thu, Aug 24 Performance basics [Notes]
2 Tue, Aug 29 Single processor architecture
  • HW0 due
Thu, Aug 31 Basic optimizations
  • P1 out
3 Tue, Sep 05 Basic optimizations
  • HW1 due
Thu, Sep 07 Parallel machines and models
4 Tue, Sep 12 Parallelism and locality in simulations
Thu, Sep 14 Parallelism and locality in simulations
  • P1 due
5 Tue, Sep 19 Distributed memory programming
Thu, Sep 21 Distributed memory programming
  • HW2 due
6 Tue, Sep 26 Shared memory programming
  • P2 out
Thu, Sep 28 Shared memory programming
  • HW3 due
7 Tue, Oct 03 Heterogeneity and accelerators
  • HW4
Thu, Oct 05 Heterogeneity and accelerators [Notes]
8 Tue, Oct 10 Fall break
Thu, Oct 12 VMs, containers, and clouds
  • P2 due
9 Tue, Oct 17 Dense linear algebra
Thu, Oct 19 Dense linear algebra
  • Final proposal
10 Tue, Oct 24 Sparse linear algebra
Thu, Oct 26 Sparse linear algebra
11 Tue, Oct 31 Transforms and data sparsity (Damle)
Thu, Nov 02 Asynchronous methods (Udell)
  • P3 due
12 Tue, Nov 07 Graph partitioning
  • Final check-in
Thu, Nov 09 Load balancing
13 Tue, Nov 14 Parallel graph algorithms
Thu, Nov 16 The impact of floating point
14 Tue, Nov 21 Mixing languages, libraries, and frameworks
  • Final outline
Thu, Nov 23 Thanksgiving
15 Tue, Nov 28 Project presentations
Thu, Nov 30 Project presentations