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


Course information

Description

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.

Course Topics

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.

  1. Introduction
  2. Compilation issues
  3. Independence and parallelism detection
  4. Data dependence testing
  5. Induction variable analysis
  6. Standard transformations (constant propagation, ...)
  7. Parallelization
  8. Loop scheduling
  9. Loop transformations (interchange, skewing, ...)
  10. Memory hierarchy (registers, caches, ...) optimizations
  11. Optimizations for embedded processors
  12. Optimizations for power/energy reduction

Grading

2 tests (22.5% each), homework & projects (25%), final (30%).


Updated: February 11, 2002