Tentative Schedule

Date Topics Reading
08/23 Overview The Future of Microprocessors
Power: A First-Class Architectural Design Constraint
08/28 Three Walls The End of Dennard Scaling
The Death of CPU Scaling
Dark Silicon and the End of Multicore Scaling
08/30 Parallel Programming Models Posix Threads Programming
09/04 Thought Process ISPC Programmer's Manual
Thread Building Blocks
09/06 Flinn's Taxonomy Get familiar with Palmetto
09/11 SIMD and Data Parallelism ISPC Programmer's Manual
09/13 Palmetto Usage and Intro to GPU  
09/18 CUDA Programming Model CUDA C/C++ Basics
An even easier introduction to CUDA
NVIDIA Tesla V100 GPU Architecture Whitepaper
09/20 CUDA Programming Cont'd CUDA C/C++ Basics
09/25 Message Passing Message Passing Interface tutorial
Tutorial on MPI: The Message-Passing Interface
09/27 Message Passing cont'd  
10/02 Interconnect  
10/04 Performance I Amdahl's law
Gustafson's law
Sun-Ni's law
10/09 Performance and Scalability isoefficiency
10/11 Performance Optimization  
10/16 Midterm Exam  
10/18 Big data The Fourth Paradigm: Data-Intensive Scientific Discovery”
10/23 Spark Apache Spark: a unified engine for big data processing
10/25 Google file system The Google file system
10/30 Dynamo Dynamo: Amazon's highly avaialble key-value store
11/01 Megastore Megastore: Providing Scalable, Highly Available Storage for Interactive Services
11/06 Fall Break  
11/08 DNN intro reading listed in slides
11/13 TPU for NN In-Datacenter Performance Analysis of a Tensor Processing Unit
11/15 Project day  
11/20 DNN on clusters FireCaffe: Near-linear Acceleration of Deep Neural Network Training on Compute Clusters
11/22 Thankgiving Holiday
11/27 No class  
11/29 Performance modeling Performance Modeling and Scalability Optimization of Distributed Deep Learning Systems
12/04 A golden age for computer architecture slides
12/06 No class
12/07 presentation
12/11 Final exam week