Slides will be uploaded the day after class
Module 1: Parsing Overview/Refresher
Date |
Topic |
Slides |
Notes |
Thurs, Oct. 1 |
Syllabus and introduction |
link |
reference EAC Chapter 1 |
Tues, Oct. 6 |
Tokenizing and parsing |
link |
reference EAC Chapter 2-3 |
Thurs, Oct. 8 |
Advanced parsing (parse trees, ambiguity, implementations) |
link |
Homework 1 posted; reference EAC Chapter 3 |
Tues, Oct. 13 |
Lex and Yacc, parsing with derivatives |
link |
reference PLY Docs; parsing with derivatives paper (first 7 pages) |
Module 2: Flow Analysis
Date |
Topic |
Slides |
Notes |
Thurs, Oct. 15 |
Abstract syntax trees and traversals |
link |
reference EAC Chapter 5 |
Tues, Oct. 20 |
3 address code and local value numbering |
link |
reference EAC Chapter 8 (up to 8.5) |
Thurs, Oct. 22 |
local value numbering and data flow analysis |
link |
reference EAC Chapter 8.5 and Chapter 9 (up to 9.3); Homework 2 posted; |
Tues, Oct. 27 |
SSA and homework overview |
link |
reference EAC Chapter 9.3 |
Thurs, Oct. 29 |
SSA construction |
link |
reference EAC Chapter 9.3, Homework 1 due |
Tues, Nov. 3 |
SSA optimizations |
link |
reference EAC Chapter 9.3.6 |
Module 3: Automatic Parallelization
Date |
Topic |
Slides |
Notes |
Tues, Nov. 5 |
Class Canceled |
|
Will make up after Thanksgiving |
Thurs, Nov. 10 |
Instruction Level Parallelism (ILP) |
link |
reference Chapter 10 Dragon Book |
Tues, Nov. 12 |
Do-all Loop Parallelism |
link |
Homework 3 posted;, Midterm Posted (on Canvas). reference Chapter 11 Dragon Book |
Tues, Nov. 17 |
Reordering Loop Nestings and Irregular Parallelism |
link |
Slides |
Thurs, Nov. 19 |
Implementing Parallelism |
link |
Slides |
Module 4: DSLs
Tues, Dec. 8 |
Vertex programming (GraphIt) |
|
|
Paper/Project proposals approved |
Thurs, Dec. 10 |
Stencil Computations (Halide) |
|
|
Homework 4 Due |
Final
Date |
Topic |
Slides |
Notes |
Dec. 14 |
Final |
|
Final Exam Posted |
Dec. 15 |
Final |
|
Homework 5 due, Final project/paper reports due. Final due |