| Date |
Topic |
Assignment |
|
| 1 |
Aug |
24 |
Why Parallelism?
(slides)
|
|
| 2 |
Aug |
26 |
Out-of-order Processor & Pipeline
(slides)
|
|
| 3 |
Aug |
28 |
A Modern Multi-Core Processor
(slides)
|
Assignment 1 out |
|
| 4 |
Aug |
31 |
Parallel Programming Models
(slides)
|
|
| 5 |
Sep |
2 |
GPU Architecture and CUDA Programming
(slides)
|
Assignment 1 early deadline Thu 9/3 (waitlist) |
| 6 |
Sep |
4 |
GPU Architecture and CUDA Programming (continued)
(slides)
|
|
|
|
Sep |
7 |
Labor Day — no class
|
|
| 7 |
Sep |
9 |
Parallel Programming Basics
(slides)
|
Assignment 1 due, Assignment 2 out |
| 8 |
Sep |
11 |
Performance Optimization I
(slides)
|
|
|
| 9 |
Sep |
14 |
Performance Optimization II
(slides)
|
|
| 10 |
Sep |
16 |
Interconnection Networks
(slides)
|
|
| 11 |
Sep |
18 |
Snooping-Based Cache Coherence
(slides)
|
|
|
| 12 |
Sep |
21 |
Directory-Based Cache Coherence
(slides)
|
|
| 13 |
Sep |
23 |
Snooping-Based Multiprocessor Design
(slides)
|
Assignment 2 due, Assignment 3 out |
|
Sep |
25 |
Exam 1
|
|
|
| 14 |
Sep |
28 |
Performance Analysis / Profiling
(slides)
|
|
| 15 |
Sep |
30 |
Implementing Synchronization
(slides)
|
|
| 16 |
Oct |
2 |
Fine-Grained Synchronization, Lock-Free Programming
(slides)
|
|
|
| 17 |
Oct |
5 |
Transactional Memory
(slides)
|
|
| 18 |
Oct |
7 |
Virtual Memory
(slides)
|
Assignment 3 due, Assignment 4 out |
| 19 |
Oct |
9 |
Heterogeneous Parallelism, Hardware Specialization
|
|
|
|
Oct |
12 |
Fall Break — no class
|
|
|
Oct |
14 |
Fall Break — no class
|
|
|
Oct |
16 |
Fall Break — no class
|
|
|
| 20 |
Oct |
19 |
Guest Lecture
|
|
| 21 |
Oct |
21 |
Memory Consistency
|
|
| 22 |
Oct |
23 |
Parallel Deep Learning (data parallelism)
|
|
|
| 23 |
Oct |
26 |
Parallel Deep Learning (model and pipeline parallelism)
|
|
| 24 |
Oct |
28 |
AI in System Design
|
|
|
Oct |
30 |
|
Assignment 4 due |
|
|
Nov |
2 |
Exam 2
|
|
|
Nov |
4 |
Meetings to discuss project ideas
|
|
|
Nov |
6 |
Meetings to discuss project ideas
|
|