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 |
---|---|---|---|---|
Thurs, Sept. 22 | introduction | slides | EAC Chapter 1 | |
Tues, Sept. 27 | tokenizing and parsing | slides | EAC Chapter 2 | |
Thurs, Sept. 29 | parse trees | slides | EAC Chapter 3 | |
Tues, Oct. 4 | symbol tables and parser generators | slides | PLY docs | homework 1 assigned |
Thurs, Oct. 6 | parsing with derivatives | slides | parsing with derivatives paper (first 7 pages) |
Module 2: Analysis and optimization
dates will be modified to adjust for extra time spent on earlier modules.
Date | Topic | Slides | Reading | Notes |
---|---|---|---|---|
Tues, Oct. 11 | 3 address code and local value numbering | slides | EAC Chapter 8 (up to 8.5) | Tyler gone, lecture will be recorded |
Thurs, Oct. 13 | Regional optimizations | slides | EAC Chapter 8.5 and Chapter 9 (up to 9.3) | |
Tues, Oct. 18 | slides | EAC Chapter 8.5 and Chapter 9 (up to 9.3) | homework 1 due. homework 2 assigned | |
Thurs, Oct. 20 | static single-assignment (SSA) form | slides | EAC Chapter 9.3 (through end) | Tyler gone, lecture will be recorded |
Tues, Oct. 25 | SSA optimizations | slides | EAC Chapter 9.3 - 9.5 |
Module 3: Parallelization and DSLs
Date | Topic | Slides | Readings | Notes |
---|---|---|---|---|
Thurs, Oct. 27 | Instruction level parallelism | slides | slides | |
Tues, Nov. 1 | parallel for loops | slides | slides | |
Thurs, Nov. 3 | implementing parallel for loops | slides | slides | |
Tues, Nov. 8 | parallel loop restructuring and Halide | slides | Halide | Homework 3 assigned (Nov. 7) |
Thurs, Nov. 10 | Halide | slides | slides | |
Tues, Nov. 15 | graph DSLs | slides | irgl | |
Thurs, Nov. 17 | compiling relaxed memory models | slides | slides | |
Tues, Nov. 22 | decoupled access/execute | slides | DAE paper |
Module 4: Advanced topics
Date | Topic | Slides | Readings | Notes |
---|---|---|---|---|
Tues. Nov. 29 | guest lecture (TBD) | |||
Thurs. Dec. 1 | final project presentations |
Final
Date | Official time | Provided time | Notes |
---|---|---|---|
Thursday Dec. 8 | 12 - 3 PM | 8 AM - 8 PM | Final project report due, paper review due |
Paper Assignments and Final Projects
Please see here for an overview of the paper assignment
Please see here for a description of the optional final project
Dates Summary:
Paper/Project proposals submitted (latest possible, preferably earlier): Nov. 15
Paper/Projects need to be approved by Nov. 17
Project presentation should be ready by due Dec. 1
Paper review due Dec. 8
Project report due Dec. 8
Dates Explained
All paper assignments and final projects must be approved 2 weeks before the last day of class: Nov. 17.
Please make sure you have submitted your proposal by Nov. 15.
For a paper assignment, a proposal is the paper title and a few sentences about why it is interesting for this class. Another option is to ask for a paper. In that case, please provide a few sentences about what you have found interesting in the class so far.
For a final project, it is a two paragraphs describing the compiler element to the project and how it relates to what we are learning. You can submit this on Piazza.
It is not guaranteed that your proposal will be approved! Please submit your proposals as early as possible so that we can ensure they get approved!
For projects: a presentation will be due on Dec 1, so that we can schedule the presentation.
For paper reviews and projects: the report is due the day of the final: Dec. 8.