...
Instructor: | Prof. Vivek Sarkar, vsarkar@rice.edu, DH 3080 (office hours by appointment) |
---|---|
Assistant Instructor: | Dr. Jun Shirako, shirako@rice.edu, DH 3098 |
Administrative Assistant: | Annepha PembertonHurlock, annepha@rice.edu, DH 3080, 713-348-5186 |
Lectures: | Keck 107, TTh 09:25am - 10:40am (Backup time: 4pm - 5:15pm on Fridays, DH 3076) |
Introduction
Are you curious about what makes a parallelizing compiler tick, and what program properties enable or prevent software from executing efficiently on vector and parallel computers?
...
- 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 Dependence: Theory and Practice (Chapter 2, contd)
- Lecture 4 (09/03/2015): Dependence Dependence Testing (Chapter 3)NO CLASS (09/08/2015): Rescheduled to 09/11/2015 below
- Lecture 5 (09/1008/2015): Dependence Testing (Chapter 3, contd), Homework 2 assigned, due by 09/22/2015** Lecture 6
- NO CLASS (09/1110/2015): Work on problem statement for your class projects
- Lecture 6 , 4pm, DH 3076): Dependence Testing (Chapter 3, contd)Lecture 7 (09/15/2015): Dependence Testing (Chapter 3, contd),Preliminary Preliminary Transformations (Chapter 4)
- Lecture 8 7 (09/17/2015): Preliminary Transformations (Chapter 4, contd), Vectorization Algorithm (Chapter 2)
- Lecture 9 8 (09/22/2015): Vectorization Vectorization Algorithm (Chapter 2, contd), Enhancing Fine-Grained Parallelism (Chapter 5), Homework 3 assigned, due by 10/08/2015
- Lecture 10 9 (09/24/2015): Enhancing Enhancing Fine-Grained Parallelism (Chapter 5, contd)
- Lecture 11 10 (09/29/2015): Enhancing Enhancing Fine-Grained Parallelism (Chapter 5, contd), Coarse-Grained Parallelism (Chapter 6)
- NO CLASS (10/01/2015): Self-study, work Work on class projectNO CLASS
- Lecture 11 (10/06/2015): Rescheduled to 10/09/2015 below
- Lecture 12 (10/08/2015): Enhancing Fine-Grained Parallelism (Chapter 5, contd), Coarse-Grained Parallelism (Chapter 6)
- 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): ** Lecture 13 (10/09/2015, 4pm, DH 3076): Coarse-Grained Parallelism (Chapter 6, contd), Midterm Review, Take-home Exam 1 assigned, due by 10/1522/2015
- NO CLASS Lecture 13 (10/1320/2015): MIDTERM RECESSLecture 14 Control Dependence (Chapter 7)
- NO CLASS (10/1522/2015): Work on class project, Exam 1 due
- Lecture 14 Coarse-Grained Parallelism (Chapter 6, contd)Lecture 15 (10/2027/2015): Control Dependence (Chapter 7 Pipeline Parallelism, OpenMP 4.1 Doacross construct (guest lecture by Dr. Jun Shirako, Rice University)
- Lecture 16 15 (10/2229/2015): Lecture 17 (10/27/2015): Compiler Control Dependence (Chapter 7, contd), Homework 4 assigned, due by 11/05/2015Compiler Improvement of Register Usage (Chapter 8)
- Lecture 18 16 (1011/2903/2015): Compiler Compiler Improvement of Register Usage (Chapter 8, contd), Homework 4 assigned, due by 11/24/2015
- Lecture 19 17 (11/0305/2015): Managing Managing Cache (Chapter 9)
- Lecture 20 18 (11/0510/2015): Managing Managing Cache (Chapter 9, contd), Homework 5 assigned, due by 11/12/2015ASTI Optimizer
- Lecture 21 19 (11/1012/2015): Unimodular Polyhedral Transformations
- Lecture 22 (11/12/2015): Interprocedural Analysis and Optimization (Chapter 11), Homework 6 assigned, due by 11/24/2015
- (guest lecture by Prof. Uday Reddy, Indian Institute of Science)
- NO CLASS Lecture 23 (11/17/2015): Compiling Array Assignments (Chapter 13) Self-study, work on project
- NO CLASS (11/19/2015): Self-study, work on project
- Lecture 24 20 (11/24/2015): End-Semester Summary (Chapters 7, 8, 9, 11, 13) Transformation Framework Case Studies
- NO CLASS (11/26/2015): THANKSGIVING
- Lecture 25 21 (12/01/2015): Student project presentations Compiling Array Assignments (Chapter 13)
- Lecture 26 22 (12/03/2015): Student project presentations 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: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.
...
Grading will be based on your performance on six four homeworks (weighted 30% in all), one class project to be done in pairs (weighted 30%), and two exams (weighted 20% each). Each project team will be expected to give a onean in-hour class presentation on their project at the end of the semester (Dec 1 or Dec 3), and to submit a report by December 11, 2015.
...