...
- Lecture 1 (08/25/2015): Compiler Challenges for High Performance Architectures (Chapter 1)
- NO CLASS (08/27/2015): Rescheduled to 08/28/2015 below
- ** Lecture 2 (08/28/2015, 4pm, DH 3076): Dependence: Theory and Practice (Chapter 2), Homework 1 assigned, due by 09/08/2015
- Lecture 3 (09/01/2015): 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/22/2015
- NO CLASS (09/10/2015): Work on problem statement for your class projects
- Lecture 6 (09/15/2015): Dependence Testing (Chapter 3, contd), Preliminary Transformations (Chapter 4)
- Lecture 7 (09/17/2015): Preliminary Transformations (Chapter 4, contd), Vectorization Algorithm (Chapter 2)
- Lecture 8 (09/22/2015): Vectorization Algorithm (Chapter 2, contd), Enhancing Fine-Grained Parallelism (Chapter 5), Homework 3 assigned, due by 10/08/2015
- Lecture 9 (09/24/2015): Enhancing Fine-Grained Parallelism (Chapter 5, contd)
- Lecture 10 (09/29/2015): Enhancing Fine-Grained Parallelism (Chapter 5, contd), Coarse-Grained Parallelism (Chapter 6)
- NO CLASS (10/01/2015): Work on class project
- Lecture 11 (10/06/2015): Coarse-Grained Parallelism (Chapter 6, contd), Optimal Weighted Loop Fusion for Parallel Programs
- NO CLASS (10/08/2015): Homework 3 due, self-study, work on project
- NO CLASS (10/13/2015): MIDTERM RECESS (discuss project with instructor)
- Lecture 12 (10/15/2015): Midterm Review, Take-home Exam 1 assigned, due by 10/22/2015
- Lecture 13 (10/20/2015): Control Dependence (Chapter 7)
- NO CLASS (10/22/2015): Work on class project, Exam 1 due
- Lecture 14 (10/27/2015): Pipeline Parallelism, OpenMP 4.1 Doacross construct (guest lecture by Dr. Jun Shirako, Rice University)
- Lecture 15 (10/29/2015): Control Dependence (Chapter 7, contd), Compiler Improvement of Register Usage (Chapter 8)
- Lecture 16 (11/03/2015): Compiler Improvement of Register Usage (Chapter 8, contd), Homework 4 assigned, due by 11/24/2015
- Lecture 17 (11/05/2015): Managing Cache (Chapter 9)
- Lecture 18 (11/10/2015): Managing Cache (Chapter 9, contd), ASTI Optimizer
- Lecture 19 (11/12/2015): Polyhedral Transformations (guest lecture by Prof. Uday Reddy, Indian Institute of Science)
- NO CLASS (11/17/2015): Self-study, work on project
- NO CLASS (11/19/2015): Self-study, work on project
- Lecture 20 (11/24/2015): Transformation Framework Case Studies
- NO CLASS (11/26/2015): THANKSGIVING
- Lecture 21 (12/01/2015): Compiling Compiling Array Assignments (Chapter 13)
- Lecture 22 (12/03/2015): End-Semester Summary (Chapters 7, 8, 9, 13), Take-home Exam 2 assigned, due by 12/1011/2015
- Lecture 23 (12/08/2015): Student project presentations (special meeting time and place: 8: 9am 30am - 12noon, DH 3076)
References
- Course text: Optimizing Compilers for Modern Architectures, Randy Allen & Ken Kennedy.
- Automatic Selection of High Order Transformations in the IBM XL Fortran Compilers. Vivek Sarkar. IBM Journal of Research and Development, 41(3), May 1997.
- 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.
- 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.
...