Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Lecture 1 (08/25/2015): Compiler Challenges for High Performance Architectures (Chapter 1) 
  • ** Lecture 2 (08/28/2015, 4pm?): Dependence: Theory and Practice (Chapter 2), Homework 1 assigned, due by 09/08/2015 
  • ** Lecture 3 (09/01/2015, 9:30am?): Dependence: Theory and Practice (Chapter 2, contd)
  • Lecture 4 (09/03/2015): Dependence Testing (Chapter 3)
  • Lecture 5 (09/08/2015): Dependence Testing (Chapter 3, contd),  Homework 2 assigned, due by 09/2422/2015
  • ** Lecture 6 (09/11/2015, 4pm?): Dependence Testing (Chapter 3, contd)
  • Lecture 7 (09/15/2015): Dependence Testing (Chapter 3, contd), Preliminary Transformations (Chapter 4)
  • Lecture 8 (09/17/2015): Preliminary Transformations (Chapter 4, contd), Homework 3 due by 10/08/2015
  • Lecture 9 (09/22/2015):  Vectorization Algorithm (Chapter 2, contd)Homework 3 assigned, due by 10/05/2015
  • Lecture 10 (09/24/2015): Enhancing Fine-Grained Parallelism (Chapter 5)
  • Lecture 11 (09/29/2015): Enhancing Fine-Grained Parallelism (Chapter 5, contd), Homework 4 due by 10/17/2015
  • NO CLASS No class (10/01/2015): Self-study, work on project
  • ** Lecture 12 (10/1005/2015, 9:30am): Enhancing Fine-Grained Parallelism (Chapter 5, contd), Coarse-Grained Parallelism (Chapter 6)
  • Lecture 13 (10/2108/2015): Coarse-Grained Parallelism (Chapter 6, contd), Midterm Review, Take-home Exam 1 assigned, due by 10/15/2015
  • NO CLASS (10/13/2015): MIDTERM RECESS
  • Lecture 14 (10/2215/2015): Coarse-Grained Parallelism (Chapter 6, contd), Midterm Review
  • Lecture 15 (10/2420/2015): Control Dependence (Chapter 7)
  • Lecture 16 (10/2922/2015): Control Dependence (Chapter 7, contd)Homework 4 assigned, due by 11/05/2015
  • Lecture 17 (10/3127/2015): Compiler Improvement of Register Usage (Chapter 8)
  • Lecture 18 (1110/0529/2015): Compiler Improvement of Register Usage (Chapter 8, contd)
  • Lecture 19 (11/0703/2015): Managing Cache (Chapter 9)
  • Lecture 20 (11/1205/2015): Managing Cache (Chapter 9, contd)Homework 5 assigned, due by 11/12/2015
  • Lecture 21 (11/1410/2015): Unimodular Transformations
  • Lecture 22 (11/1912/2015): Interprocedural Analysis and Optimization (Chapter 11)Homework 6 assigned, due by 11/24/2015
  • Lecture 23 (11/2117/2015): Compiling Array Assignments (Chapter 13)
  • NO CLASS (11/19/2015): Self-study, work on project
  • Lecture 24 (11/2624/2015): End-Semester Summary (Chapters 7, 8, 9, 11, 13), Exam 2 assigned, due by 12/09/2015
  • NO CLASS (11/26/2015): THANKSGIVING
  • Lecture 25 (12/0301/2015): Student project presentations
  • Lecture 26 (12/0503/2015): Student project presentations, Take-home Exam 2 assigned, due by 12/10/2015

References

  1. Course text: Optimizing Compilers for Modern Architectures, Randy Allen & Ken Kennedy.
  2. Automatic Selection of High Order Transformations in the IBM XL Fortran Compilers.  Vivek Sarkar. IBM Journal of Research and Development, 41(3), May 1997.
  3. A General Framework for Iteration-Reordering Loop Transformations. Vivek Sarkar  and Radhika Thekkath. Proceedings of the ACM SIGPLAN 1992 Conference on  Programming Language Design and Implementation (PLDI), San Francisco, California,  pages 175-187, June 1992.
  4. Optimal Weighted Loop Fusion for Parallel Programs. Nimrod Megiddo and Vivek  Sarkar. Proceedings of the Ninth Annual ACM Symposium on Parallel Algorithms  and Architecture (SPAA), Newport, Rhode Island, June, 1997, pages 282-291.
  5. Array SSA form and its use in Parallelization. Kathleen Knobe and Vivek Sarkar.  Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of  Programming Languages, San Diego, California, January 1998.

...