COMP 515: Advanced Compilation for Vector and Parallel Processors


The course web page for COMP 515 (Fall 2011) has moved here


Fall 2011 schedule

  1. Tuesdays & Thursdays, 10:50am - 12:05pm, Keck 107

  2. Office hours by appointment


Instructor: Vivek Sarkar           


Assistant: Amanda Nokleby, DH 3137, akn3@rice.edu, 713-348-2031


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? 


This question has taken on new importance with the ubiquity of multicore processors, and the increased interest in heterogeneous accelerators such as GPGPU’s and the Cell Broadband Engine.  To answer this question, this course will cover the foundations of  advanced compilation techniques for vector and parallel computer systems, including the analysis of program dependence, program transformations to enhance parallelism, compiler management of the memory hierarchy, and inter-procedural data flow analysis.  At the conclusion of the course, the students should be knowledgeable about the strengths and limitations of state-of-the-art compilers, both from the viewpoint of the compiler user as well as of the compiler designer.  The techniques taught in the course should be relevant to anyone interested in enabling software to execute efficiently on vector and parallel computers, whether by hand or through the use of compilers.


Recommended Prerequisite: COMP 412 or equivalent