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 RepresentationTopic 0 Slides
Topic 1 Slides
Topic 1a SlidesFeb 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 MaterialsHW3 Due April 6th Tutorial: OpenMP (Evans 204 2-4 pm) OpenMP Slides April 10th Topic 3a: Data Dependence Analysis (Part 2)
Topic 3b: Loop transformationsData 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 meetingCompilation & HPC slides May 15th Project Presentations ... May 18th Projects due ...