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.