Slides will be uploaded the day after class
Schedule is tentative and topics may change depending on interest and discussions
Module 1: Parsing Overview/Refresher
Date |
Topic |
Slides |
Reading |
Notes |
Friday, Sept. 24 |
syllabus and introduction |
slides |
EAC Chapter 1 |
|
Monday, Sept. 27 |
tokenizing |
slides |
EAC Chapter 2 |
|
Wednesday Sept. 29 |
parsing 1 (CFGs) |
slides |
|
|
Friday Oct. 1 |
parsing 2 (Trees and Ambiguity) |
slides |
EAC Chapter 3 |
|
Monday Oct. 4 |
Python Lex and Yacc (PLY) |
slides |
PLY docs |
homework 1 assigned |
Wednesday Oct. 6 |
PLY cont. Symbol Tables |
slides |
|
|
Friday Oct. 8 |
parsing with derivatives |
slides |
parsing with derivatives paper (first 7 pages) |
|
Module 2: Flow Analysis
Date |
Topic |
Slides |
Reading |
Notes |
Monday, Oct. 11 |
abstract syntax trees and traversals |
slides |
EAC Chapter 5 |
|
Wednesday, Oct. 13 |
3 address code and local value numbering |
slides |
EAC Chapter 8 (up to 8.5) |
|
Friday, Oct. 15 |
local value numbering and data flow analysis |
slides |
EAC Chapter 8.5 and Chapter 9 (up to 9.3); |
|
Monday, Oct. 18 |
Flow analysis (live variable analysis) |
slides |
EAC Chapter 9.3 |
homework 1 due. homework 2 assigned |
Wednesday, Oct. 20 |
Class canceled! |
Work on homework 2! |
EAC Chapter 9.3, |
|
Friday, Oct. 22 |
Flow analysis continued |
slides |
EAC Chapter 9.3 |
class will be remote due to OOPLSA |
Monday, Oct. 25 |
Conversion to SSA |
slides |
EAC Chapter 9 (through the end) |
|
Wednesday, Oct. 27 |
SSA optimizations |
slides |
EAC Chapter 9 (through the end) |
midterm assigned |
Module 3: Parallelization
Date |
Topic |
Slides |
Readings |
Notes |
Friday, Oct. 29 |
instruction level parallelism (ILP) |
slides |
Dragon Book Chapter 10 |
|
Monday, Nov. 1 |
Do-all loops |
slides |
Dragon Book Chapter 11 (first half) |
homework 2 due |
Wednesday, Nov. 3 |
safety analysis of Do-all Loops |
slides |
Dragon Book Chapter 11 (second half) |
homework 3 assigned, and Midterm due |
Friday, Nov. 5 |
reordering loops and blocking |
slides |
|
|
Monday, Nov. 8 |
implementing parallelism |
slides |
|
|
Wednesday, Nov. 10 |
Compiling relaxed memory models |
slides |
|
|
Friday, Nov. 12 |
Class canceled! |
|
|
|
Monday, Nov. 15 |
decoupled access/execute |
slides |
DAE paper |
paper/project proposed |
Module 4: DSLs and Optimizations
Date |
Topic |
Slides |
Readings |
Notes |
Wednesday, Nov. 17 |
array processing 1 |
slides |
Halide |
homework 3 due, homework 4 assigned |
Friday, Nov. 19 |
array processing 2 |
slides |
|
|
Monday, Nov. 22 |
Guest Lecture: Aviral Goel |
|
|
|
Wednesday, Nov. 24 |
graph processing |
slides |
IrGL |
paper/project proposals approved |
Monday, Nov. 29 |
optimization impact |
slides |
Stabilizer |
|
Module 5: Final Projects
Date |
Topic |
Slides |
Readings |
Notes |
Wednesday, Dec. 1 |
Class canceled to work on final project or study |
|
|
|
Friday, Dec. 3 |
final project presentations |
|
|
homework 4 due. Paper review due, class will be extended an optional hour |
Final
Date |
Official time |
Provided time |
Notes |
Thursday Dec. 9 |
8 - 11 AM |
8 AM - 8 PM |
Final project report due. |