COMP 515: Advanced Compilation for Vector and Parallel Processors

Spring 2009 schedule:

  1. Tuesdays & Thursdays, 1:00pm - 2:20pm, Mech Lab 251

  2. Office hours by appointment

Instructor: Vivek Sarkar            Assistant: Bob Garcia, DH 3137, x4476,

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.