CPEG 421/621 Spring 2012

Compiler Design


Tentative Course Schedule

Date Content Slides Homework Labs Projects
Feb 7th Topic 0:           Introduction to CPEG621
Topic 1:           Fundamentals - Compiler Design
Topic 1a:         Intermediate Representation
Topic 0 Slides
Topic 1 Slides
Topic 1a Slides
 
Feb 14th Topic 1b:         Control Flow Analysis Topic 1b Slides HW0 Issued
Feb 17th Tutorial:          Homework 0 (Dupont 110 2-4 pm) Tutorial Lex/Yacc  
Feb 21st Topic 1c:         Dataflow Analysis Topic 1c Slides HW1 Issued
Feb 28th Topic 1d:         Static Single Assignment Form Topic 1d Slides  
March 6th Topic 2a:         Instruction Selection Topic 2a Slides HW2 Issued, HW0 Due, HW1 Due
March 9th Tutorial:          Memory Maps, ABIs (Evans 204 2-4 pm) ABI slides  
March 13th Topic 2b:         Instruction Scheduling Topic 2b Slides  
March 20th Topic 2c:         Register Allocation Topic 2c Slides  
March 23rd Compilation Project Issue Date Project handout  
April 3rd Case Study:    Contemporary Compilers - LLVM Introduction
Topic 3a:         Data Dependence Analysis (part 1)
LLVM slides
LLVM Additional Materials
HW3 Due
April 6th Tutorial:          OpenMP (Evans 204 2-4 pm) OpenMP Slides  
April 10th Topic 3a:         Data Dependence Analysis (Part 2)
Topic 3b:         Loop transformations
Data dependence and loop transformation slides  
April 13th Tutorial:          Swarm (Dupont 110 2-4 pm) SWARM Tutorial  
April 17th Topic 4a:         Coarse-Grain Parallel Execution Models Coarse-Grain Parallel PXM slides  
April 24th Topic 4b:         Fine-Grain Parallel Execution Models (Part 1) Dataflow Models of Computation  
May 1st Topic 4c,4d:         Fine-Grain Parallel Execution Models (Part 2) EARTH slides (ppt version for the animations)
PXMs & Memory Models slides (ppt version for the animations)
 
May 8th QUIZ
Team meeting
Compilation & HPC slides  
May 15th Project Presentations ...  
May 18th Projects due ...  

Copyright 2012
CAPSL