...
Required Prerequisite: COMP 412 or equivalent
Lectures
NOTE: links for future lectures will be updated during the semester as the course progresses
- Lecture 1 (08/27/2013, Profs. Palem & Sarkar): Compiler Challenges for High Performance Architectures (Chapter 1)
- Lecture 2 (08/29/2013, Prof. Palem): Dependence: Theory and Practice (Chapter 2)
- Lecture 3 (09/03/2013, Prof. Palem): Dependence: Theory and Practice (Chapter 2, contd)
- Lecture 4 (09/05/2013, Prof. Palem): Dependence Testing (Chapter 3)
- Lecture 5 (09/10/2013, Prof. Sarkar): Dependence Testing (Chapter 3, contd)
- Lecture 6 (09/12/2013, Prof. Sarkar): Dependence Testing & Preliminary Transformations (Chapter 3, contd, Chapter 4)
- Lecture 7 (09/17/2013, Prof. Sarkar): Preliminary Transformations & Enhancing Fine-Grained Parallelis (Chapter 4, contd, Chapter 5)
- Lecture 8 (09/19/2013, Prof. Sarkar): Vectorization Algorithm & Enhancing Fine-Grained Parallelism (Chapter 2, contd, Chapter 5, contd)
- Lecture 9 (09/24/2013, Prof. Sarkar): Enhancing Fine-Grained Parallelism (Chapter 5, contd)
- Lecture 10 (09/26/2013, Prof. Sarkar): Enhancing Fine-Grained Parallelism, Coarse-Grained Parallelism (Chapter 5, contd, Chapter 6)
- Lecture 11 (10/01/2013, Prof. Sarkar): Coarse-Grained Parallelism (Chapter 6, contd)
- Lecture 12 (10/03/2013, Prof. Sarkar): Coarse-Grained Parallelism (Chapter 6, contd), Control Dependence (Chapter 7)
- Lecture 13 (10/08/2013): Midterm Review
- Lecture 14 (10/10/2013, Prof. Sarkar): Unimodular Transformations
- Lecture 15 (10/17/2013, Prof. Sarkar): Polyhedral Compilation Framework (Guest lecture by Dr. Louis-Noel Pouchet)
- Lecture 16 (10/22/2013, Prof. Palem): Control Dependence (Chapter 7, contd)
- Lecture 17 (10/24/2013, Prof. Palem): Control Dependence (Chapter 7, contd), Compiler Improvement of Register Usage (Chapter 8)
- Lecture 18 (10/29/2013, Prof. Palem): Compiler Improvement of Register Usage (Chapter 8, contd)
- Lecture 19 (10/31/2013, Prof. Palem): Compiler Improvement of Register Usage (Chapter 8, contd), Managing Cache (Chapter 9)
- Lecture 20 (11/05/2013, Prof. Palem): Managing Cache (Chapter 9)
- Lecture 21 (11/07/2013, Prof. Palem): Case study: Automatic Selection of High-Order Transformations in the IBM XL Fortran Compiler
- Lecture 22 (11/12/2013, Prof. Palem): Case study: Automatic Selection of High-Order Transformations in the IBM XL Fortran Compiler (contd.)
- Lecture 23 (11/14/2013, Prof. Palem): Interprocedural Analysis and Optimization (Chapter 11)
- Lecture 24 (11/19/2013, Prof. Palem): Compiling Array Assignments (Chapter 13)
- Lecture 25 (11/21/2013, Prof. Palem): End-Semester Summary (Chapters 7, 8, 9, 11, 13)
- Lecture 26 (11/26/2013): Student presentations
- Lecture 27 (12/03/2013): Student presentations
- Lecture 28 (12/05/2013): Student presentations
...
- Course text: Optimizing Compilers for Modern Architectures, Randy Allen & Ken Kennedy
- A General Framework for Iteration-Reordering Loop Transformations. Vivek Sarkar and Radhika Thekkath. Proceedings of the ACM SIGPLAN ÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ92 ÃÂÃÂÃÂÃÂÃÂÃÂÃÂâÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂÃÂ92 Conference on Programming Language Design and Implementation (PLDI), San Francisco, California, pages 175-187, June 1992.
- 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.
- 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.
- Automatic Selection of High Order Transformations in the IBM XL Fortran Compilers. Vivek Sarkar. IBM Journal of Research and Development, 41(3), May 1997.
...