EE 4760: Introduction to Compiler Optimizations (Design Elective)
For both graduate and undergraduate students
Spring 2002: MWF 11:40 - 12:30      145 EE Building
Dr. J. Ramanujam (Ram)         
Call number: 7621
- Title: EE 4760 --
Introduction to Compiler Optimizations
- Call No.: 7621
- Professor: J. Ramanujam (Ram),345 EE Building, 578-5628 (Email: jxr@ece.lsu.edu)
- Office Hours: MW 12:30 - 3:00 PM
- Grader/TA: To be announced
- Time and Place: MWF 11:40 - 12:30, 145 EE Building
- Text:
- No required text; the class will be based on handouts.
- However, you are encouraged to use the reference books listed below.
- References:
- 1. High Performance Compilers for Parallel Computing, by Michael Wolfe, Addison-Wesley, 1996.
- 2. Optimizing Compilers for Modern Architectures, by R. Allen and K. Kennedy, Morgan Kaufman, 2001.
- Attention: Graduate students WILL get graduate credit for this course.
- NOTE CONCERNING CREDIT: You will not get credit for this class if at least one of the following is true:
- you have taken my EE 4702 during the fall terms in 1995, 1996, 1997 or 1998
- you have taken my EE 7700 during the fall term in 2000
- you have taken EE 7785 anytime
- Prerequisites: graduate standing OR ((data structures: CSC 3102) AND (computer organization EE 3755))
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 and are drawn from
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.
- Introduction
- 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 embedded processors
- Optimizations for power/energy reduction
2 tests (22.5% each), homework & projects (25%),
final (30%).
Updated: February 11, 2002