COMP 515: Advanced Compilation for Vector and Parallel Processors (Fall
...
2015)
Instructor: | Prof. K.V. Palem, DH 3096; Prof. Vivek Sarkar, DH 3131 Vivek Sarkar, vsarkar@rice.edu, DH 3080 (office hours by appointment) |
---|---|
Assistant Instructor: | Dr. Jun Shirako, shirako@rice.edu, DH 3098 |
Administrative Assistant: | Annepha Hurlock, annepha@riceSherry Nassar, sherry.nassar@rice.edu, DH 31403080, 713-348-20315186 |
Lectures: | MLC 103 (Martel College classroom) Keck 107, TTh 1009:50am25am - 1210:05pm40am |
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?
...
Required Prerequisite: COMP 412 or equivalent
Lectures
NOTE: links Lectures marked ** are at non-standard times and locations. Also, topics for future lectures will may be updated during the semester as the course progresses.
- Lecture 1 (08/27/2013, Profs. Palem & Sarkar25/2015): Compiler Challenges for High Performance Architectures (Chapter 1)
- NO CLASS (08/27/2015): Rescheduled to 08/28/2015 below
- ** Lecture 2 (08/2928/2013, Prof. Palem2015, 4pm, DH 3076): Dependence: Theory and Practice (Chapter 2), Homework 1 assigned, due by 09/0508/20132015
- Lecture 3 (09/03/2013, Prof. Palem01/2015): Dependence: Theory and Practice (Chapter 2, contd)
- Lecture 4 (09/05/2013, Prof. Palem03/2015): Dependence Testing (Chapter 3), Homework 1 due
- Lecture 5 (09/10/2013, Prof. Sarkar08/2015): Dependence Testing (Chapter 3, contd) Lecture 6 (09/12/2013, Prof. Sarkar): Dependence Testing (Chapter 3, contd), Homework , Homework 2 assigned, due by 09/2422/20132015
- Lecture 7 NO CLASS (09/17/2013, self study): Prepare project proposalLecture 8 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 19/2013, self study): Prepare project proposalLecture 9 (09/24/2013, Prof. Sarkar): Preliminary Transformations (Chapter 4, contd), Vectorization Algorithm (Chapter 2)
- Lecture 10 8 (09/26/2013, Prof. Sarkar22/2015): Vectorization Algorithm & Enhancing Fine-Grained Parallelism Vectorization Algorithm (Chapter 2, contd), Enhancing Fine-Grained Parallelism (Chapter 5), Homework 3 assigned, due by 10/08/2015
- Lecture 11 9 (1009/01/2013, Prof. Sarkar24/2015): Enhancing Enhancing Fine-Grained Parallelism (Chapter 5, contd)
- Lecture 12 10 (1009/03/2013, Prof. Sarkar29/2015): Enhancing Enhancing Fine-Grained Parallelism (Chapter 5, contd)Lecture 13 , Coarse-Grained Parallelism (Chapter 6)
- NO CLASS (10/08/2013, Prof. Sarkar): Unimodular Transformations Lecture 14 01/2015): Work on class project
- Lecture 11 (10/10/2013, Prof. Sarkar): Midterm Review, Exam 1 assigned, due by 10/17/2013
- Lecture 15 (10/17/2013, Prof. Sarkar): Polyhedral Compilation Framework, Exam 1 due
- Lecture 16 (10/22/2013, Prof. Palem): Coarse-Grained Parallelism (Chapter 6)
- Lecture 17 (10/24/2013, Prof. Palem): Coarse-Grained Parallelism (Chapter 6, contd)
- 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): Lecture 18 (10/29/2013, Prof. Palem): Coarse-Grained Parallelism (Chapter 6, contd), Control Dependence (Chapter 7)Lecture 19
- 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 31/2013, Prof. Palem): Control Dependence (Chapter 7, contd)Lecture 20 (11/05/2013, Prof. Palem): Control Dependence (Chapter 7, contd), Compiler Improvement of Register Usage (Chapter 8)
- Lecture 21 16 (11/07/2013, Prof. Palem03/2015): Compiler Compiler Improvement of Register Usage (Chapter 8, contd), Homework 4 assigned, due by 11/24/2015
- Lecture 22 17 (11/12/2013, Prof. Palem): Compiler Improvement of Register Usage (Chapter 8, contd), 05/2015): Managing Cache (Chapter 9)
- Lecture 23 18 (11/14/2013, Prof. Palem10/2015): Managing Managing Cache (Chapter 9, contd), ASTI Optimizer
- Lecture 24 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): 19/2013, Prof. Palem): Interprocedural Analysis and Optimization (Chapter 11)Lecture 25 (11/21/2013, Prof. Palem): Compiling Array Assignments (Chapter 13)
- Lecture 26 22 (1112/26/2013, Prof. Sarkar03/2015): EndEnd-Semester Summary (Chapters 7, 8, 9, 11, 13), Take-home Exam 2 assigned, due by 12/0911/20132015
- Lecture 27 23 (12/0308/20132015): Student project presentations Lecture 28 (12/05/2013): 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 25% 30% in all), one class project to be done in pairs (weighted 35%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 3 or Dec 5), and to submit a report by December 1311, 20132015.
The purpose of the homeworks is to train you to solve problems and to help deepen your understanding of concepts introduced in class. Homeworks are due on the dates and times specified in the course schedule. Homework is worth full credit when turned in on time. A 10% penalty per day will be levied on late homeworks, up to a maximum of 6 days. No submissions will be accepted more than 6 days after the due date. If you believe we have made an error in grading your homework or exam, please bring the matter to our attention within one week after you receive the graded material.
...