EE 4760: Introduction to Compiler Optimizations (Design Elective)
Spring 2009: T Th 9:10 - 10:30      145 Electrical Engineering Building
Dr. J. Ramanujam (Ram)
(For both graduate and undergraduate students)
- Title: EE 4760 --
Introduction to Compiler Optimizations
- Professor: J. Ramanujam (Ram),345 EE Building, 578-5628 (Email: jxr [at] ece [period] lsu [period] edu)
- Office Hours: To Be Decided
- Grader/TA: To be announced
- Time and Place: T Th 9:10-10:30, 145 Electrical Engineering Building
No required text; the class will be based on handouts.
- However, you are encouraged to use the reference books listed below.
- 1. High Performance Compilers for Parallel Computing, Michael Wolfe, Addison-Wesley, 1996.
- 2. Optimizing Compilers for Modern Architectures, R. Allen & K. Kennedy, Morgan Kaufman, 2001.
- Attention: Graduate students WILL get graduate credit for this course.
- Prerequisites: graduate standing
OR ((data structures: CSC 3102) AND (computer organization EE 3755) AND (credit or registration in EE 4720 strongly suggested))
The course deals with principles and practice of software for modern
architectures. Issues in compilation of programs for high performance
computers will be discussed in detail. Data dependence testing and
program transformations constitute the core of this course.
This set of material is in the class notes. You will find relevant
material in Chapters 4, 5, 7, parts of 8, 9, 10 and 12 from the book
by Michael Wolfe. Additional material
will be covered if we have time.
- Compilation issues
- Independence and parallelism detection
- Data dependence testing
- Induction variable analysis
- Standard transformations (constant propagation, ...)
- Parallelization, Loop scheduling
- Loop transformations (interchange, skewing, ...)
- Memory hierarchy (registers, caches, ...) optimizations
- Optimizations for (i) embedded processors, (ii) power/energy reduction
2 tests (22.5% each), homework/projects (25%),